Foros del Web » Programando para Internet » PHP »

Problemilla con iniciar sesion

Estas en el tema de Problemilla con iniciar sesion en el foro de PHP en Foros del Web. Saludos a todos los usuarios de este foro que es de gran ayuda para todas las personas que desarrollan mi tengo un problema para iniciar ...

  #1 (permalink)  
Antiguo 08/06/2011, 09:26
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Problemilla con iniciar sesion

Saludos a todos los usuarios de este foro que es de gran ayuda para todas las personas que desarrollan mi tengo un problema para iniciar sesion y es la siguiente, tengo este codigo...
<?

require('conexion.php');

$consultaparainicio= "SELECT * FROM trabajador WHERE username_trabajador='$username' and contrasena_trabajador='$password'";

$resultado = mysql_query($consultaparainicio);
//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($resultado)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos

session_start();
session_register("autentificado");
$autentificado = "SI";

/*$consultadelacoordinacion="SELECT trabajador.id_coordinacion, trabajador.id_trabajador, trabajador.nombre_trabajador, trabajador.apellido_trabajador
FROM trabajador
WHERE trabajador.id_coordinacion = '1'";*/

header ("Location: principal.html");
}else {
//si no existe le mando otra vez a la portada
header("Location: X.php");
}
mysql_free_result($resultado);

?>

el problema es que en la parte "if (mysql_num_rows($resultado)!=0){" preguntando diferente a 0 me lleva a inicio.php pero si coloco diferente a 1 me lleva a principal, idealmente deberia llevarme a principal cuando esta diferente a 0 e igualmente cuando esta diferente a 1 pongo cualkier username y cualkier pass y entro a principal
  #2 (permalink)  
Antiguo 08/06/2011, 09:28
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Problemilla con iniciar sesion

mi consejo es que hagas un echo a la consulta y lo pruebes en phpmyadmin y veas lo que de verdad te devuelve
  #3 (permalink)  
Antiguo 08/06/2011, 09:32
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años
Puntos: 75
Respuesta: Problemilla con iniciar sesion

Yo estoy de acuerdo con iviamontes, si te está retornando un mysql_num_rows == 0 es porque la consulta no te está devolviendo nada, revisa la consulta y así te daras cuenta por qué no retorna ningún valor
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #4 (permalink)  
Antiguo 08/06/2011, 09:36
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Problemilla con iniciar sesion

gracias dude me habia dado cuenta que el select esta fail dejame arreglarlo a ver que tal
  #5 (permalink)  
Antiguo 08/06/2011, 09:40
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Problemilla con iniciar sesion

ok, buenisimo
  #6 (permalink)  
Antiguo 08/06/2011, 09:44
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Problemilla con iniciar sesion

bro ,no sigo en lo mismo modifique la consulta a la adecuada que es esta

$consultaparainicio= "SELECT username_trabajador,contrasena_trabajador FROM trabajador WHERE username_trabajador='$username' and contrasena_trabajador='$password'";

pero nada, me retorna al inicio.php y quiero entrar a principal
  #7 (permalink)  
Antiguo 08/06/2011, 09:46
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Problemilla con iniciar sesion

vamos x paso, debería ser unico el usuario, por tanto esa consulta solo te devuelve 1 si es ese usuario y contraseña...
  #8 (permalink)  
Antiguo 08/06/2011, 09:47
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años
Puntos: 75
Respuesta: Problemilla con iniciar sesion

Cita:
Iniciado por putapunker Ver Mensaje
bro ,no sigo en lo mismo modifique la consulta a la adecuada que es esta

$consultaparainicio= "SELECT username_trabajador,contrasena_trabajador FROM trabajador WHERE username_trabajador='$username' and contrasena_trabajador='$password'";

pero nada, me retorna al inicio.php y quiero entrar a principal
Ejecutaste la consulta directamente en el servidor de SQL??

Puede ser que estés trayendo los datos como no son o que los datos de la BD no coincidan con los que estás ingresando y por eso te retorne un valor vacio la consulta o que simplemente no se esté ejecutando el archivo conexión al que le estás haciendo el require
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175

Última edición por lobo_php; 08/06/2011 a las 09:49 Razón: cambio de letra
  #9 (permalink)  
Antiguo 08/06/2011, 09:51
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años
Puntos: 75
Respuesta: Problemilla con iniciar sesion

Ahora por lo que veo las variables están en un formulario en otro archivo, los estás tomando por POST o GET? y dónde los tomas?
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #10 (permalink)  
Antiguo 08/06/2011, 09:55
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Problemilla con iniciar sesion

donde recoges $username ???
  #11 (permalink)  
Antiguo 08/06/2011, 10:00
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años
Puntos: 75
Respuesta: Problemilla con iniciar sesion

Cita:
Iniciado por iviamontes Ver Mensaje
donde recoges $username ???
yo también pienso que la consulta te hace esto SELECT.... WHERE username_trabajador = '' AND '' contrasena_trabajador = ''

Obviamente eso te generará un error al ejecutarse la consulta, primero debes hacer

