Foros del Web » Programando para Internet » PHP »

lectura de registro

Estas en el tema de lectura de registro en el foro de PHP en Foros del Web. Me pasa algo que no entiendo. Paso el id de un usuario logado de un php a otro php que leerá en bbdd y no ...
  #1 (permalink)  
Antiguo 24/05/2012, 04:45
Avatar de interjsr  
Fecha de Ingreso: octubre-2011
Ubicación: Madrid
Mensajes: 81
Antigüedad: 12 años, 6 meses
Puntos: 2
lectura de registro

Me pasa algo que no entiendo. Paso el id de un usuario logado de un php a otro php que leerá en bbdd y no lo encuentra.
--------------------
Fich1.php
--------------------
<html>
<head>
<title>Cuenta Usuario</title>
</head>
<body>
<form method='get' action='fich2.php?'>
<?php
session_start();
$Id_Usu = $_SESSION['id_usu'];
$Usu = $_SESSION['usuario'];
?>
<input type = 'hidden' name = 'Id' value = '$Id_Usu'/>
<input type = 'hidden' name = 'Ruta' value = 'fich1.php'/>
<BUTTON NAME = 'CERRAR' TYPE = 'SUBMIT'>
<B> <FONT SIZE = '2'> Modificar </FONT> </B>
</BUTTON>
</form>
</body>
</html>

--------------------
Fich1.php
--------------------
<?php
import_request_variables("pg","f_");

$f_Ruta = trim($_GET['Ruta']);
$Id = trim($_GET['Id']);
//selecciono servidor
$conn = mysql_connect("localhost","root","vertrigo");
//selecciono la BBDD
mysql_select_db("BBDD",$conn);
$sql = "SELECT * FROM usuarios WHERE Id_Usuario='$Id'";
//Ejecuto la sentencia
$rs = mysql_query($sql,$conn);
If($row = mysql_fetch_row($rs))
{
//sentencias, pero no entra
}
else{
//no existe, y entra aquí
}

No debería entrar en el else porque el id viene de la session y quiere decir, crerme, que es el id de un usuario validado que existe en bbdd. No entiendo donde pierdo el id.

Es más en el fich1.php ya he pintado id y si es un id correcto
  #2 (permalink)  
Antiguo 24/05/2012, 05:09
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: lectura de registro

Intenta que el siguiente código este al inicio de tu fichero en todos los que desees usar sesiones.

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

//resto de código
Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #3 (permalink)  
Antiguo 24/05/2012, 06:01
Avatar de interjsr  
Fecha de Ingreso: octubre-2011
Ubicación: Madrid
Mensajes: 81
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: lectura de registro

Gracias por tu respuesta miktrv, pero ese no es mi problema.

Ya he puesto session_star al principio y nada.
------------------
Fich1.php
-----------------
<?php
Session_start();
?>
<html>
<head>
<title>Cuenta Usuario</title>
</head>
<body>
<table>
<tr>
<td>
Usuario:
</td>
<td>
<?php
$Id_Usu = $_SESSION['id_usu']; //////// El id aquí es 1
$Usu = $_SESSION['usuario'];
echo "<input type = 'text' name = 'Usuario' size ='12' value = '$Usu'>";
?>
</td>
</tr>
</table>
<input type = 'hidden' name = 'Ruta' value = 'cuenta.php'/>
<input type = 'hidden' name = 'Id' value = '$Id_Usu'/> /////////////Id será 1, digo
<input type = 'hidden' name = 'Usu' value = '$Usu'/>
<br/>
<br/>

<BUTTON NAME = 'CERRAR' TYPE = 'SUBMIT'>
<B> <FONT SIZE = '2'> Modificar </FONT> </B>
</BUTTON>

---------------
Fich2.php
--------------
<?php
session_start();
?>
<?php
import_request_variables("pg","f_");
$f_Ruta = trim($_GET['Ruta']);
$Id = trim($_GET['Id']); ///////$Id cogera 1, ¿noooooo?
$Usuario = trim($_GET['Usu']);
//selecciono servidor
$conn = mysql_connect("localhost","root","vertrigo");
//selecciono la BBDD
mysql_select_db("BBDD",$conn);


$sql = "SELECT * FROM usuarios WHERE Id_Usuario='$Id'"; cuando Id_Usuario = 1, ese usuario existe os lo prometo, además se ha logado y se ha validado por eso ha llegado hasta aquí.


//Ejecuto la sentencia
$rs = mysql_query($sql,$conn);
if($row = mysql_fetch_row($rs))
{
//sentencias para el usuario logado porque existe en bbdd
}

else{
//si el usuario logado no se encuentra en bbdd. No puede ser porque si has pulsado botón es que existes, pero entra en else. ¿Por qué?
}

Etiquetas: html, lectura, mysql, registro, sql, variables, usuarios
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:58.