Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/12/2006, 01:28
Sengokushi
 
Fecha de Ingreso: diciembre-2004
Mensajes: 29
Antigüedad: 19 años, 4 meses
Puntos: 0
Problemas con sistema de login

Buenas...

Tengo un sistema de registro y login de usuarios pero no me funciona, te puede registrar etc... pero cuando intento loguearme... zahs, no funciona.

Os muestro los códigos:

Database setup

CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(30) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`email` varchar(40) NOT NULL default '',
`msn` varchar(250) NOT NULL default 'Not Specified',
`aim` varchar(250) NOT NULL default 'Not Specified',
`location` varchar(36) NOT NULL default 'Not Specified',
PRIMARY KEY (`id`)
) TYPE=MyISAM;

config.php

Código PHP:
<?
   ob_start
(); // allows you to use cookies
   
$conn mysql_connect("***.powweb.com","dcwebusers","***");
   
mysql_select_db(dcwebusers) or die(mysql_error());
   
//fill in the above lines where there are capital letters.
   
$logged MYSQL_QUERY("SELECT * from users WHERE id='$_COOKIE[id]'");
   
$logged mysql_fetch_array($logged);
   
//the above lines get the user's information from the database.
?>
register.php

Código PHP:
<?php
ob_start
();
// allows you to use cookies
include("config.php");
//gets the config page
if ($_POST[register]) {
// the above line checks to see if the html form has been submitted
$username $_POST[username];
$password $_POST[pass];
$cpassword $_POST[cpass];
$email $_POST[emai1];
//the above lines set variables with the user submitted information
if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
//checks to make sure no fields were left blank
echo "Un campo fue dejado en blanco.";
}else{
//none were left blank!  We continue...
if($password != $cpassword) {
// the passwords are not the same!  
echo "Las contraseñas no coinciden";
}else{
// the passwords are the same!  we continue...
$password md5($password);
// encrypts the password
$checkname mysql_query("SELECT username FROM users WHERE username='$username'");
$checknamemysql_num_rows($checkname);
$checkemail mysql_query("SELECT email FROM users WHERE email='$email'");
$checkemail mysql_num_rows($checkemail);
if (
$checkemail>0|$checkname>0) {
// oops...someone has already registered with that username or email!
echo "El nombre de usuario (nickname) o el correo electrónico ya están siendo utilizados por otro usuario.";
}else{
// noone is using that email or username!  We continue...
$username htmlspecialchars($username);
$password htmlspecialchars($password);
$email htmlspecialchars($email);
// the above lines make it so that there is no html in the user submitted information.
//Everything seems good, lets insert.
$query mysql_query("INSERT INTO users (username, password, email) VALUES('$username','$password','$email')");
// inserts the information into the database.
echo "Tu registro se ha efectuado satisfactoriamente";
}
}
}
}
else
{
// the form has not been submitted...so now we display it.
echo ("
<center>
<form method=\"POST\">
Nombre de usuario (nickname): <input type=\"text\" size=\"15\" maxlength=\"25\" name=\"username\"><br />
Contraseña: <input type=\"password\" size=\"15\" maxlength=\"25\" name=\"pass\"><br />
Repetir Contraseña: <input type=\"password\" size=\"15\" maxlength=\"25\" name=\"cpass\"><br />
E-mail: <input type=\"text\" size=\"15\" maxlength=\"75\" name=\"emai1\"><br />
<input name=\"register\" type=\"submit\" value=\"Registrar usuario\">
</form>
</center>
"
);
}
?>
login.php

Código PHP:
<?
oB_start
();
// allows you to use cookies.
include("config.php");
if (!
$logged[username])
{
if (!
$_POST[login])
{
echo(
"
<center><form method=\"POST\">
<table>
<tr>
<td align=\"right\">
Nombre de usuario (nickname): <input type=\"text\" size=\"15\" maxlength=\"25\" name=\"username\">
</td>
</tr>
<tr>
<td align=\"right\">
Contraseña: <input type=\"password\" size=\"15\" maxlength=\"25\" name=\"password\">
</td></tr><tr>
<td align=\"center\">
<input type=\"submit\" name=\"login\" value=\"Conectar\">
</td></tr><tr>
<td align=\"center\">
<a href=\"register.php\">Registrarse</a>
</td></tr></table></form></center>"
);
}
if (
$_POST[login]) {
// the form has been submitted.  We continue...
$username=$_POST['username'];
$password md5($_POST[password]);
// the above lines set variables with the submitted information.  
$info mysql_query("SELECT * FROM users WHERE username = '$username'") or die(mysql_error());
$data mysql_fetch_array($info);
if(
$data[password] != $password) {
// the password was not the user's password!
echo "Nombre de usuario o contraseña incorrectas";
}else{
// the password was right!
$query mysql_query("SELECT * FROM users WHERE username = '$username'") or die(mysql_error());
$user mysql_fetch_array($query);
// gets the user's information
setcookie("id"$user[id],time()+(60*60*24*5), "/""");
setcookie("pass"$user[password],time()+(60*60*24*5), "/""");
// the above lines set 2 cookies. 1 with the user's id and another with his/her password.  
echo ("<meta http-equiv=\"Refresh\" content=\"0; URL=*****\"/>Gracias por conectarte! Ahora serás redireccionado a la página principal");
// modify the above line...add in your site url instead of yoursite.com
}
}
}
else
{
// we now display the user controls.
echo ("<center>Bienvenido <b>$logged[username]</b><br /></center>
- <a href=\"editprofile.php\">Editar Perfil</a><br />
- <a href=\"members.php\">Lista de Miembros</a><br />
- <a href=\"logout.php\">Salir</a>"
);
}
?>
editprofile.php

