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.