HTTP 500 Error interno con mi PHP Login

Buenas, la verdad esque me estoy haciendo una web poco a poco con mis conocimientos sobre html y php ayudandome tambien con internet y no veo el error en mi login, si podria alguien echarme una mano, se agradece, lo dejo aqui.

Agradeceria ya que tampoco entiendo mucho me pegaran de nuevo todo el codigo arreglado para enterarme mejor.

Muchas gracias! :idea:

PD: Eso es solo una parte de la pagina, si hace falta que copie todo el codigo avisad.

<?php
include("conexion.php";);

if(isset($_POST['login']))
{
$nick= $_POST['nick'];
$pass= md5(md5($_POST['pass']));
$b_user=mysql_query("SELECT * FROM usuarios WHERE nick='$nick'";);
$ses = @mysql_fetch_assoc($b_user) ;
if(@mysql_num_rows($b_user))
{
if($ses['pass'] == $pass)
{
$_SESSION['id']= $ses["id"];
$_SESSION['fecha']= $ses["fecha"];
$_SESSION['nick']= $ses["nick"];
$_SESSION['mail']= $ses["mail"];
$_SESSION['ip']= $ses["ip"];
}
else
{
echo 'Nombre de usuario o Contrase&ntilde;a incorrecta.';
}
}
else
{
echo 'Nombre de Usuario o contrase&ntilde;a incorrecta.';
}
}

if(isset($_GET['modo']) == 'desconectar')
{
session_destroy();
echo '<meta http-equiv="Refresh" content="2;url=login.php"> ';
exit ('Te has desconectado del sistema.');
}

if(isset($_SESSION['id']))
{
echo 'Bienvenido ' . $_SESSION['nick'] . '

';
echo 'Fecha registro: ' . date("d-m-Y - H:i", $_SESSION['fecha']) . '
';
echo 'Email: ' . $_SESSION['mail'] . '
';
echo 'IP: ' . $_SESSION['ip'] . '

';
echo 'Salir';
}
else
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Login</title>
</head>
<body>
<h2>Conetarse - Desconectarse</h2>
<div align="center">
<form name="login_user" action="login.php" method="post" />
<dt><label>Nick:</label></dt>
<input type='text' name='nick' />


<dt><label>Contraseña:</label></dt>
<input type="password" name='pass' />



<input type="submit" name="login" style="width:100px;" tabindex="6" value="Entrar" />
<input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" />
</form>
Registrarse
</div>
<?php
}
?>
</body>
</html>
Cuantos errores o.o Según entendí es un sistema de login de usuario, ¿no?
Otra cosa que entendí es que no entiendes bien lo que escribes... Es muy lioso e innecesario todo ese código.

Si quieres te haré yo uno basandome en ese...
La verdad es que eso junto a 4 archivos más los cojí de un post de un foro que me encontre por ahí.
Te dejo los 4 archivos y si puedes me los haces basandote en esos porfavor, te estaría muy agradecido.

Añado: En el post del foro tambien te dice que hagas una base de daros SLQ(llamada registro) y te hace enviar una consulta para crear una tabla

Consulta
CREATE TABLE usuarios (
id int(5) not null auto_increment,
fecha int(10) not null,
nick varchar(20) not null,
pass varchar(32) not null,
mail varchar(40) not null,
ip varchar(15) not null,
primary key (id),
key (nick,pass)
)

E ahora te dejo los 4 archivos que hacen crear en esa pagina.

Conexion.php
<?php
$nombre_server[1] = 'localhost'; //Servidor al cual nos vamos a conectar.
$nombre_user[2] = 'root'; //Nombre del usuario de la base de datos.
$password[3] = ''; //Contraseña de la base de datos
$nombre_db[4] = 'registro'; //nombre de la base de datos

$conectar = @mysql_connect($nombre_server[1],$nombre_user[2],$password[3]) or exit('Datos de conexion incorrectos.');
mysql_select_db($nombre_db[4]) or exit('No existe la base de datos.');

/*En este archivo también pondremos unas funciones necesarias para el registro y el login*/
session_start();

/*Función que se encarga de eliminar codigo malicioso de las variables.*/
function limpiar($var)
{

$var = trim($var);
$var = htmlspecialchars($var);
$var = str_replace(chr(160),'',$var);
return $var;
}

