Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/10/2013, 13:32
Avatar de osaka80
osaka80
 
Fecha de Ingreso: mayo-2012
Mensajes: 65
Antigüedad: 12 años
Puntos: 0
Uso de Constantes

Hola a todos, estoy utilizando constantes para restringir acceso de ciertas páginas, por ejem:

lista_usuarios.php
Código:
<?php
  define("_INDEXOK_", true); 
  header("Content-Type: text/html;charset=utf-8");
?>
<!DOCTYPE html>
<html >
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <meta name="author" content="Joseph" />
  <title>PANEL</title>
    
</head>
<body>       
<?php
     include("base/tabla_usuario.php");
?>
</body>
</html>
tabla_usuario.php
Código:
<?php
//include("conexion.php");
if(!defined('_INDEXOK_')) { 
//Si no se ha definido la constante _INDEXOK_ 
//quiere decir que no se ha llamado a este archivo desde el index.php 
die("no se puede acceder a este file directamente..."); 
} 
include("conexion/conexion.php");

//AQUI VA MI CONSULTA Y DEMAS ROLLO
Bueno el caso es que haciendo uso de Constantes evito que por medio de url no puedan accedar a http://miweb.com/base/tabla_usuario.php.

Hasta ahi todo muy bien, esto es lo que seria un ejemplo básico


Ahora vamos al proyecto que estoy realizando

1. registro-usuario.php (aqui esta incluido un archivo JQuery para validar los diversos campos y activar ciertos campos ->"js/valida_reg.js")

Código:
<?php
//header("Content-Type: text/html;charset=utf-8");
//Acá defines la constante 
define("_INDEXOK_", true); 

  include('conexion/conexion.php');
  // construimos el combo de paises desde la base de datos
  $combo_paises="";
  $combo_carreras="";
  $combo_categoria="";
  $sql1 = "SELECT * FROM lista_country";
  if ($res1 = mysqli_query($con, $sql1)){
     //obtener el array asociativo 
      while($sql_p = mysqli_fetch_row($res1))
      {
       $combo_paises.= "<option value='".$sql_p[0]."'>".utf8_encode($sql_p[1])."</option>";
      }
       //liberar el conjunto de resultados 
       mysqli_free_result($res1);
  }

 
?>
<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Proyecto Web</title>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="chrome=1,IE=9" />
		<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<meta http-equiv="X-UA-Compatible" content="IE=edge"/> 
    <meta name="author" content="AC" /> 
    <link href='images/logo.ico' rel='icon' type='image/x-icon'/>
		<link rel="stylesheet" href="css/reset.css" type="text/css" media="screen">
		<link rel="stylesheet" href="css/style.css" type="text/css" media="screen">
		<link rel="stylesheet" href="css/grid.css" type="text/css" media="screen">
		<link rel="stylesheet" href="css/smart_wizard.css" type="text/css">
    <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="js/jquery.smartWizard-2.0.min.js"></script>    
    <script type="text/javascript" src="js/valida_reg.js"></script>



		
	</head>
	<body >
     
      //	AQUI TENGO MI FORMULARIO

	</body>
</html>
2.- Parte del Codigo que utilizo para Cargar los select, como se observa llamo a mi archivo php, para cargar las ciudades ("valida_reg.js")
Código:
$(document).ready(function(){
     
            // Smart Wizard         
            $('#wizard').smartWizard({
              transitionEffect:'slideleft',
              onLeaveStep:leaveAStepCallback,
              onFinish:onFinishCallback,
              enableFinishButton:true});


          function leaveAStepCallback(obj){
            var step_num= obj.attr('rel');
            return validateSteps(step_num);
          }
          
          function onFinishCallback(){
           if(validateAllSteps()){
            $('form').submit();
           }
          }
 
          //Seleccionar Pais y cargar Ciudades
          $("#fpais").change(function (event) {
              var id= $("#fpais").find(':selected').val();
              $("#fciudad").load('base/combo_ciudad.php?id='+id);
              $("#fciudad").removeAttr("disabled");
              $("#fciudad").focus();
            });  
          
     });
3.- Mi archivo base/combo_ciudad.php, y como se observa llamo a la constante definida en registro-usuario.php, pero no se porque diablos cuando llega a este archivo "combo_ciudad.php" no me carga en el select correspondiente

Código:
<?php  
if(!defined('_INDEXOK_')) { 
//Si no se ha definido la constante _INDEXOK_ 
//quiere decir que no se ha llamado a este archivo desde el index.php 
die("no se puede acceder a este file directamente..."); 
} 
?>
<?php
include('conexion/conexion.php');
$salida="";
$id_pais=$_GET["id"];
// construimos el combo de ciudades deacuerdo al pais seleccionado
$combog = "SELECT * FROM lista_city WHERE relacion=$id_pais";

//CONSULTA QUE ME DEVUELVE SEGUN EL ID SELECCIONADO
?>
Es algo asi como si se perdiera el valor de la Constante y no llega a combo_ciudad.php, algún tipo de ayuda, espero haberme explicado muy bien y me echen un cable.