Código PHP:
<?
ob_start
();
include(
"config.php");
if (
$logged[username])
{
// the user is logged in!  We continue...
if (!$_POST[update])
{
// the form hasn't been submitted.  We continue...
$profile mysql_query("SELECT * from users where username = '$logged[username]'");
$profile mysql_fetch_array($profile);
// the above lines get the information so that it can be displayed in the html form.
echo("
<center><form method=\"POST\">
<table width=\"100%\">
<tr>
<td align=\"right\" width=\"25%\">
Localidad
</td>
<td align=\"left\">
<input type=\"text\" size=\"25\" maxlength=\"25\" name=\"locate\" value=\"$profile[location]\"></td>
</tr>
<tr>
<td align=\"right\" width=\"25%\">
MSN Messenger
</td>
<td align=\"left\">
<input size=\"25\" name=\"msn\" value=\"$profile[msn]\"></td>
</tr>
<tr>
<td align=\"right\" width=\"25%\">
AOL Messenger</td>
<td align=\"left\">
<input size=\"25\" name=\"aim\"  value=\"$profile[aim]\"></td>
</tr>
<tr>
<td align=\"right\" width=\"25%\">
E-mail</td>
<td align=\"left\">
<input size=\"25\"  name=\"email\" value=\"$profile[email]\"></td>
</tr>
<tr>
<td align=\"center\">
</td>
<td align=\"left\">
<input type=\"submit\" name=\"update\" value=\"Actualizar perfil\"></td>
</tr>
</table>
</form>
</center>"
);
}
else
{
$email htmlspecialchars($_POST[email]);
$aim htmlspecialchars($_POST[aim]);
$msn htmlspecialchars($_POST[msn]);
$locate htmlspecialchars($_POST[locate]);
// the above lines get rid of all html.
echo ("Tu perfil ha sido actualizado!");
$update mysql_query("Update users set email = '$email',
msn = '$msn', aim = '$aim', location = '$locate' where username = '$logged[username]'"
);
// updates the information in the database.
}
}
else
{
// They aren't logged in!
echo ("<a href=\"login.php\">Conectarme</a>");
}
?>
members.php

Código PHP:
<?
ob_start
();
include(
"config.php");
if (!
$_GET[user])
{
$getuser mysql_query("SELECT * from users order by id asc");
while (
$user mysql_fetch_array($getuser))
{
// gets all the users information.
echo ("<a href=\"members.php?user=$user[username]\">$user[username]</a><br />\n");
// links to a page to view the user's profile.
}
}
ELSE
{
$getuser mysql_query("SELECT * from users where username = '$_GET[user]'");
$usernum mysql_num_rows($getuser);
if (
$usernum == 0)
{
echo (
"Usuario no encontrado");
}
else
{
$profile mysql_fetch_array($getuser);
echo (
"<center><b>Perfil de $profile[username]</b><br /></center>
MSN Messenger: $profile[msn]<br />
AIM Messebger: $profile[aim]<br />
Localidad: $profile[location]<br />
E-mail: $profile[email]"
);
// in the above code, we display the user's information.
}
}
?>
logout.php

Código PHP:
<?
ob_start
();
setcookie("id"2132421,time()+(60*60*24*5), "/""");
setcookie("pass"loggedout,time()+(60*60*24*5), "/""");
echo (
"Has salido de la cuenta!");
?>
código para proteger páginas

Código PHP:
<?
ob_start
();
include(
"config.php");
?>
código para saber si estás conectado - para las pags de miembros registrados únicamente -

Código PHP:
<?
   ob_start
();
   include(
"config.php");
   if (
$logged[username])
   {
      echo(
"You are logged in");
   }
   else
   {
      echo(
"You are not logged in");
   }
?>
------------------------------------

Luego, este script tiene una serie de modificaciones q permite enviar y recibir MP.. etc pero eso para mas adelante, ahora el problema es este, que no me deja loguearme

Saludos.