Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: Runex en 4 Mayo 2012, 13:34 PM

Título: Problema panel de logueo
Publicado por: Runex en 4 Mayo 2012, 13:34 PM
Buenas compañeros, me ha surgido otro error, el caso, es que quiero realizar un panel de logueo y si el usuario existe crear una cookie con sus datos, de lo contrario que salte un script diciendo que no existe el usuario.

He hecho esto:
Código (php) [Seleccionar]
<?php
$usuario $_POST["user"];
$pasword $_POST["pass"];
$consultados 0;
$conect mysql_connect("***","***","***") or die("Problemas en la db");
mysql_select_db("****") or die("Problemas en a tabla");
$consulta mysql_query("select nombre,password from usuarios where nombre='$usuario' and password='$password'") or die("Problemas en la consulta");
while($reg mysql_fetch_array($consulta))
{
$consultados $consultados 1;
if($reg['nombre']=$usuario and $reg['password']=$password)
{
setcookie("Usuario",$usuario);
}
else 
{
?>

<script type="text/javascript" >
alert("No existe el usuario");
</script>
<?php
}
}

?>


Sin embargo no me reconoce nada, ni llega a saltar script, ni crea la cookie.
Encontráis algún error lógico? :S

Gracias :)
Título: Re: Problema panel de logueo
Publicado por: 0x5d en 4 Mayo 2012, 17:28 PM
Pues el error más lógico que veo es en los condicionales...
Código (php) [Seleccionar]

$reg['nombre']=$usuario and $reg['password']=$password

Es con doble "==" ... al menos cuando programo en PHP lo hago así :O

Saludos, Javier
Título: Re: Problema panel de logueo
Publicado por: Runex en 4 Mayo 2012, 17:38 PM
Cita de: 0x5d en  4 Mayo 2012, 17:28 PM
Pues el error más lógico que veo es en los condicionales...
Código (php) [Seleccionar]

$reg['nombre']=$usuario and $reg['password']=$password

Es con doble "==" ... al menos cuando programo en PHP lo hago así :O

Saludos, Javier

Nah, también lo probé, de hecho lo tenia puesto con doble y al ver que no me funcionaba los cambie a simples, pero nada tampoco..

EDIT:
Código (php) [Seleccionar]
<?php
$usuario $_POST["user"];
$pasword $_POST["pass"];
$consultados 0;
$conect mysql_connect("**","***","**") or die("Problemas en la db");
mysql_select_db("**") or die("Problemas en a tabla");
$consulta mysql_query("select nombre,password from usuarios where nombre='$usuario'") or die("Problemas en la consulta");
while($reg mysql_fetch_array($consulta))
{

if($reg['nombre']==$usuario and $reg['password']==$password)
{
?>

<script type="text/javascript">
alert("No existe el usuario");
</script>
<?php
}
else 
{
setcookie("Usuario",$usuario);
}
}


?>


Quitando una parte de la consulta, y cambiando lo que estaba en el if por lo que estaba en el else, consigue crear la cookie, pero en caso de que no exista el usuario, no salta ningún script...
Un saludo
Título: Re: Problema panel de logueo
Publicado por: 0x5d en 4 Mayo 2012, 18:20 PM
Ahora que miro bien, "and" debes cambiarlo po &&
Título: Re: Problema panel de logueo
Publicado por: Runex en 4 Mayo 2012, 18:51 PM
Cita de: 0x5d en  4 Mayo 2012, 18:20 PM
Ahora que miro bien, "and" debes cambiarlo po &&

Nah ese no es el problema, ya lo he solucionado, && hace la misma funcion que and y || que or,
el problema estaba en el nombre de la variable. La había definido como $pasword, cuando la comparación y la consulta la realizaba con $password.

Un saludo y gracias 0x5d  ;-)
Título: Re: Problema panel de logueo
Publicado por: p1r4t0s en 10 Mayo 2012, 22:15 PM
jajaja eso me ha pasado un par de veces.