Foros del Web » Programando para Internet » PHP »

Login php/mysql

Estas en el tema de Login php/mysql en el foro de PHP en Foros del Web. Hola a todos!!! estoy haciendo una pagina donde tiene un formulario de usuario y contraseña con boton enviar.. y un archivo php que es donde ...
  #1 (permalink)  
Antiguo 25/06/2010, 15:41
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Login php/mysql

Hola a todos!!! estoy haciendo una pagina donde tiene un formulario de usuario y contraseña con boton enviar.. y un archivo php que es donde toma los datos.. lo que no entiendo bien como hacer es el codigo para verificar si los datos del formulario son correctos (osea los que estan en la base de datos mysql) y luego me redireccione a la pagina de Inicio.. bueno les dejo los codigos..Gracias a todo aquel que pueda ayudarme...

Formulario HTML:
Código HTML:
<html>
<head>
<title> Bienvenido </title>
</head>
<body bgcolor = "#252525">
<body text = "#E5E5E5">
<font face = "tahoma">
<body link = "#E5E5E5" vlink = "#E5E5E5">

<h2> IDENTIFICACION </h2>
<br><br>
<form name ="formuregistro" action = "tres.php" method ="POST" />
<strong>Usuario:</strong> <input type = "text" name = "usuario" />
<br><br>
<strong>Contraseña:</strong> <input type = "password" name = "contraseña" />
<br>
<input type = "submit" name = "enviar" value = "Enviar datos" />


<br><br><br>
<a href="ppal.html"><h4>Volver</h4> </a>

</body>
</html> 
y el arhivo PHP:

Código PHP:
<?php 

$usuario 
$_REQUEST['usuario'];
$contraseña $_REQUEST['contraseña'];
$conexion mysql_connect("localhost""root""") or die("Problemas en la conexion");
mysql_select_db("usuarios"$conexion) or die ("Problema al seleccionar bd");

$consulta mysql_query("SELECT * FROM personas WHERE login='$usuario' AND contraseña='$contraseña'");
if(
$login_persona mysql_fetch_array($consulta)){
$_SESSION['usuario']=$usuario;
echo 
"<META HTTP-EQUIV='refresh' CONTENT='4; url=bienvenido.html'>";
}
else{
echo 
"el usuario no existe";
}
?>
  #2 (permalink)  
Antiguo 25/06/2010, 16:09
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Login php/mysql

checa esto, te puede dar mas ideas
  #3 (permalink)  
Antiguo 25/06/2010, 16:44
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Login php/mysql

Cita:
Iniciado por dcreate Ver Mensaje
checa esto, te puede dar mas ideas
Hola que tal. lo estuve viendo el archivo "password.php" me tira este error en la lina 94: Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\password.php on line 94