$username = $_POST['nombredelcampousername'];
$password = $_POST['nombredelcampopassword'];

y ahora sí! debería funcionar.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #12 (permalink)  
Antiguo 08/06/2011, 10:11
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Problemilla con iniciar sesion

el formulario donde pido el username y password estan en la pagina inicio.php y en autenticacion es donde esta el codigo que mostre en la pregunta
  #13 (permalink)  
Antiguo 08/06/2011, 10:17
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Problemilla con iniciar sesion

entonces lo que tienes que hacer es decirle al formulario de incio que vaya a tu pag autenticacion por post y en autenticacion recoges esas variables como te dijo lobo_php
  #14 (permalink)  
Antiguo 08/06/2011, 10:22
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años
Puntos: 75
Respuesta: Problemilla con iniciar sesion

Cita:
Iniciado por putapunker Ver Mensaje
el formulario donde pido el username y password estan en la pagina inicio.php y en autenticacion es donde esta el codigo que mostre en la pregunta
por eso, debes recoger los campos que vas a validar, si en inicio.php está el form y vas a validar en autenticacion entonces el form debería llevar esto

en inicio.php
Código HTML:
<form name= "el/nombre" method="post" action="autenticacion.php"> 

y en autenticacion...

Código PHP:
<?

 
require('conexion.php');

$username $_POST['nombredelcampousername'];
$password $_POST['nombredelcampopassword'];

$consultaparainicio"SELECT * FROM trabajador WHERE username_trabajador='$username' and contrasena_trabajador='$password'";

 
$resultado mysql_query($consultaparainicio);
 
//vemos si el usuario y contraseña es váildo
 //si la ejecución de la sentencia SQL nos da algún resultado
 //es que si que existe esa conbinación usuario/contraseña
 
if (mysql_num_rows($resultado)!=0){
 
//usuario y contraseña válidos
 //defino una sesion y guardo datos

 
session_start();
 
session_register("autentificado");
 
$autentificado "SI";

 
/*$consultadelacoordinacion="SELECT trabajador.id_coordinacion, trabajador.id_trabajador, trabajador.nombre_trabajador, trabajador.apellido_trabajador
 FROM trabajador
 WHERE trabajador.id_coordinacion = '1'";*/

 
header ("Location: principal.html");
 }else {
 
//si no existe le mando otra vez a la portada
 
header("Location: X.php");
 }
 
mysql_free_result($resultado);

 
?>
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #15 (permalink)  
Antiguo 08/06/2011, 10:26
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Problemilla con iniciar sesion

Amigos aun nada...
con el consejo que me dieron
$username=$_POST['username'];

$password=$_POST['password'];



$consultaparainicio= "SELECT username_trabajador,contrasena_trabajador FROM trabajador WHERE username_trabajador =$username "and" contrasena_trabajador=$password";

me sale ahora este mensaje


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/gaeis/autenticacion.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at /var/www/gaeis/autenticacion.php:17) in /var/www/gaeis/autenticacion.php on line 32

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /var/www/gaeis/autenticacion.php on line 34
  #16 (permalink)  
Antiguo 08/06/2011, 10:31
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años
Puntos: 75
Respuesta: Problemilla con iniciar sesion

hazle un echo a $username y $password, de esta forma sabremos si los está tomando pero...

colocaste lo del <form ... action y eso en tu página inicio.php?
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #17 (permalink)  
Antiguo 08/06/2011, 10:33
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Problemilla con iniciar sesion

mira haz lo que dijimos al principio haz un echo a tu consulta para que veas lo que devuelve realmente y despues copias eso en tu phpmyuadmin para que veas realmente

pero parece que está pasando vacio los valores
  #18 (permalink)  
Antiguo 08/06/2011, 10:35
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años
Puntos: 75
Respuesta: Problemilla con iniciar sesion

Sí, haz lo que dice iviamontes, como dijo Jack el destripador vamos por partes!
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #19 (permalink)  
Antiguo 08/06/2011, 10:48
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años
Puntos: 75
Respuesta: Problemilla con iniciar sesion

Yo sigo creyendo que el problema no es la consulta, putapunker, me puedes mostrar el código donde está el <form> ?, quizá de esa manera sea más fácil ayudarte
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #20 (permalink)  
Antiguo 08/06/2011, 11:36
Avatar de Vitesse92  
Fecha de Ingreso: diciembre-2009
Ubicación: Internet
Mensajes: 145
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: Problemilla con iniciar sesion

sip, opino lo mismo que lobo_php no es la consulta, :)
__________________
Imagenes de amor y Imagenes de amor . 1313
  #21 (permalink)  
Antiguo 08/06/2011, 12:17
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Problemilla con iniciar sesion

el codigo donde esta el form es este

<form id="form1" name="form1" method="post" action="autenticacion.php">
claro tambien estan los botones que son submit y todo lo demas pues
  #22 (permalink)  
Antiguo 08/06/2011, 12:19
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Problemilla con iniciar sesion