/*Función que se encarga de validar el email de registro para que sea correcto.*/
function validar_email($email){
$mail_correcto = 0;
//compruebo unas cosas primeras
if ((strlen($email) >= 6) && (substr_count($email,"@";) == 1) && (substr($email,0,1) != "@";) && (substr($email,strlen($email)-1,1) != "@";))
{
if ((!strstr($email,"'";)) && (!strstr($email,""";)) && (!strstr($email,"";)) && (!strstr($email,"$";)) && (!strstr($email," ";)))
{//miro si tiene caracter .
if (substr_count($email,".";)>= 1)
{//obtengo la terminacion del dominio
$term_dom = substr(strrchr ($email, '.'),1);
//compruebo que la terminaci?n del dominio sea correcta
if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@";)) )
{//compruebo que lo de antes del dominio sea correcto
$antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
$caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
if ($caracter_ult != "@" && $caracter_ult != "." ;)
{
$mail_correcto = 1;
}
}
}
}
}
if ($mail_correcto)
return 1;
else
return 0;
}

/*Funcion que se encarga de validar si el usuario esta registrado en el sistema*/
function user_login()
{
if(!$_SESSION['id'])
{
exit ("Solo usuarios registrados, Volver";);
}
}
?>

Registro.php
<?php
include("conexion.php";);
//Sistema de registro --HiperAcme.net--

if(isset($_POST['registro']))//Vallidamos que el formulario fue enviado
{ /*Validamos que todos los campos esten llenos correctamente*/
if(($_POST['nick'] != '') && ($_POST['mail'] != '') && ($_POST['pass'] != '') && ($_POST['conf_pass'] != ''))
{
if($_POST['pass'] != $_POST['conf_pass'])
{
echo '
Las contrase&ntilde;as no coinciden';
}
else
{
$date= time();
$nick= limpiar($_POST['nick']);
$mail= limpiar($_POST['mail']);
$pass= md5(md5(limpiar($_POST['pass'])));
$ipuser= $_SERVER['REMOTE_ADDR'];

$b_user= mysql_query("SELECT nick FROM usuarios WHERE nick='$nick'";);
if($user=@mysql_fetch_array($b_user))
{
echo '
El nombre de usuario o el email ya esta registrado.';
mysql_free_result($b_user); //liberamos la memoria del query a la db
}
else
{
if(validar_email($_POST['mail']))
{
mysql_query("INSERT INTO usuarios (fecha,nick,mail,pass,ip) values ('$date','$nick','$mail','$pass','$ipuser')";);
echo '
Te has registrado Correctamente, ahora podras iniciar sesi&oacute;n como usuario registrado.';
}
else
{
echo '
El email no es valido.';
}
}
}
}
else
{
echo '
Deberas llenar todos los campos.';
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Registro de Usuarios</title>
</head>
<body>
<h2>Sistema de Registro</h2>
<div align="center">
<form name="registrar" action="registro.php" method="post" onsubmit="return validar()" />
<dt><label>Nick:</label></dt>
<input type='text' name='nick' />



<dt><label>E-mail:</label></dt>
<input type='text' name='mail' />



<dt><label>Contraseña:</label></dt>
<input type="password" name='pass' />



<dt><label>Confirmar Contraseña:</label></dt>
<input type="password" name='conf_pass' />





<input type="submit" name="registro" style="width:100px;" tabindex="6" value="Registrar" />
<input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" />
</form>
Identificarse
</div>
</body>
</html>

Login.php
<?php
include("conexion.php";);

if(isset($_POST['login']))
{
$nick= $_POST['nick'];
$pass= md5(md5($_POST['pass']));
$b_user=mysql_query("SELECT * FROM usuarios WHERE nick='$nick'";);
$ses = @mysql_fetch_assoc($b_user) ;
if(@mysql_num_rows($b_user))
{
if($ses['pass'] == $pass)
{
$_SESSION['id']= $ses["id"];
$_SESSION['fecha']= $ses["fecha"];
$_SESSION['nick']= $ses["nick"];
$_SESSION['mail']= $ses["mail"];
$_SESSION['ip']= $ses["ip"];
}
else
{
echo 'Nombre de usuario o Contrase&ntilde;a incorrecta.';
}
}
else
{
echo 'Nombre de Usuario o contrase&ntilde;a incorrecta.';
}
}

if(isset($_GET['modo']) == 'desconectar')
{
session_destroy();
echo '<meta http-equiv="Refresh" content="2;url=login.php"> ';
exit ('Te has desconectado del sistema.');
}

if(isset($_SESSION['id']))
{
echo 'Bienvenido ' . $_SESSION['nick'] . '

';
echo 'Fecha registro: ' . date("d-m-Y - H:i", $_SESSION['fecha']) . '
';
echo 'Email: ' . $_SESSION['mail'] . '
';
echo 'IP: ' . $_SESSION['ip'] . '

';
echo 'Salir';
}
else
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Login</title>
</head>
<body>
<h2>Conetarse - Desconectarse</h2>
<div align="center">
<form name="login_user" action="login.php" method="post" />
<dt><label>Nick:</label></dt>
<input type='text' name='nick' />


<dt><label>Contraseña:</label></dt>
<input type="password" name='pass' />



<input type="submit" name="login" style="width:100px;" tabindex="6" value="Entrar" />
<input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" />
</form>
Registrarse
</div>
<?php
}
?>
</body>
</html>

Perfil.php
<?php
include("conexion.php";
user_login();
echo '<h2>Pagina solo para usuarios registrados</h2>
';
echo 'Nombre de Usuario: ' . $_SESSION['nick'] . '
';
echo 'Fecha de registro: ' . date("d-m-Y - H:i", $_SESSION['fecha']) . '
';
echo 'Email de registro: ' . $_SESSION['mail'] . '
';
echo 'IP: ' . $_SESSION['ip'] . '

';
echo 'Salir';
?>
Siento alargarlo tanto pero no se ponerlo en spoil ni adjuntarlo :S
Muchas gracias, te lo agradezco, ahora lo pongo y tal. Gracias.
Un gran abrazo. :wink:
Si no funciona avisame. Debería funcionar al 100%

¡Se me olvido decir lo que tiene!

Tiene:
:arrow: Sistema de registro con los datos: Nombre, Email, Sexo, Fech de registro y Contraseña. Busca, antes de registrar, si hay un usuario o e-mail igual.
:arrow: Logueo de usuario.
:arrow: Perfil donde te da un mensaje de bienvenida. Indica cuándo te registraste en formato Dia/Mes/Año completo
:arrow: Sistema de modificación de datos: E-mail, Sexo y Contraseña. (Integrado en el perfil).
:arrow: Logout de usuario.
Seré sincero:

En un principio estaba esperando tu respuesta pero despues cansado de hacer el diseño porque ya lo habia acabado me puse a buscar otro sistema. Lo encontre y lo puse, y ahora está puesto todavía. Te dije eso para que no creyeras que tu trabajo habia sido en vano y desde luego, ahora no lo es, la verdad es que me gusta mas, lo unico es que voy a hacer un link en el perfil.php a otro archivo si quieren cambiar sus datos.
Muchas gracias y si, funciona perfectamente, eres un crack. :wink:

Un saludo.


Añado:Busco sponsor, si hay algun interesado agregad [correo eliminado](msn o mail)
o mail a:
[correo eliminado](a veces no llega, preferible al otro).
Pagina web: http://www.bannss1.byethost4.com/website/index.php
La verdad, conseguir poner un link en el cual cambiar alguno de los datos no me ha costado mucho, ha sido simplemente mirar un poco y va perfecto.
Ire al grano, me gustaria (como en el otro sistema que tengo) que en vez de haber login.php y perfil.php. Porque lo que hago es una pagina con un login en la parte derecha, yo la verdad, lo he intentado todo pero no hay cojones.
Si no es asi me parece que tengo que hacer cada seccion dos veces, y no es por el trabajo que me cuesta, es simplemente cambiarle una pequeña parte pero no creo que sea necesario.

Si pudieras hacer eso, es lo ultimo que te pido, muchisimas gracias por todo y de antemano.

Te dejo aqui el otro sistema: (tiene lo que creo que describo ahi pero no lo de cambiar datos :( )
Descarga: http://rapidshare.com/files/91083587/registro_usuarios.rar.html
Test Sistema: http://www.bannss1.byethost4.com/registersystem/new/index.php
Eso es facil... El formulario de login ponlo como hacer los menús. Cuando den clic al boton que este lleve a un archivo aparte que loguea. Es algo sencillo. Si no te sale, te ayudo.
Aparte de no entender que es eso de poner formulario de login como hacer los menus (supongo que sera cambiar esto method="post") tampoco se hacer el archivo aparte que loguea, voy a intentar y ahora te digo algo.

Comento: Pues lo he provado y puff... Imposible para mi
Si me pusieras ayudar porfavor... Por cierto, intentandolo hacer me he fijado que el otro que tengo guarda una cookies(creo), me gustaria tambien que tubiese porque me he fijado que yo estoy en login.php y al conectarme me lleva a perfil.php pero si yo voy manualmente a login.php me vuelve a salir el login. Si eso lo pudieses poner, si no te cuesta mucho, hazlo porfavor.
Y mil gracias. Te puse en la pagina en creditos y eso ;)
Es muy fácil. Aprende PHP si quieres hacer webs así, será lo mejor.

Lo volví a suvir a MU, más que nada por estética del código. El formulario de logueo está en login.php y el sistema de logueo en iniciar-sesion.php

http://www.megaupload.com/?d=81RFAGLI

Incluí un sistema que, si estás conectado, te lleva directamente del formulario al perfil.
Que grande eres tío, yo mire más de una guia de php y estube hace mucho tiempo pero lo único que encontraba eran guias en que lo explicaban todo con un vocabulario para mí desconocido y no me enteraba de nada. Ya buscare alguna estos días.

Añado: Esto no es lo que pedí (Pedi que al loguearte en login.php, por ejemplo, continuase en index.php pero con ya el perfil.php y no primero en una y despues en otra pagina) pero tranquilo, ya hiciste mucho por mi, creo que podre hacerlo yo solo y sino ya buscare guias.

Muchísimas gracias.
Seguí tu consejo, me mire unas cuantas páginas y varios video tutoriales y más o menos ya aprendi lo básico y ya sabria hacer lo que te pedí. Tal vez todavía no sabría escribir yo a mano un sistema como el tuyo de usuarios pero si interpretar lo básico y saber porque se hace cada cosa.
Me esfrozaré por seguir aprendiendo 8)

Gracias nuevamente.