D4rkDeViL
Usuario Novato
Usuario Novato

Tengo una web en php, pero al entrar en una de las paginas me sale lo siguiente:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webcindario/d4rkp0rtal/users/autentificar.php on line 11
Nick y pass incorrectos

Lo de Nick y Pass incorrectos esta bien, pero el mensage anterior no kiero ke salga. Lo primero me gustaria saber si el mensage es un error de la pagina (fallo mio) o una advertencia q ace MySQL.

Por cierto, dentro de mi configuracion tengo descativada la opcion de mostrar errores de php, pero aun asi me sigue saliendo.

Alguien me puede ayudar???

Un saludo

Avatar Image
Machacateclados
Machacateclados

Puede deberse a que algún dato que pide la consulta mysql_query() no exista y por eso te da ese error, si el código no es muy largo ponlo aquí y te ayudo a corregir el error, también dime cuantos campos hay en la tabla de los usuarios de la base de datos, para poder saber si realmente falta un campo en la base de datos o la consulta tiene un error.

Saludos !!!

D4rkDeViL
Usuario Novato
Usuario Novato

Cuando me da ese mensage es al intentar identificar un usuario que no esta registrado.

<?
include('config.php');

if( ($_POST[nick] == ' ') or ($_POST[pass] == ' ') )
{
Header("Location: login.php&quot;
}else{

$usuarios = mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' &quot;
if($user_ok = mysql_fetch_array($usuarios))
{

session_register("usuario&quot;
session_register("idusuario&quot;
session_register("level&quot;

$_SESSION[usuario] = $user_ok["nick"];
$_SESSION[idusuario] = $user_ok["id"];
$_SESSION[level] = $user_ok["level"];
Header("Location: login.php&quot;

}else{
echo 'Nick y pass incorrectos';
}

}
?>

la tabla tien estos valores:

id
nick
pass
email
fecha
level
rollo

La verdad soy algo nuevo en cuanto a php, ayudame pliZ

un saludo

Avatar Image
Machacateclados
Machacateclados

Ya encontré el error, cuando en la consulta se pide "seleccionar datos de users donde nick sea igual a $_POST[nick] y pass sea igual a $_POST[pass]" si los datos pedidos existen en la base de datos, la función mysql_fecth_array() devuelve resultados y se crea la sesión con los datos del nick, el número de registro y el nivel de usuario, pero al no encontrarse ninguna fila que corresponda al nick o al pass, se ignora y te manda al else donde dice "Nick y pass incorrectos" el problema es que MySQL toma esto como un error en la consulta debido a que los datos que se están pidiendo para verificar si el usuario y el pass están correctos, no existen, por eso hice una modificación del código y además le agregué 2 comprobaciones, una para ver si el usuario existe y otra para comprobar que la contraseña ingresada sea la correcta, aquí te pongo el código:

<?
include("config.php") ;
if($_POST[nick] == ' ' || $_POST[pass] == ' ') {
header("location: login.php") ;
}
else {
$consulta = mysql_query("select * from users where nick='$_POST[nick]'") ;
$datos = mysql_fetch_array($consulta) ;
if(mysql_num_rows($resp) != 0) {
if($datos[pass] == $_POST[pass]) {
session_register("usuario") ;
session_register("idusuario") ;
session_register("level") ;
$_SESSION[usuario] = $datos[nick] ;
$_SESSION[idusuario] = $datos[id] ;
$_SESSION[level] = $datos[level] ;
header("location: login.php") ;
}
else {
echo "La contraseña es incorrecta." ;
}
}
else {
echo "Este usuario no existe." ;
}
}
?>


Saludos !!!

D4rkDeViL
Usuario Novato
Usuario Novato

muxas gracias, pero me pasa lo mismo a la ora de registrar. me podias ayudar?

<?
include('config.php');
if(($_POST[nick] == ' ') or ($_POST[pass] == ' ') or ($_POST[pass1] == ' ') )
{
Header("Location: reg.php&quot;
}else{
if($_POST[pass] != $_POST[pass1])
{
echo 'Las passwords no son iguales';
}else{
$user = stripslashes($_POST["nick"]);
$user = strip_tags($user);
$pass = stripslashes($_POST["pass"]);
$pass = strip_tags($pass);
$usuarios=mysql_query("SELECT nick FROM users WHERE nick='$user' &quot;
if($user_ok=mysql_fetch_array($usuarios))
{
echo 'El usuario ya esta registrado';
mysql_free_result($usuarios); //liberamos la memoria del query a la db
}else{
$email = stripslashes($_POST["email"]);
$email = strip_tags($email);

$rollo = stripslashes($_POST["rollo"]);
$rollo = strip_tags($rollo);
$rollo = str_replace("\n\r","<br>",$rollo); //se cambian los saltos de linea por <br>
$rollo = str_replace("\r\n","<br>",$rollo);
$rollo = str_replace("\n","<br>",$rollo);

$fecha = time();
$level = "2";mysql_query("INSERT INTO users (nick,pass,email,fecha,level,rollo) values ('$user','$pass','$email','$fecha','$level','$rollo') &quot;
echo 'Usuario registrado con éxito';
}

}

}
?>

Avatar Image
Machacateclados
Machacateclados

Busca el siguiente código:

$usuarios=mysql_query("SELECT nick FROM users WHERE nick='$user' ");
if($user_ok=mysql_fetch_array($usuarios))
{


Y sustitúyelo por este:

$usuarios = mysql_query("select nick from users where nick='$user'") ;
$user_ok = mysql_fetch_array($usuarios) ;
if(mysql_num_rows($usuarios) != 0))
{


Saludos !!!

Avatar Image
@man / @woman
@man / @woman

El maestro..........EscRibe..............

minerva_86
Usuario Novato
Usuario Novato

Hola me gustaria que pusieran el codigo completo con la base de datos, ya que estoy elaborando un proyecto y este codigo seria una maravilla, aprovecho para felicitar este foro GRACIAS !!!!!.

Avatar Image
Moderador
Moderador
Escrito originalmente por minerva_86
Hola me gustaria que pusieran el codigo completo con la base de datos, ya que estoy elaborando un proyecto y este codigo seria una maravilla, aprovecho para felicitar este foro GRACIAS !!!!!.
Crea nuevo tema. Revives un tema demasiado viejo.-


El que vence a los demás es poderoso, el que se vence a sí mismo es invencible


Este tema fue cerrado y no se pueden escribir nuevas respuestas
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 09/Nov/2009, 13:39
Javier-ss NoSetup.org22kNov/09
Por: , el 20/Sep/2005, 02:31
humbertoblack04kSep/05
Por: , el 09/Nov/2004, 19:47
xand User 390661 ErSame Atomo6465kNov/04
Por: , el 13/Dic/2009, 22:31
mezmerize7 NoSetup.org23kDec/09
Por: , el 10/Ene/2009, 16:11
Silphor NoSetup.org GestionXls aerialss882612kJan/09