Foros del Web » Programando para Internet » PHP »

Problema con inicio sesion

Estas en el tema de Problema con inicio sesion en el foro de PHP en Foros del Web. Estoy intentando crear una pagina donde el usuario que quiera entrar deba estar registrado como usuario en la base de datos mediante su nombre y ...
  #1 (permalink)  
Antiguo 02/05/2010, 07:32
 
Fecha de Ingreso: marzo-2006
Mensajes: 133
Antigüedad: 18 años, 1 mes
Puntos: 6
Problema con inicio sesion

Estoy intentando crear una pagina donde el usuario que quiera entrar deba estar registrado como usuario en la base de datos mediante su nombre y contraseña:

Para ello me he creado en la bd una tabla usuario con los datos de ID_U (entero, PK) ; Nombre (Varchar) y Contrasena (Varchar). y he añadido un usuario para hacer pruebas.

La web tiene una pagina con un formulario para ingresar el nombre y la contraseña, el codigo es el siguiente:

usuarios.php:

<!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">
<?php
session_start();
?>

<head>
..
..
..
..
<?
//@session_destroy();
?>
<body>
..
..
..
..
<form id="identificacion" name="identificacion" method="post" action="validar.php">
<label>
<div align="center">
<table width="120">
<tr>
<td>Nombre:</td>
<td><input name="nombre" type="text" id="nombre" size="20" maxlength="10" /></td>
</tr>
<tr>
<td>Contraseña:</td>
<td><input name="contrasena" type="password" id="contrasena" size="20" maxlength="10" /></td>
</tr>
</table>
</div>
</label>
<p align="center">&nbsp;</p>
<p align="center">
<label>
<input name="entrar" type="submit" id="entrar" value="Entrar" />
</label>
</p>
</form>
..
..
..
..
</body>


La pagina validar.php a la que te manda el formulario lleva el siguiente codigo:

<?
session_start();
include "GestorBD.php";
//A continuacion vamos a listar los datos en base de datos
$conexion = mysql_connect( $localhost, $usuario,$passw);
mysql_select_db($bd,$conexion);
//Me creo la consulta que voy a ejecutar. En este caso voy a obtener todas las noticias de la base de datos
$consulta = "Select * from usuario where nombre='".$_REQUEST['nombre']."' AND contrasena='".$_REQUEST['contrasena']."'";
//print($consulta);
//print("<br>");
//Para ejecutar consultas se utiliza la funcion 'mysql_db_query'. Este funcion sirve tanto para insertar, modificar o borrar registros;
//como para seleccionarlos de la base de datos;
$result = mysql_db_query($bd,$consulta );
//So hay algun error lo mostramos
echo mysql_error();
?>
<?
if($row = mysql_fetch_array($result))
{?>
<?
$_SESSION["autentificado"]= "SI";
$_SESSION["nombre"]= $_REQUEST['nombre'];
header ("Location: privado.php");
}else {
header("Location: usuarios.php?errorusuario=si");
}
?>


La pagina privado.php:

<?
session_start();
$nombre=$_SESSION["nombre"];
$_SESSION["nombre"] = $nombre;
?>
<!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>
..
..
</head>
<body>
..
..
</body>

En archivo gestorbd.php es el siguiente:

<?php
//local
$localhost = "localhost";
$usuario = "admin";
$passw = "admin";
$bd = "2atelecom";


?>

El problema que tengo es que al intentar entrar rellenando el formulario y pulsando entrar me aparece una pantalla con el siguiente texto (que es parte del archivo validar.php):

"); //Para ejecutar consultas se utiliza la funcion 'mysql_db_query'. Este funcion sirve tanto para insertar, modificar o borrar registros; //como para seleccionarlos de la base de datos; $result = mysql_db_query($bd,$consulta ); //So hay algun error lo mostramos echo mysql_error(); ?>



Como os habreis dado cuenta soy un poco principiante, agradeceria mucho que alguien me dijera porque me da este error, que estoy haciendo mal!

Muchas gracias
  #2 (permalink)  
Antiguo 02/05/2010, 07:44
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Respuesta: Problema con inicio sesion

has mirado a quitar los comentarios? no vaya a ser que alguno interfiera?
__________________
No diseñes usando tablas.
  #3 (permalink)  
Antiguo 02/05/2010, 08:07
 
Fecha de Ingreso: marzo-2006
Mensajes: 133
Antigüedad: 18 años, 1 mes
Puntos: 6
Respuesta: Problema con inicio sesion

Vale si quito todos los comentarios simplemente me llava a una pagina en blanco...

parece que soluciono parte del problema pero me encuentro con otro.

Última edición por Maestro_kanelo; 02/05/2010 a las 08:13
  #4 (permalink)  
Antiguo 02/05/2010, 08:30
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Respuesta: Problema con inicio sesion

por que usas $_REQUEST['nombre']? para que es? recoger lo que te envía el formulario? donde ejecutas la consulta a la base de datos?
__________________
No diseñes usando tablas.
  #5 (permalink)  
Antiguo 02/05/2010, 10:32
 
Fecha de Ingreso: marzo-2006
Mensajes: 133
Antigüedad: 18 años, 1 mes
Puntos: 6
Respuesta: Problema con inicio sesion

Cita:
Iniciado por hades87 Ver Mensaje
por que usas $_REQUEST['nombre']? para que es? recoger lo que te envía el formulario? donde ejecutas la consulta a la base de datos?
$consulta = "Select * from usuario where nombre='".$_REQUEST['nombre']."' AND contrasena='".$_REQUEST['contrasena']."'"; --> Con $_REQUEST capturo lo que he introducido en el formulario y busco lo en la tabla usuario de la base de datos al usuario que coincide con el nombre y contraseña ingresados

$result = mysql_db_query($bd,$consulta ); --> Con esta sentencia consulto a la base de datos.


Puede que me este montando un cacao yo solo, no se

Etiquetas: inicio
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 23:40.