Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/05/2010, 07:32
Maestro_kanelo
 
Fecha de Ingreso: marzo-2006
Mensajes: 133
Antigüedad: 18 años, 2 meses
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