Foros del Web » Programando para Internet » PHP »

Validacion de inicio de sesión

Estas en el tema de Validacion de inicio de sesión en el foro de PHP en Foros del Web. Hola, soy nueva en esto de las sesiones en php he checado algunos ejemplos en el forum y en algunos otros sitios y son muy ...

  #1 (permalink)  
Antiguo 22/10/2010, 14:34
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Validacion de inicio de sesión

Hola, soy nueva en esto de las sesiones en php
he checado algunos ejemplos en el forum y en algunos otros sitios y son muy parecidos a mi código, pero siempre sale un error que dice : uknown column 'Emma' in 'where clause'
Estos son los códigos de las 2 diferentes paginas la primera es la del LogIn y la segunda es la Validación
de antemano gracias por su ayuda n.n

<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<link href="estilo.css" rel="stylesheet" type="text/css" media=screen>
<title>Inicio de Sesión</title>
</head>
<body>

<?php

mysql_connect('localhost','root','admin');
mysql_select_db('alumnos');

echo "<fieldset id='Field1'><legend> Iniciar Sesi&oacute;n</legend>
<div id='LogIn'>
<form action='valida.php' method='post'>
<table>
<tr>
<td>Usuario</td>
<td><input type='text' name='nombreUsuario' size='30'></td>
</tr>

<tr>
<td> Contrase&ntilde;a</td>
<td> <input type='password' name='clave' size='30'></td>
</tr>

<tr>
<td valign='bottom' align='center' colspan='2'><input type='submit' value='Entrar'></td>
</tr>
</table>
</form>
</div>


</fieldset>";

?>

</body>
</html>



VAlidacion
valida.php
<?php
session_start();

$nom=$_POST["nombreUsuario"];
$cla=$_POST["clave"];

mysql_connect("localhost","root","admin");
mysql_select_db("alumnos");

$sql="SELECT * FROM sesiones WHERE UserName=$nom AND Clave=$cla";
$recordset=mysql_query($sql) or die (mysql_error());
$reg=mysql_fetch_assoc($recordset);


if($reg["UserName"]==$nom && $reg["Clave"]==$cla)
{
$_SESSION["valido"]=true;
$_SESSION["ID"]=$reg["NC"];
$_SESSION["user"]=$reg["NombreUsuario"];
header("Location:alumnos.php");
}
else
{
header("Location:logIn.php");
}
?>
  #2 (permalink)  
Antiguo 22/10/2010, 14:43
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 8 meses
Puntos: 7
Respuesta: Validacion de inicio de sesión

haz un: echo $sql y comenta lo demas de tu codigo y postea lo que te muestra en pantalla
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #3 (permalink)  
Antiguo 22/10/2010, 14:50
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

esto es lo ke me muestra al agregar el echo "$sql"; despues de hacer la consulta:

SELECT * FROM sesiones WHERE UserName=Emma AND Clave=emmagUnknown column 'Emma' in 'where clause
  #4 (permalink)  
Antiguo 22/10/2010, 14:58
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 8 meses
Puntos: 7
Respuesta: Validacion de inicio de sesión

cambia tu $sql por este:

Código PHP:
Ver original
  1. $sql="SELECT * FROM sesiones WHERE UserName= '$nom' AND Clave= '$cla' ";

y postea que te muestra el echo
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #5 (permalink)  
Antiguo 22/10/2010, 15:02
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

Muestra esto:

SELECT * FROM sesiones WHERE UserName='Emma' AND Clave='emmag'
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\alumnos\valida.php:11) in C:\AppServ\www\alumnos\valida.php on line 21
  #6 (permalink)  
Antiguo 22/10/2010, 15:10
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 8 meses
Puntos: 7
Respuesta: Validacion de inicio de sesión

quita el echo, descomenta todo o demas del codigo y usa asi el $sql y postea si funciona
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #7 (permalink)  
Antiguo 22/10/2010, 15:11
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 7 meses
Puntos: 150
Respuesta: Validacion de inicio de sesión

Quita el echo que pusiste antes de prueba, ya que si envias algo a imprimir no puedes hacer nada con header();

