Foros del Web » Programando para Internet » PHP »

Registrar sesión en PHP

Estas en el tema de Registrar sesión en PHP en el foro de PHP en Foros del Web. Vale la cuestion es que usaba este codigo: Código: <?php require("conexion.php"); session_start(); if (isset($_POST["Usuario"] ) ) { $User = $_POST["Usuario"]; $Contra = $_POST["Password"]; $Comprovar_user = ...
  #1 (permalink)  
Antiguo 12/07/2012, 17:03
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Registrar sesión en PHP

Vale la cuestion es que usaba este codigo:

Código:
<?php
require("conexion.php");
session_start();
if (isset($_POST["Usuario"] ) ) {
$User = $_POST["Usuario"];
$Contra = $_POST["Password"];
$Comprovar_user = mysql_query("SELECT Usuario FROM usuarios WHERE usuarios.Usuario='$User'");
if(mysql_num_rows($Comprovar_user)!=0){  
$array = mysql_fetch_array($Comprovar_user);
if($array["Contrasena"] = $Contra){  
$_SESSION["Usuario"] = $_POST["Usuario"];  
$_SESSION["Contra"] = $_POST["Password"];
$_SESSION["Mail"] = $array["Mail"];
$_SESSION["Dinero"] = $array["Dinero"];
session_register($_SESSION);
}
}
}
?>
Pero session_register($_SESSION); esta obsoleto, como se hace ahora? y sabéis que hago mal para que me diga que Undefined index: Mail y Undefined index: Dinero en las lineas antepenúltima y penúltima. Como hago para que me cargue esos valores desde la base de datos? gracias desde ya ^^
  #2 (permalink)  
Antiguo 12/07/2012, 17:14
Avatar de poncharelo_69  
Fecha de Ingreso: octubre-2011
Ubicación: Queretaro
Mensajes: 86
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: Registrar sesión en PHP

como tu lo dices session_register ya no funciona, solamente utiliza $_SESSION['user']
  #3 (permalink)  
Antiguo 12/07/2012, 17:15
Avatar de topo_bionico  
Fecha de Ingreso: junio-2012
Mensajes: 89
Antigüedad: 11 años, 10 meses
Puntos: 20
Respuesta: Registrar sesión en PHP

Código PHP:
Ver original
  1. Undefined index: Mail y Undefined index: Dinero
Te dice que no existe un indice con ese nombre

De la base de datos estas trayendo solamente el campo "Usuario"
Código SQL:
Ver original
  1. SELECT Usuario FROM usuarios WHERE usuarios.Usuario='$User'

Por lo tanto la variable $array solamente tiene una indice "Usuario" ($array['Usuario'])

Para que funcione tenes que traer Usuario, Mail y Dinero
Código SQL:
Ver original
  1. SELECT Usuario, Mail, Dinero FROM usuarios WHERE usuarios.Usuario='$User'
  #4 (permalink)  
Antiguo 12/07/2012, 19:06
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Registrar sesión en PHP

Vale agrege esos dos fixes, pero luego para comprovar si todo funciona tengo un codigo simple que dice:

Código:
<?php
if (isset($_SESSION["Usuario"]) ) {
	echo("Inicio correcto.");
} else {
echo("<form action='comprobar.php' method='post'>
Usuario:<br />
<input type='text' name='Usuario' size='20' maxlength='20' />
<br />
Password:<br />
<input type='password' name='Password' size='20' maxlength='20' />
<br />
<input type='submit' value='Ingresar' />
</form>
</center>");
}
?>
Y según este código la variable $_SESSION["Usuario"] no debe estar "puesta" porque jamas me envía a echo("Inicio correcto.");. Alguna idea?

SOLUCIONADO PARA LLAMAR A LAS VARIABLES SESSION HAY QUE INCLUIR EL session_start(); PODÉIS CERRAR EL POST ;)

P.D: Escribo en mayúsculas para que se vea bien.

Última edición por Sicosis; 12/07/2012 a las 19:38

Etiquetas: mysql, sesión, sql, 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 23:16.