Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/03/2006, 13:17
Avatar de jahepi
jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Cita:
Iniciado por juanPepe
Hola soy nuevo en este mundillo del php y queria a ver si me podiais ayudar con las sesiones q me traen de cabeza

Yo tengo un index y aparte una pagina php donde controlo las sesiones esta la incluyo en el index pero siempre q me valido como usuario me entra como invitado porque? el codigo es el siguiente

include("../seguridad/datos.inc");
$_SESSION["usuario"]="Invitado";
if(isset($_POST["usuario"]) && isset($_POST['password'])){
$rs=mysql_query("SELECT js_nick,js_pass FROM js_ureg WHERE js_nick='".$_POST['usuario']."' and js_pass='".$_POST['password']."'");
if (mysql_num_rows($rs)>0){
session_start();
$_SESSION["user"]=$_POST["usuario"];
?>
<script type="text/javascript" language="javascript">
alert("Bienvenido");
window.location='index.php?<? echo session_name()."=".session_id() ?>';
</script>
<?
}else {
?>
<script type="text/javascript" language="javascript">
alert("Usted no esta validado");
window.location='index.php?valor=6?errorusuario=si ';
</script>
<?
}
}
mysql_close($c);
?>

Hola juanPepe!

En tu código estas definiendo una variable de sesión sin antes haber empezado la sesión:

Código:
include("../seguridad/datos.inc");
$_SESSION["usuario"]="Invitado";
if(isset($_POST["usuario"]) && isset($_POST['password'])){
	$rs=mysql_query("SELECT js_nick,js_pass FROM js_ureg WHERE js_nick='".$_POST['usuario']."' and 	js_pass='".$_POST['password']."'");
	if (mysql_num_rows($rs)>0){
		session_start();
		$_SESSION["user"]=$_POST["usuario"];
Correcto:

Código:
session_start();
include("../seguridad/datos.inc");
$_SESSION["usuario"]="Invitado";
if(isset($_POST["usuario"]) && isset($_POST['password'])){
	$rs=mysql_query("SELECT js_nick,js_pass FROM js_ureg WHERE js_nick='".$_POST['usuario']."' and 	js_pass='".$_POST['password']."'");
	if (mysql_num_rows($rs)>0){
		$_SESSION["user"]=$_POST["usuario"];
No sé si sea el problema, pero la variable $_SESSION["usuario"] no tiene que tomar el valor del usuario si este existe en la base de datos?, porque tienes 2 variables de sesión $_SESSION["usuario"] y $_SESSION["user"].

Código:
session_start();
include("../seguridad/datos.inc");
$_SESSION["usuario"]="Invitado";
if(isset($_POST["usuario"]) && isset($_POST['password'])){
	$rs=mysql_query("SELECT js_nick,js_pass FROM js_ureg WHERE js_nick='".$_POST['usuario']."' and 	js_pass='".$_POST['password']."'");
	if (mysql_num_rows($rs)>0){
		$_SESSION["usuario"]=$_POST["usuario"];
Un saludo!