dejo el codigo completo:
Código PHP:
<?php 
session_start
(); 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="icon" href="images/stop.ico" type="image/x-icon">
<link rel="shortcut icon" href="images/stop.ico" type="image/x-icon">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<SCRIPT>
function validar(formulario){
* // primera comprobación
* if(formulario.usuario.value == ''){
* * // informamos del error
* * alert('INGRESE SU RPE');
* * // seleccionamos el campo incorrecto
* * formulario.usuario.focus();
* * return false;
* }
* if(formulario.contrasena.value == ''){
* * // informamos del error
* * alert('INGRESE SU CONTRASEÑA');
* * // seleccionamos el campo incorrecto
* * formulario.contrasena.focus();
* * return false;
* }
* return true;
}
//-->
function fo()
{
form1.usuario.focus();
}
</script>
<script language="JavaScript">
var txt=" * * * * * * * * * * * * * - * PASSWORD * * * * * *- * * * * * * * * * * * * * CFE";
var espera=100;
var refresco=null;
function rotulo_title() {
* * * * document.title=txt;
* * * * txt=txt.substring(1,txt.length)+txt.charAt(0);
* * * * refresco=setTimeout("rotulo_title()",espera);}
rotulo_title();
* * * </script>
<style type="text/css">
<!--
#Layer2 {
* * position:absolute;
* * width:200px;
* * height:115px;
* * z-index:1;
* * left: 560px;
* * top: 200px;
}
#Layer3 {
* * position:absolute;
* * width:200px;
* * height:58px;
* * z-index:1;
* * left: 250px;
* * top: 414px;
}
#Layer4 {
* * position:absolute;
* * width:331px;
* * height:67px;
* * z-index:2;
* * left: 11px;
* * top: 14px;
}
.Estilo1 {
* * font-size: 36px;
* * font-weight: bold;
}
-->
</style>
</head>
<body background="images/fondo.png" onload="fo()">
<div id="Layer1">
* <form id="form1" onsubmit=" return validar(this)" name="form1" method="post" action="consultar_pas.php"><P align="center">&nbsp;</p>
* * <P align="center">&nbsp;</p>
* * <P align="center" class="Estilo1"><font face="ARIAL">INICIO DE SESION</font></p>
* * <br />
* * <br /></label>
* *<center class="Estilo8"> *<table width="313" border="0" >
* * * <tr>
* * * * <th colspan="2" * bgcolor="#33CC33" scope="col"><div align="center" class="Estilo11"></div> * * * * *
* * * * * <div align="center" class="Estilo8"></div></th>
* * * </tr>
* * * <tr>
* * * <?php if ($_GET["errorusuario"]=="pai"){echo '<td colspan="2" align="center" 
* * * * bgcolor=red><span class="Estilo3">Contraseña Incorrecta</span></td>'
;}
* * * * if (
$_GET["errorusuario"]=="pui"){echo '<td colspan="2" align="center" 
* * * * bgcolor=red><span class="Estilo3">NO EXISTE USUARIO</span></td>'
;}
* * * * *if (
$_GET["errorusuario"]=="in"){echo '<td colspan="2" align="center" 
* * * * bgcolor=red><span class="Estilo3">Usuario Invalido</span></td>'
;}
* * * * *if (
$_GET["errorusuario"]==""){echo ' <td colspan="2" align="center" 
* * * * * * bgcolor=#FFFFFF><span class="Estilo3"><span class="Estilo6">Introduce Tus Datos</span></span></td>'
;}
* * * * 
?>
* * * </tr>
* * * <tr bgcolor="#FFFFFF">
* * * * <th width="97" scope="col"><div align="left" class="Estilo14">RPE:</div></th>
* * * * <th width="200" scope="col"><div align="left" class="Estilo8">
* * * * * * <input name="usuario" type="text" id="usuario" value="<?php if (isset($_SESSION['usuario'])){ echo $_SESSION['usuario']; } ?>" style="text-transform: uppercase;"/>
* * * * * </div>
* * * * * <span class="Estilo8">
* * * * * </label> * * * * *
* * * * * </span></th>
* * * </tr>
* * * <tr bgcolor="#FFFFFF">
* * * * <td height="43"><div align="left" class="Estilo14"><strong>CONTRASE&Ntilde;A:</strong></div></td>
* * * * <td><div align="left">
* * * * * <input name="contrasena" type="password" id="contrasena" />
* * * * </div></td>
* * * </tr>
* * * <tr bgcolor="#FFFFFF">
* * * * <td height="43" colspan="2"><label>
* * * * <center><input type="submit" name="Submit" value="ENTRAR" /> * 
* * * * * <input type="button" name="Submit2" value="CANCELAR" onclick="javascript:window.close();"/>
* * * * </center> * * * </label>
* * * * * <div align="center"><span class="Estilo8">
* * * * * </span><span class="Estilo8"> * * * * *</span></div></td>
* * * </tr>
* * </table> 
* *</center> 
</form>
</body>
</html>
Saludos!!
  #4 (permalink)  
Antiguo 25/06/2010, 17:03
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Login php/mysql

pues lo tengo asi y no me marca error

