Foros del Web » Programando para Internet » PHP »

No reproduce la variable de la sesion

Estas en el tema de No reproduce la variable de la sesion en el foro de PHP en Foros del Web. Hola a todos, y lo primero gracias por ayudarma o por intentarlo, mi problema es que creo una sesion session_register(mynombre) y despues al utilizar de ...
  #1 (permalink)  
Antiguo 14/07/2009, 09:04
 
Fecha de Ingreso: marzo-2009
Mensajes: 29
Antigüedad: 15 años, 1 mes
Puntos: 0
No reproduce la variable de la sesion

Hola a todos, y lo primero gracias por ayudarma o por intentarlo, mi problema es que creo una sesion session_register(mynombre) y despues al utilizar de nuevo la variable $mynombre no la reproduce. Pogo los .php

checklogin.php (este funciona bn, registra la sesion bien)
Código PHP:
<?php
include("../conec.php");
$link=Conectarse();

$nombre=$_POST['nombre'];
$password=$_POST['password'];


$mynombre stripslashes($nombre);
$mypassword stripslashes($password);
$mynombre mysql_real_escape_string($nombre);
$mypassword mysql_real_escape_string($password);

$sql="SELECT * FROM db_usuarios WHERE nombre='$mynombre' and password='$mypassword'";
$result=mysql_query($sql,$link);


$count=mysql_num_rows($result);


if(
$count==1){


session_register(mynombre);
session_register(mypassword);
header("Location: ../../index.php");
}
else {
echo 
"NO PUEDE SER";
}
?>
login.php
Código PHP:
<?php
include("PHP/con2.php");
session_start();
if (!
session_is_registered(mynombre)) {
?>
<form name="form1" method="post" action="PHP/RLL/checklogin.php">
  <p>
    <label>
      <input name="nombre" type="text" id="nombre" value="Usuario" class="buscar001">
    </label>
    <br>
    <label>
      <input name="password" type="password" id="password" value="**********" class="buscar001">
    </label>
    <br>
    <br>
    <label>
      <input type="submit" name="Enviar" id="enviar" value="Enviar" class="boton001">
    </label>
  </p>
</form>
<?
}else{
?>
NOMBRE: 
<?
include("PHP/con2.php");
$login=mysql_query("select * from db_usuarios where nombre='$mynombre'");
$row=mysql_fetch_array($login);
printf("%s",$row['nombre']) ; //AQUI ES DONDE FALLA, NO SALE EL NOMBRE DEL 
//DEL REGISTRADO
?>
<br />
<a href="PHP/RLL/upload.php" style="color:#000;text-decoration:none">UPLOAD</a>
<br />
<br />
<a href="PHP/RLL/logout.php" style="color:#000;text-decoration:none">LogOut</a>
<?
}
?>
  #2 (permalink)  
Antiguo 14/07/2009, 09:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No reproduce la variable de la sesion

mmm... no es aconsejable usar esa forma...

además, estas tratando las cadenas como constantes.... y no lo son verdad??

algo así debe ser lo ideal:
Código PHP:
<?php
session_start
();

// ...

$_SESSION['mynombre'] = 'candy';
$_SESSION['mypassword'] = 'bar';
y los lees igual...

Código PHP:
<?php
session_start
();

// ...

echo $_SESSION['mynombre']; // etc, etc...

por cierto, en este trozo de codigo no lo estas haciendo bien...
Código PHP:
$mynombre stripslashes($nombre);
$mypassword stripslashes($password);
$mynombre mysql_real_escape_string($nombre); // no debe ser $mynombre ¿??
$mypassword mysql_real_escape_string($password);// y $mypassword ??!!! 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 14/07/2009, 09:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 29
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: No reproduce la variable de la sesion

Ahora no me reconoce en el login.php la variable $_SESSION['u_nombre']

te pongo los codigos editados:

login.php
Código PHP:
<?php
include("PHP/con2.php");
session_start();
if (!isset(
$_SESSION['u_nombre'])) {//ME FALLA AHORA AQUI
?>
<form name="form1" method="post" action="PHP/RLL/checklogin.php">
  <p>
    <label>
      <input name="nombre" type="text" id="nombre" value="Usuario" class="buscar001">
    </label>
    <br>
    <label>
      <input name="password" type="password" id="password" value="**********" class="buscar001">
    </label>
    <br>
    <br>
    <label>
      <input type="submit" name="Enviar" id="enviar" value="Enviar" class="boton001">
    </label>
  </p>
</form>
<?
}else{
?>
NOMBRE: 
<?
echo $_SESSION['u_nombre'];
?>
<br />
<a href="PHP/RLL/upload.php" style="color:#000;text-decoration:none">UPLOAD</a>
<br />
<br />
<a href="PHP/RLL/logout.php" style="color:#000;text-decoration:none">LogOut</a>
<?
}
?>
checklogin.php
Código PHP:
<?php
include("../conec.php");
$link=Conectarse();

$nombre=$_POST['nombre'];
$password=$_POST['password'];


$mynombre stripslashes($nombre);
$mypassword stripslashes($password);
$mynombre mysql_real_escape_string($mynombre);
$mypassword mysql_real_escape_string($mypassword);

$sql="SELECT * FROM db_usuarios WHERE nombre='$mynombre' and password='$mypassword'";
$result=mysql_query($sql,$link);


$count=mysql_num_rows($result);


if(
$count==1){

$_SESSION['u_nombre']=$mynombre;
$_SESSION['u_password']=$mypassword;
header("Location: ../../index.php");
}
else {
echo 
"NO PUEDE SER";
}
?>
  #4 (permalink)  
Antiguo 14/07/2009, 09:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: No reproduce la variable de la sesion

Te falta el session_start() en check_login.php

Saludos.
  #5 (permalink)  
Antiguo 14/07/2009, 09:44
 
Fecha de Ingreso: marzo-2009
Mensajes: 29
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: No reproduce la variable de la sesion

Muchisimas gracias a los dos por ayudarme y por solucionar mis errores, ha funcionado a la perfeccion. Y repito muchisimas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:38.