hmm pero lo q hace falta es q pongas los campos para ver si es el mismo nombre con el que lo recibes por post en autenticacion
  #23 (permalink)  
Antiguo 08/06/2011, 12:34
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Problemilla con iniciar sesion

<form id="form1" name="form1" method="post" action="autenticacion.php">

<table width="495" border="0" bordercolor="#FFFFFF">

<tr>

<td width="50">&nbsp;</td>

<td width="145">&nbsp;</td>

<td width="129">&nbsp;</td>

<td width="61">&nbsp;</td>

<td width="76">&nbsp;</td>

</tr>

<tr>

<td colspan="2" class="Estilo7"><div align="right">Nombre de usuario: </div></td>

<td colspan="2"><label>

<input name="username" type="text" size="45" />

</label></td>

<td>&nbsp;</td>

</tr>

<tr>

<td colspan="2" class="Estilo7"><div align="right">Contrase&ntilde;a:</div></td>

<td colspan="2"><label>

<input name="password" type="password" size="45" />

</label></td>

<td>&nbsp;</td>

</tr>

<tr>

<td colspan="5"><div align="center"><a href="nuevousuario.php">Para usuarios no registrados haga click en este link </a></div></td>

</tr>

<tr>

<td colspan="2"><label>

<div align="center">

<input type="submit" name="Submit" value="Iniciar Sesi&oacute;n" />

</div>

</label></td>

<td>&nbsp;</td>

<td colspan="2"><label>

<div align="center">

<input type="submit" name="Submit2" value="Limpiar Formulario" />

</div>

</label></td>

</tr>

</table>

</form>
  #24 (permalink)  
Antiguo 08/06/2011, 12:39
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Problemilla con iniciar sesion

$username = mysql_real_escape_string( $_POST['username']);
$password = mysql_real_escape_string($_POST['password']);

SELECT username_trabajador,contrasena_trabajador FROM trabajador WHERE username_trabajador='$username' and contrasena_trabajador='$password'

si eso no funciona me rindo
  #25 (permalink)  
Antiguo 08/06/2011, 12:54
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Problemilla con iniciar sesion

es que hasta le hice el echo y me los trae no entiendo jejeje

y me da este error

emedina1
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/gaeis/autenticacion.php on line 18

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /var/www/gaeis/autenticacion.php on line 36

y en la linea 18 tengo esto

if (mysql_num_rows($resultado)!=0){

y la 36

mysql_free_result($resultado);
  #26 (permalink)  
Antiguo 08/06/2011, 12:57
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Problemilla con iniciar sesion

amigo cuando me vas a hacer caso ???

mi consejo es que hagas un echo a la consulta y lo pruebes en phpmyadmin y veas lo que de verdad te devuelve
  #27 (permalink)  
Antiguo 08/06/2011, 12:58
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Problemilla con iniciar sesion

me da el mismo error con tu sugerencia iviamontes, es raro cuando uno tiene todo correcto y pasan estas cosas suelen rendirse jejejeje xD
  #28 (permalink)  
Antiguo 08/06/2011, 13:01
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Problemilla con iniciar sesion

pero es ke no es que te hago caso si no que ya hice la consulta y me sale el resultado

SELECT username_trabajador, contrasena_trabajador
FROM trabajador
WHERE username_trabajador = 'emedina'
AND contrasena_trabajador = '1'

obviamente el emedina es el '$username' y el 1 es el '&password' de los datos ke pongo en el form
en teoria deberia funcionar el ingreso y no lo esta haciendo me señala el error en el if y el otro error abajo al final
  #29 (permalink)  
Antiguo 08/06/2011, 13:12
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años
Puntos: 75
Respuesta: Problemilla con iniciar sesion

Cita:
Iniciado por putapunker Ver Mensaje
pero es ke no es que te hago caso si no que ya hice la consulta y me sale el resultado

SELECT username_trabajador, contrasena_trabajador
FROM trabajador
WHERE username_trabajador = 'emedina'
AND contrasena_trabajador = '1'

obviamente el emedina es el '$username' y el 1 es el '&password' de los datos ke pongo en el form
en teoria deberia funcionar el ingreso y no lo esta haciendo me señala el error en el if y el otro error abajo al final
ya volví,

Lo que pienso entonces no sería ni la consulta ni los datos que vienen del form puesto ya los revisamos y los capturamos por post, ya ejecutaste la consulta en el phpMyadmin
y por lo que veo tampoco es la consulta.

Sólo me queda una duda y es el conexión.php, que hay en ese archivo

y prueba cambiando

require('conexion.php'); por

include_once 'conexion.php';
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #30 (permalink)  
Antiguo 08/06/2011, 13:25
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Problemilla con iniciar sesion

esto es conexion. php

<?php

$link = mysql_connect ("localhost","root","c@r@c@5");

if(!$link) {



die ("error al intentar conectar : ". mysql_error());

}

else {



$db_link = mysql_select_db ("gaei",$link);

}





if (!$db_link) {



die ("Error al intentar seleeccionar la BD ". mysql_error());



}



?>

Etiquetas: Ninguno
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:55.