Ese mensaje de error viene a significar algo como "No puedo modificar nada de las cabeceras porque ya enviaste algo al usuario! aunque sea una minuscula letra o espacio en blanco!"
  #8 (permalink)  
Antiguo 22/10/2010, 15:16
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

hola mira checate de esta forma
Código HTML:
<fieldset id='Field1'><legend> Iniciar Sesi&oacute;n</legend>
<div id='LogIn'>
<form action='valida.php' method='post'>
<table>
<tr>
<td>Usuario</td>
<td><input type='text' name="nombreUsuario" size='30'></td>
</tr>

<tr>
<td> Contrase&ntilde;a</td>
<td> <input type='password' name="clave" size='30'></td>
</tr>

<tr>
<td valign='bottom' align='center' colspan='2'><input type='submit' value='Entrar'></td>
</tr>
</table>
</form>
</div>


</fieldset>	



</body>
</html> 

Código PHP:

<?php
session_start
();

$nom=$_POST["nombreUsuario"];
$cla=$_POST["clave"];

mysql_connect("localhost","root","admin");
mysql_select_db("alumnos");



$queEmp_usuario=mysql_query("SELECT UserName,clave FROM sesiones WHERE UserName='$nom' and clave='$cla'");
$existe_usuario=mysql_num_rows($queEmp_usuario); 
$registro=mysql_fetch_row($queEmp_usuario);


if(
$existe_usuario>0)
{
if(
$registro[1]==$cla)
{



header ("Location:derechos.php");    
}

else
{
echo 
"<script language='JavaScript'>";
echo 
"location = 'index.php?error=yes'";//si la contraseña no es igual
echo "</script>";
}

}
else
{
echo 
"<script language='JavaScript'>";
echo 
"location = 'index.php?error=yes'";//si la contraseña no es igual
echo "</script>";}
?>
?>
  #9 (permalink)  
Antiguo 22/10/2010, 15:17
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

si quito el echo sale esto:

Unknown column 'Emma' in 'where clause'
  #10 (permalink)  
Antiguo 22/10/2010, 15:19
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 8 meses
Puntos: 7
Respuesta: Validacion de inicio de sesión

Como se llama tu tabla y los campos de la misma donde haces el $sql?
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #11 (permalink)  
Antiguo 22/10/2010, 15:25
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

Cita:
Iniciado por zapt142 Ver Mensaje
Como se llama tu tabla y los campos de la misma donde haces el $sql?
Mi tabla se llama sesiones
los campos son NC,UserName y Clave
  #12 (permalink)  
Antiguo 22/10/2010, 15:26
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

no checaste el coedigo que te pase?
  #13 (permalink)  
Antiguo 22/10/2010, 15:32
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 8 meses
Puntos: 7
Respuesta: Validacion de inicio de sesión

que raro pega la consulta de tu $sql en tu php myadmin y ve si se ejecuta
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #14 (permalink)  
Antiguo 22/10/2010, 15:34
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

dice ke no encuentra el archivo, aunque lo cambie por el mio
  #15 (permalink)  
Antiguo 22/10/2010, 15:35
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