<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="icon" href="images/stop.ico" type="image/x-icon">
<link rel="shortcut icon" href="images/stop.ico" type="image/x-icon">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<SCRIPT>
function validar(formulario){
// primera comprobación
if(formulario.usuario.value == ''){
// informamos del error
alert('INGRESE SU RPE');
// seleccionamos el campo incorrecto
formulario.usuario.focus();
return false;
}
if(formulario.contrasena.value == ''){
// informamos del error
alert('INGRESE SU CONTRASEÑA');
// seleccionamos el campo incorrecto
formulario.contrasena.focus();
return false;
}
return true;
}
//-->
function fo()
{
form1.usuario.focus();
}
</script>
<script language="JavaScript">
var txt=" - PASSWORD - CFE";
var espera=100;
var refresco=null;
function rotulo_title() {
document.title=txt;
txt=txt.substring(1,txt.length)+txt.charAt(0);
refresco=setTimeout("rotulo_title()",espera);}
rotulo_title();
</script>
<style type="text/css">
<!--
#Layer2 {
position:absolute;
width:200px;
height:115px;
z-index:1;
left: 560px;
top: 200px;
}
#Layer3 {
position:absolute;
width:200px;
height:58px;
z-index:1;
left: 250px;
top: 414px;
}
#Layer4 {
position:absolute;
width:331px;
height:67px;
z-index:2;
left: 11px;
top: 14px;
}
.Estilo1 {
font-size: 36px;
font-weight: bold;
}
-->
</style>
</head>
<body background="images/fondo.png" onload="fo()">
<div id="Layer1">
<form id="form1" onsubmit=" return validar(this)" name="form1" method="post" action="consultar_pas.php"><P align="center">&nbsp;</p>
<P align="center">&nbsp;</p>
<P align="center" class="Estilo1"><font face="ARIAL">INICIO DE SESION</font></p>
<br />
<br /></label>
<center class="Estilo8"> <table width="313" border="0" >
<tr>
<th colspan="2" bgcolor="#33CC33" scope="col"><div align="center" class="Estilo11"></div>
<div align="center" class="Estilo8"></div></th>
</tr>
<tr>
<?php if ($_GET["errorusuario"]=="pai"){echo '<td colspan="2" align="center"
bgcolor=red><span class="Estilo3">Contraseña Incorrecta</span></td>';}
if ($_GET["errorusuario"]=="pui"){echo '<td colspan="2" align="center"
bgcolor=red><span class="Estilo3">NO EXISTE USUARIO</span></td>';}
if ($_GET["errorusuario"]=="in"){echo '<td colspan="2" align="center"
bgcolor=red><span class="Estilo3">Usuario Invalido</span></td>';}
if ($_GET["errorusuario"]==""){echo ' <td colspan="2" align="center"
bgcolor=#FFFFFF><span class="Estilo3"><span class="Estilo6">Introduce Tus Datos</span></span></td>';}
?>
</tr>
<tr bgcolor="#FFFFFF">
<th width="97" scope="col"><div align="left" class="Estilo14">RPE:</div></th>
<th width="200" scope="col"><div align="left" class="Estilo8">
<input name="usuario" type="text" id="usuario" value="<?php if (isset($_SESSION['usuario'])){ echo $_SESSION['usuario']; } ?>" style="text-transform: uppercase;"/>
</div>
<span class="Estilo8">
</label>
</span></th>
</tr>
<tr bgcolor="#FFFFFF">
<td height="43"><div align="left" class="Estilo14"><strong>CONTRASE&Ntilde;A:</strong></div></td>
<td><div align="left">
<input name="contrasena" type="password" id="contrasena" />
</div></td>
</tr>
<tr bgcolor="#FFFFFF">
<td height="43" colspan="2"><label>
<center><input type="submit" name="Submit" value="ENTRAR" />
<input type="button" name="Submit2" value="CANCELAR" onclick="javascript:window.close();"/>
</center> </label>
<div align="center"><span class="Estilo8">
</span><span class="Estilo8"> </span></div></td>
</tr>
</table>
</center>
</form>
</body>
</html>
  #5 (permalink)  
Antiguo 25/06/2010, 17:32
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Login php/mysql

ahora me dice esto :S en el archivo: "consultar_pas.php"


0) { if($registro[1]==$contrasena && $registro[1]!='') { //admin y contraseña válidos y defino tipo $session para que pueda dar los privilegios $_SESSION['tipo']=$registro[2]; // el 1 siginifica si se encuentra en la busqueda 1 me va mostrar un linck y en el 2 me muestra otro etc $_SESSION['usuario']=$registro[0]; $_SESSION["admitido"]= "si"; $user=$_SESSION['usuario']; header ("Location:frame.php"); } else { //contraseña incorrecta incorrecto header("Location: password.php?errorusuario=pai"); } } else { //contraseña incorrecta incorrecto header("Location: password.php?errorusuario=pui"); } ?>
  #6 (permalink)  
Antiguo 25/06/2010, 17:36
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Login php/mysql

solo veo codigo, cual es el error?
  #7 (permalink)  
Antiguo 25/06/2010, 17:48
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Login php/mysql

Este error es: "Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\consultar_pas.php on line 17"


y el codigo es este...

Código PHP:
<?php 
session_start
(); 
include(
"conexion.php"); 
//guardamos los valores que fueron enviados por el formulario en variables de sesion 
$_SESSION['usuario'] = $_POST['usuario']; 
$usuario=$_POST['usuario'];
$contrasena=$_POST['contrasena'];
conectar();
$queEmp_usuario=mysql_query("SELECT alias,password,tipo FROM password WHERE alias='$usuario'");
$existe_usuario=mysql_num_rows($queEmp_usuario); 
$registro=mysql_fetch_row($queEmp_usuario);
desconectar();
if(
$existe_usuario>0)
{
if(
$registro[1]==$contrasena && $registro[1]!='')
{
&
#160;   //admin y contraseña válidos y defino tipo $session para que pueda dar los privilegios
&#160;   $_SESSION['tipo']=$registro[2]; 
// el 1 siginifica si se encuentra en la busqueda 1 me va mostrar un linck y en el 2 me muestra otro etc
$_SESSION['usuario']=$registro[0];
$_SESSION["admitido"]= "si";
$user=$_SESSION['usuario'];
header ("Location:frame.php");&#160; 
}
else
{
//contraseña incorrecta incorrecto
header("Location: password.php?errorusuario=pai");
}
}
else
{
//contraseña incorrecta incorrecto
header("Location: password.php?errorusuario=pui");

?>
  #8 (permalink)  
Antiguo 25/06/2010, 17:52
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Login php/mysql

de pura casualidad tu tabla tiene la misma estructura o los campos son los q se buscan en el query???? ese puede ser el problema
  #9 (permalink)  
Antiguo 25/06/2010, 17:59
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Login php/mysql

este codigo tiene menos cosas, solo adecualo a lo q necesitas

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. //guardamos los valores que fueron enviados por el formulario en variables de sesion
  4. $_SESSION['usuario'] = $_POST['usuario'];
  5. $usuario=$_POST['usuario'];
  6. $contrasena=$_POST['contrasena'];
  7. conectar();
  8. $queEmp_usuario=mysql_query("SELECT alias,password FROM password WHERE alias='$usuario'");
  9. $existe_usuario=mysql_num_rows($queEmp_usuario);
  10. $registro=mysql_fetch_array($queEmp_usuario);
  11. desconectar();
  12. if($existe_usuario>0)
  13. {
  14. if($registro['password']==$contrasena && $registro['password']!='')
  15. {
  16. $_SESSION['usuario']=$registro['alias'];
  17. header ("Location:frame.php");  
  18. }
  19. else
  20. {
  21. //contraseña incorrecta incorrecto
  22. header("Location: password.php?errorusuario=pai");
  23. }
  24. }
  25. else
  26. {
  27. //no existe el usuario
  28. header("Location: password.php?errorusuario=pui");
  29. }
  30. ?>
suerte
  #10 (permalink)  
Antiguo 25/06/2010, 21:43
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Login php/mysql

Cita:
Iniciado por dcreate Ver Mensaje
este codigo tiene menos cosas, solo adecualo a lo q necesitas

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. //guardamos los valores que fueron enviados por el formulario en variables de sesion
  4. $_SESSION['usuario'] = $_POST['usuario'];
  5. $usuario=$_POST['usuario'];
  6. $contrasena=$_POST['contrasena'];
  7. conectar();
  8. $queEmp_usuario=mysql_query("SELECT alias,password FROM password WHERE alias='$usuario'");
  9. $existe_usuario=mysql_num_rows($queEmp_usuario);
  10. $registro=mysql_fetch_array($queEmp_usuario);
  11. desconectar();
  12. if($existe_usuario>0)
  13. {
  14. if($registro['password']==$contrasena && $registro['password']!='')
  15. {
  16. $_SESSION['usuario']=$registro['alias'];
  17. header ("Location:frame.php");  
  18. }
  19. else
  20. {
  21. //contraseña incorrecta incorrecto
  22. header("Location: password.php?errorusuario=pai");
  23. }
  24. }
  25. else
  26. {
  27. //no existe el usuario
  28. header("Location: password.php?errorusuario=pui");
  29. }
  30. ?>
suerte
yo no entiendo ese codigo.. en ningun momento la consulta pide la contraseña= '$contraseña'
  #11 (permalink)  
Antiguo 26/06/2010, 10:28
Avatar de ciscoh4x0r  
Fecha de Ingreso: junio-2010
Ubicación: Londres, Inglaterra
Mensajes: 300
Antigüedad: 13 años, 10 meses
Puntos: 12
Respuesta: Login php/mysql

Código PHP:
$queEmp_usuario=mysql_query("SELECT alias,password FROM password WHERE alias='$usuario'"); 
Esa linea de codigo, es la que selecciona en la base de datos los usuarios ya existentes, por lo que veo es muy probable que no la hayas cambiado por los valores de tu base de datos, deberias cambiar eso -Perdona si me equivoco-
  #12 (permalink)  
Antiguo 26/06/2010, 10:43
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Login php/mysql

Código PHP:
<?php
session_start
();
?>
<?php 

$conexion 
mysql_connect("localhost""root""") or die("Problemas en la conexion");
mysql_select_db("usuarios"$conexion) or die ("Problema al seleccionar bd");

$_SESSION['usuario'] = $_POST['usuario'];
$usuario=$_POST['usuario'];
$contrasena=$_POST['contraseña'];
function 
conectar()
{
$queEmp_usuario=mysql_query("SELECT usuario,contraseña FROM personas WHERE usuario='$usuario' and contraseña='$contraseña'");
$existe_usuario=mysql_num_rows($queEmp_usuario);
$registro=mysql_fetch_array($queEmp_usuario);
}
if(
$existe_usuario>0)
{
if(
$registro['contraseña']==$contrase&#241;a && $registro['contraseña']!='')
{
$_SESSION['usuario']=$registro['usuario'];

header ("Location:frame.php");  
}
else
{
//contraseña incorrecta incorrecto
echo "contraseña incorrecta ";
}
}
else
{
//no existe el usuario
echo "usuario no existe en la base de datos";
}
 
?>
asi lo tengo y cuando en el formulario ingreso los datos osea el usuario y contraseña y dice: "usuario no existe en la base de datos". cuando estoy ingresando datos correctos.. o no me esta tomando los valores de la base de datos o hay un error de comparacion...

Nombre de la base de datos: usuarios
Nombre de la unica tabla: personas
  #13 (permalink)  
Antiguo 26/06/2010, 14:34
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Login php/mysql

tienes un error tambien en la variable cuando la recibes la llamas contrasena y cuando haces la busqueda la llmas contraseña, otra cosa donde llamas a la funcion?? ademas debes de meter los parametros a esta funcion para que te haga la consulta de a base de datos segun tu usuario y contraseña ejemplo
Código PHP:
function conectar($usuario,$contrase&#241;a)
{
//tu rutina

y debes llamarla para que esta sea realizada
Código PHP:
conectar($usuario,$contrase&#241;a); 
en este caso son las variables que recibiste del formulario
otro dato yo tube porblemas con la utilizacion de ñ en las variables eso podria tambien pasarte pero no necesariamente sea un error
  #14 (permalink)  
Antiguo 26/06/2010, 15:52
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Login php/mysql

oye eso es cierto, nunca me habia dado cuenta de ese error, muchas gracias por la observacion
  #15 (permalink)  
Antiguo 26/06/2010, 16:23
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Login php/mysql

Código PHP:

<?php
session_start
();
?>
<?php 

$conexion 
mysql_connect("localhost""root""") or die("Problemas en la conexion");
mysql_select_db("usuarios"$conexion) or die ("Problema al seleccionar bd");

$_SESSION['usuario'] = $_POST['usuario'];
$usuario=$_POST['usuario'];
$contrasena=$_POST['contrasena'];
function 
conectar($usuario,$contrasena)
{
$queEmp_usuario=mysql_query("SELECT usuario,contrasena FROM personas WHERE usuario='$usuario' and contrasena='$contrasena'");
$existe_usuario=mysql_num_rows($queEmp_usuario);
$registro=mysql_fetch_array($queEmp_usuario);
}
if(
$existe_usuario>0)
{
if(
$registro['contrasena']==$contrasena && $registro['contrasena']!='')
{
$_SESSION['usuario']=$registro['usuario'];

header ("Location:frame.php");  
}
else
{
//contraseña incorrecta incorrecto
echo "contraseña incorrecta ";
}
}

else
{
//no existe el usuario
echo "usuario no existe en la base de datos";
}

?>
Holaa ayudaaaaaaa arregle las fallas pero cuando ingreso los datos me dice "usuario no existe en la base de datos" no entiendoooo
  #16 (permalink)  
Antiguo 26/06/2010, 16:40
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Login php/mysql

lo q veo es q parece q no se encuentra ningun usuario con esas condiciones o q no entra el query y eso indica q la primera condicion no se cumple y regresa un valor false, checa con un

echo $existe_usuario;

si te da 0 es q no entra el query, yo te recomiendo esto:

Código PHP:
Ver original
  1. <?php
  2. ?>
  3. <?php
  4.  
  5. $conexion = mysql_connect("localhost", "root", "") or die("Problemas en la conexion");
  6. mysql_select_db("usuarios", $conexion) or die ("Problema al seleccionar bd");
  7.  
  8. $_SESSION['usuario'] = $_POST['usuario'];
  9. $usuario=$_POST['usuario'];
  10. $contrasena=$_POST['contrasena'];
  11.  
  12. $queEmp_usuario=mysql_query("SELECT usuario,contrasena FROM personas WHERE usuario='$usuario' and contrasena='$contrasena'");
  13. $existe_usuario=mysql_num_rows($queEmp_usuario);
  14. $registro=mysql_fetch_array($queEmp_usuario);
  15.  
  16. if($existe_usuario>0)
  17. {
  18. if($registro['contrasena']==$contrasena && $registro['contrasena']!='')
  19. {
  20. $_SESSION['usuario']=$registro['usuario'];
  21.  
  22. header ("Location:frame.php");  
  23. }
  24. else
  25. {
  26. //contraseña incorrecta incorrecto
  27. echo "contraseña incorrecta ";
  28. }
  29. }
  30.  
  31. else
  32. {
  33. //no existe el usuario
  34. echo "usuario no existe en la base de datos";
  35. }
  36.  
  37. ?>
  #17 (permalink)  
Antiguo 26/06/2010, 16:44
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Login php/mysql

es muy necesario q lo hagas en la funcion?? xq si haces la consulta fuera de la funcion te ahorrarias estar haciendo return para sacar los dato de lafuncion prueba el mismo codigo pero sin meterlo en la funcion y me dices si te da un error cual es
  #18 (permalink)  
Antiguo 26/06/2010, 16:47
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Login php/mysql

No te esta dado valor porque el resultado no lo estas sacando de la funcion con un return prueba el mismo codigo sin hacer la funcion y ahi te dara resultado en tu estructura principal
  #19 (permalink)  
Antiguo 26/06/2010, 17:22
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Login php/mysql

dcreate hice eso que me dijiste le puse un "echo $existe_usuario" y me salio por el false de nuevo y me mostro el mismo mensaje de siempre... quiere decir mque hay un error en la consulta como puedo solucionar eso? porque por lo que yo veo esta todo bien.... creo...

aqui dejo el codigo:

Código PHP:
<?php
session_start
();
?>
<?php 

$conexion 
mysql_connect("localhost""root""") or die("Problemas en la conexion");
mysql_select_db("usuarios"$conexion) or die ("Problema al seleccionar bd");

$_SESSION['usuario'] = $_POST['usuario'];
$usuario=$_POST['usuario'];
$contrasena=$_POST['contrasena'];


$queEmp_usuario=mysql_query("SELECT usuario,contrasena FROM personas WHERE usuario='$usuario' and contrasena='$contrasena'");
$existe_usuario=mysql_num_rows($queEmp_usuario);
$registro=mysql_fetch_array($queEmp_usuario);

if(
$existe_usuario>0)
{
echo 
$existe_usuario;
{
$_SESSION['usuario']=$registro['usuario'];
echo 
"sesion iniciada";
header ("Location:frame.php");  
}

}

else
{
//no existe el usuario
echo "usuario no existe en la base de datos";
}

?>
  #20 (permalink)  
Antiguo 26/06/2010, 17:28
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Login php/mysql

si te salio falso es xq no esta encontrando ningun resultado en la consulta recuerda que cambiaste la ñ de contraseña cuando recibias le cambiaste tambien el nombre en tu formulario donde la envias?? eso puede ser que te lo digo yo que soy un experto en cometer ese tipo de errores jaja
  #21 (permalink)  
Antiguo 26/06/2010, 17:29
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Login php/mysql

jajaja si.. fue lo primero que hice.. le cambie en el formulario y en la base de datos ... estaba como CONTRASEÑA y le puse contresena.. pero no anda :S
  #22 (permalink)  
Antiguo 26/06/2010, 17:32
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Login php/mysql

imprime el existe usuario fuera del if y ve cuanto te da si te da cero es xq no encontro nada
  #23 (permalink)  
Antiguo 26/06/2010, 17:35
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Login php/mysql

exacto... me mostro el mensaje de siempre y alado 0.. supongo que no encontro nada .. no se como hacer con este codigo me volo la mente todo el dia :S
  #24 (permalink)  
Antiguo 26/06/2010, 17:38
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Login php/mysql

ahi encontre el error... saque el and contrasena='$contrasena' de la consulta parta que me busque solamente el nombre de usuario y me salio por el camino verdadero y tambien me mostro un 1

aqui dejo el codigo...

Código PHP:
<?php
session_start
();
?>
<?php 

$conexion 
mysql_connect("localhost""root""") or die("Problemas en la conexion");
mysql_select_db("usuarios"$conexion) or die ("Problema al seleccionar bd");

$_SESSION['usuario'] = $_POST['usuario'];
$usuario=$_POST['usuario'];
$contrasena=$_POST['contrasena'];


$queEmp_usuario=mysql_query("SELECT usuario,contrasena FROM personas WHERE usuario='$usuario'");
$existe_usuario=mysql_num_rows($queEmp_usuario);
$registro=mysql_fetch_array($queEmp_usuario);

if(
$existe_usuario>0)
{
echo 
$existe_usuario;
{
$_SESSION['usuario']=$registro['usuario'];
echo 
"sesion iniciada";
header ("Location:frame.php");  
}

}

else
{
//no existe el usuario
echo "usuario no existe en la base de datos";
}
echo 
$existe_usuario;

?>
como puedo hcer para que muestre tambien la contraseña,, va para que la comproebe
  #25 (permalink)  
Antiguo 26/06/2010, 17:52
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Login php/mysql

bueno ya verificaste q el usuario existe ahora verifica la contrasea con un if algo asi
Código PHP:
if($usuarioexiste>0)
{
   if(
$contrasena==$registro['contrasena'])
  {
     echo 
"existe";
  }
  else
   {
       echo 
"la contraseña esta errada ";
   }

esto por prueba adaptalo a lo que quieres hacer
  #26 (permalink)  
Antiguo 26/06/2010, 18:22
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Login php/mysql

claro carlos.. pero antes no deberia hacer una consulta que llame a la contraseña porque fijese que la he cambiado.. y el usuario me lo verifica pero me aparece este error y no se cual es nunca me habia aprecido ..osea me dice 1sesion iniciada pero desp me tira el warning

1sesion iniciada
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\tres.php:20) in C:\xampp\htdocs\tres.php on line 24

aqui dejo el codigo
Código PHP:
<?php
session_start
();
?>
<?php 

$conexion 
mysql_connect("localhost""root""") or die("Problemas en la conexion");
mysql_select_db("usuarios"$conexion) or die ("Problema al seleccionar bd");

$_SESSION['usuario'] = $_POST['usuario'];
$usuario=$_POST['usuario'];
$contrasena=$_POST['contrasena'];


$queEmp_usuario=mysql_query("SELECT usuario,contrasena FROM personas WHERE usuario='$usuario'");
$existe_usuario=mysql_num_rows($queEmp_usuario);
$registro=mysql_fetch_array($queEmp_usuario);

if(
$existe_usuario>0)
{
echo 
$existe_usuario;

$_SESSION['usuario']=$registro['usuario'];
echo 
"sesion iniciada";
header ("Location:frame.php");  


}

else
{
//no existe el usuario
echo "usuario no existe en la base de datos";
}


?>
  #27 (permalink)  
Antiguo 26/06/2010, 20:54
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Login php/mysql

uando para redireccionar header y estas haciendo un echo no hagas el echo si no que directamente direcciona con el header y la consulta de la contraseña la hiciste al momento de preguntar por el usuario guarda el resultado en una variable de contraseña para q la valides x cierto seria bueno que para seguridad trabajaras las contraseñas encriptadas con alguno de los metodos de encriptamiento yo personalmente uso md5

Etiquetas: login, php-mysql
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 03:44.