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:
<?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 :)
Pues el error más lógico que veo es en los condicionales...
$reg['nombre']=$usuario and $reg['password']=$password
Es con doble "==" ... al menos cuando programo en PHP lo hago así :O
Saludos, Javier
Cita de: 0x5d en 4 Mayo 2012, 17:28 PM
Pues el error más lógico que veo es en los condicionales...
$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:
<?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
Ahora que miro bien, "and" debes cambiarlo po &&
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 ;-)
jajaja eso me ha pasado un par de veces.