Foros del Web » Programando para Internet » PHP »

Ayuda, codigo de login

Estas en el tema de Ayuda, codigo de login en el foro de PHP en Foros del Web. Hola!, que tal, tengo un problema con este codigo, el tema es que cuando el usuario inicie sesion arriba en la url no aparezca http://localhost/index/perfil/perfil.php?id=data['id'], ...
  #1 (permalink)  
Antiguo 01/02/2010, 12:02
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
Ayuda, codigo de login

Hola!, que tal, tengo un problema con este codigo, el tema es que cuando el usuario inicie sesion arriba en la url no aparezca http://localhost/index/perfil/perfil.php?id=data['id'], sino el numero de id de usuario por ejemplo 1.

que es lo que está mal en el codigo?


Código:
<?php
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='nombreusuariodb';
$dbuserpass='password_db';
$dbname='db_nombre';

// Conectar a la base de datos
mysql_connect("localhost", "nombreusuariodb","password_db" ) or die(mysql_error());
mysql_select_db("db_nombre" ) or die(mysql_error());


if ($_POST['username'] ) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];


if ($password==NULL) {
echo "Debes escribir el password";
}else{
$query = mysql_query("SELECT username, password FROM users WHERE username = '$username'" ) or die(mysql_error());
$data = mysql_fetch_array($query);
header("location: http://localhost/index/perfil/perfil.php?id=data['id']");
if($data['id'] != $id) {
echo "Usuario o contraseña incorrectos, si todavia no eres usuario puedes registrarte<a href='http://localhost/index/registro.html'> Aqui</a>";
}else{
$query = mysql_query("SELECT username,password FROM users WHERE username = '$username'" ) or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=http://localhost/index/perfil/perfil.php?user='.$username.'"> '; 
}
}
}
?>
  #2 (permalink)  
Antiguo 01/02/2010, 12:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda, codigo de login

pues $data['id'] es una variable, porque omites el $ ???
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/02/2010, 12:15
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Ayuda, codigo de login

La verdad muy bien no se entiende q es lo q estas queriendo hacer, o la forma en la que lo estas queriendo hacer. Te estas complicando demasiado me parece.

Si no queres que te salga eso, simplemente cambialo de esta linea...

Código PHP:
Ver original
  1. header("location: http://localhost/index/perfil/perfil.php?id=data['id']");

Ademas, te estas olvidando el $ antes de 'data'

Al margen de esto... No te tira un warning eso? supuestamente debajo de un header() no podes tener ningun echo...
__________________
HV Studio
Diseño y desarrollo web
  #4 (permalink)  
Antiguo 01/02/2010, 12:25
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Ayuda, codigo de login

Lo que yo quiero es que cuando el usuario inicie sesion, en vez de aparecer "perfil.php?user=pepe", me aparezca el numero de id por ejemplo.

Este es el codigo de registro.php:

Código:
<?php
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='nombreusuariodb';
$dbuserpass='password_db';
$dbname='db_nombre';
// Conexi&oacute;n a la base de datos
mysql_connect("localhost", "nombreusuariodb","password_db" ) or die(mysql_error());
mysql_select_db("db_nombre" ) or die(mysql_error());

// Preguntaremos si se han enviado ya las variables necesarias
if (isset($_POST["username"] ) ) {
$username = $_POST["username"];
$password = md5 ($_POST["password"]);
$cpassword = md5 ($_POST["cpassword"]);
$email = $_POST["email"];
// Hay campos en blanco
if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
echo "Hay campos vacíos";
}else{
// &iquest;Coinciden las contrase&ntilde;as?
if($password!=$cpassword) {
echo "Las contraseñas no coinciden";
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya exist&iacute;an
$checkuser = mysql_query("SELECT username FROM users WHERE username='$username'" ) ;
$username_exist = mysql_num_rows($checkuser);

$checkemail = mysql_query("SELECT email FROM users WHERE email='$email'" ) ;
$email_exist = mysql_num_rows($checkemail);

if ($email_exist>0|$username_exist>0) {
echo "EL nombre de usuario o la cuenta de correo estan ya en uso";
}else{
//Todo parece correcto procedemos con la insercion
$query = "INSERT INTO users (username, password, email) VALUES('$username','$password','$email')";
mysql_query($query) or die(mysql_error());
echo "El Usuario $username ha sido registrado de manera satisfactoria. Ahora puedes iniciar sesion";
}
}
}
}
?>
Que puedo hacer para que se pueda iniciar sesion de esa forma?
  #5 (permalink)  
Antiguo 01/02/2010, 12:33
Avatar de danistrein  
Fecha de Ingreso: septiembre-2008
Ubicación: Salta Capital
Mensajes: 550
Antigüedad: 15 años, 7 meses
Puntos: 9
Respuesta: Ayuda, codigo de login

lo que entendi es que tu quieres que en vez de "perfil.php?user=pepe" aparesca "perfil.php?user=1" , 1 seria el numero del usuario

eso es lo que quieres hacer?
__________________
Appones.net - www.appones.net
  #6 (permalink)  
Antiguo 01/02/2010, 12:39
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Ayuda, codigo de login

Claro eso es lo que quiero hacer.
  #7 (permalink)  
Antiguo 01/02/2010, 12:42
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Respuesta: Ayuda, codigo de login

¿El mismo código que colocaste no te lo indica?:

Código PHP:
Ver original
  1. http://localhost/index/perfil/perfil.php?id='.$id.'
Por cierto, no se visualiza de dónde se genera ese $id. Asumo que está definido en alguna parte de tu script que no has mostrado.
  #8 (permalink)  
Antiguo 01/02/2010, 12:59
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Ayuda, codigo de login

Deberia ponerlo ahi no?, me parece que ese es el error.
  #9 (permalink)  
Antiguo 01/02/2010, 13:14
Avatar de danistrein  
Fecha de Ingreso: septiembre-2008
Ubicación: Salta Capital
Mensajes: 550
Antigüedad: 15 años, 7 meses
Puntos: 9
Respuesta: Ayuda, codigo de login

Manda una consulta y en vez de colocar el username en el GET id, coloca la fila donde guardas el numero del usuario.
__________________
Appones.net - www.appones.net

Etiquetas: login
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 06:42.