aaaaaaaaa yo ise un codigo para celineadiction y lo adapte alo que eya quiere ya lo postie y no le ase caso ni modo=(
  #16 (permalink)  
Antiguo 22/10/2010, 15:41
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

Cita:
Iniciado por trinipau Ver Mensaje
aaaaaaaaa yo ise un codigo para celineadiction y lo adapte alo que eya quiere ya lo postie y no le ase caso ni modo=(
si le hice caso pero no funciona xD
  #17 (permalink)  
Antiguo 22/10/2010, 15:48
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

heeeeeeeeeeeeeee como que no funciona lo caleee que te marca
  #18 (permalink)  
Antiguo 22/10/2010, 15:48
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

si lo hago en php myadmin dice ke debo elegir al menos una columna para mostrar
escribo SELECT NC FROM alumnos ..... y me dice lo mismo
  #19 (permalink)  
Antiguo 22/10/2010, 15:50
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

Cita:
Iniciado por trinipau Ver Mensaje
heeeeeeeeeeeeeee como que no funciona lo caleee que te marca
lo que pasa es que tengo que cambiar a alumnos.php y al hacerlo como me dices dice que no lo encuentra, y tampoco si lo cambio a alumnos.php =/
  #20 (permalink)  
Antiguo 22/10/2010, 15:55
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

Cita:
Iniciado por celineadiction Ver Mensaje
lo que pasa es que tengo que cambiar a alumnos.php y al hacerlo como me dices dice que no lo encuentra, y tampoco si lo cambio a alumnos.php =/
haber tu pagina donde esta tu formulario como se llama?
de preferencia llama la pagina donde se encuntra tu formulario como index.php
y adonde ases la consulta llamalo valida.php ahora me queedo una dudad en tu codigo tienes contraseña para accesar ala base de datos por que tu en el codigo pusiste la contraseña de admin si es asi esta bien pero si no tienes contraseña ala bd quitale el admin

mysql_connect("localhost","root","admin");
mysql_select_db("alumnos");
  #21 (permalink)  
Antiguo 22/10/2010, 16:00
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

Este es el codigo de la pagina donde se tiene qu hacer el Log In
que debe mandar al archivo valida.php para verificar que el usuario existe

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<link href="estilo.css" rel="stylesheet" type="text/css" media=screen>
<title>Inicio de Sesión</title>
</head>
<body>

<?php
session_start();
mysql_connect("localhost","root","admin");
mysql_select_db("alumnos");

echo "<fieldset id='Field1'><legend> Iniciar Sesi&oacute;n</legend>
<div id='LogIn'>
<form action='valida.php' method='post'>
<table>
<tr>
<td>Usuario</td>
<td><input type='text' name='nombreUsuario' size='30'></td>
</tr>

<tr>
<td> Contrase&ntilde;a</td>
<td> <input type='password' name='clave' size='30'></td>
</tr>

<tr>
<td valign='bottom' align='center' colspan='2'><input type='submit' value='Entrar'></td>
</tr>
</table>
</form>
</div>


</fieldset>";

?>

</body>
</html>
  #22 (permalink)  
Antiguo 22/10/2010, 16:01
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

Este es el archivo valida.php donde se verifica la existencia del usuario y si existe debe mandar a alumnos.php y si no mandar a logIn.php

valida.php

<?php
session_start();

$nom=$_POST["nombreUsuario"];
$cla=$_POST["clave"];

mysql_connect("localhost","root","admin");
mysql_select_db("alumnos");

$sql="SELECT * FROM sesiones WHERE UserName=$nom AND Clave=$cla";
$recordset=mysql_query($sql) or die (mysql_error());
$reg=mysql_fetch_assoc($recordset);


if($reg["UserName"]==$nom && $reg["Clave"]==$cla)
{
$_SESSION["valido"]=true;
$_SESSION["ID"]=$reg["NC"];
$_SESSION["user"]=$reg["NombreUsuario"];
header("Location:alumnos.php");
}
else
{
header("Location:logIn.php");
}
?>
  #23 (permalink)  
Antiguo 22/10/2010, 16:03
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

Cita:
Iniciado por celineadiction Ver Mensaje
Este es el codigo de la pagina donde se tiene qu hacer el Log In
que debe mandar al archivo valida.php para verificar que el usuario existe

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<link href="estilo.css" rel="stylesheet" type="text/css" media=screen>
<title>Inicio de Sesión</title>
</head>
<body>

<?php
session_start();
mysql_connect("localhost","root","admin");
mysql_select_db("alumnos");

echo "<fieldset id='Field1'><legend> Iniciar Sesi&oacute;n</legend>
<div id='LogIn'>
<form action='valida.php' method='post'>
<table>
<tr>
<td>Usuario</td>
<td><input type='text' name='nombreUsuario' size='30'></td>
</tr>

<tr>
<td> Contrase&ntilde;a</td>
<td> <input type='password' name='clave' size='30'></td>
</tr>

<tr>
<td valign='bottom' align='center' colspan='2'><input type='submit' value='Entrar'></td>
</tr>
</table>
</form>
</div>


</fieldset>";

?>

</body>
</html>
aok pero por que estas imprimiendo todo el codigo de html? aparte por que mandas hacer una conecion atu bd de datos en este parte del coigo no cres que estaria mejor asi


Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
 <head>
	<link href="estilo.css" rel="stylesheet" type="text/css" media=screen>
  <title>Inicio de Sesión</title>
 </head>
<body>

 <fieldset id='Field1'><legend> Iniciar Sesi&oacute;n</legend>
		<div id='LogIn'>
		<form action='valida.php' method='post'>
		<table>
			<tr>
			<td>Usuario</td>
			<td><input type='text' name='nombreUsuario' size='30'></td>
			</tr>

			<tr>
			<td> Contrase&ntilde;a</td>
			<td> <input type='password' name='clave' size='30'></td>
			</tr>
			
			<tr>
			<td valign='bottom' align='center' colspan='2'><input type='submit' value='Entrar'></td>
			</tr>
		</table>
		</form>
		</div>


</fieldset>

 

</body>
</html> 
  #24 (permalink)  
Antiguo 22/10/2010, 16:09
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

si omito las lineas de conexión a la base de datos, no selecciona ninguna base y no puedo hacer nada después .-.
  #25 (permalink)  
Antiguo 22/10/2010, 16:12
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

Cita:
Iniciado por celineadiction Ver Mensaje
si omito las lineas de conexión a la base de datos, no selecciona ninguna base y no puedo hacer nada después .-.
amm que raro pero bueno mira sustituye esto
Código PHP:
$sql="SELECT * FROM sesiones WHERE UserName=$nom AND Clave=$cla"
POR ESTO
Código PHP:
$sql="SELECT * FROM sesiones WHERE UserName='$nom' and Clave='$cla'"
  #26 (permalink)  
Antiguo 22/10/2010, 16:16
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

Cita:
Iniciado por trinipau Ver Mensaje
amm que raro pero bueno mira sustituye esto
Código PHP:
$sql="SELECT * FROM sesiones WHERE UserName=$nom AND Clave=$cla"
POR ESTO
Código PHP:
$sql="SELECT * FROM sesiones WHERE UserName='$nom' and Clave='$cla'"

eso lo he hecho, pero sigue saliendo el error que dice ke no reconoce la columna'Emma' que es el nombre de usuario con el que trato de logear
  #27 (permalink)  
Antiguo 22/10/2010, 16:20
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

como esta en tu base de datos? estas trabajando con mysql verdad? muestrame los datos de tu tabla sesiones
  #28 (permalink)  
Antiguo 22/10/2010, 16:26
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

Cita:
Iniciado por trinipau Ver Mensaje
como esta en tu base de datos? estas trabajando con mysql verdad? muestrame los datos de tu tabla sesiones
| NC | UserName | Clave |
|07480239 | Emma |emmag |

por el momento es lo unico que contiene, es solo para probarlo, pero no funciona
  #29 (permalink)  
Antiguo 22/10/2010, 16:34
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

segura que ya isiste lo que te dije?? yo asi lo estoy ejecutando y jala bien
ise una tabla que se llama sesiones igual que la tuya agregue los mismos campos estos
NC | UserName| Clave
int(autoincremento) varchar(20) varchar(20)
  #30 (permalink)  
Antiguo 22/10/2010, 17:28
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Validacion de inicio de sesión

gracias por su ayuda, aprovechando que estoy en la escuela, vine a la biblioteca y agarré un libro para ver qué estaba haciendo mal y solamente tuve que cambiar el:
SELECT * FROM sesiones WHERE UserName=$nom AND Clave=$cla

por
SELECT * FROM sesiones WHERE UserName LIKE '$nom' AND Clave LIKE '$cla';

bueno eso solo fue el inicio de la sesion xD
ahora solo me falta proteger la información :S


gracias por su ayuda!!!

Etiquetas: inicio, sesión
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 11:21.