Foros del Web » Programando para Internet » PHP »

Registro Con Sha1

Estas en el tema de Registro Con Sha1 en el foro de PHP en Foros del Web. Hola quisiera saber si alguien me pude ayudar ... Yo busque un sistema de usuarios sencillo ... bueno le problema es que modifique el codigo ...
  #1 (permalink)  
Antiguo 17/06/2011, 15:07
 
Fecha de Ingreso: junio-2008
Mensajes: 45
Antigüedad: 15 años, 10 meses
Puntos: 0
Registro Con Sha1

Hola quisiera saber si alguien me pude ayudar ...

Yo busque un sistema de usuarios sencillo ... bueno le problema es que modifique el codigo original :

Código PHP:
<?
$server
="localhost"/* Nuestro server mysql */
$database="bd"/* Nuestra base de datos */
$dbpass="password"/*Nuestro password mysql */
$dbuser="user"/* Nuestro user mysql */
/* Primero comprovamos que no existe un usuario con el mismo login ya registrado */
 
$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(
mysql_num_rows($result)){
echo 
"El usuario ya existe en la BD";
} else {
mysql_free_result($result);
/* Ahora comprovamos que los dos pass coinciden */
if($pass1!=$pass2) {
echo 
"Los passwords deben coincidir<br>";
echo 
'Clica <a href="form.php">aquí</a> para volver al formulario';
} else {
$pass1=crypt($pass2"semilla"); 
 
/* Encripatmos el password, con la clave "semilla" que debeis sustituirpor la que mas os guste. Hay otros metodos de encriptacion, mirad en php.net si quereis conocerlos. */
 
$query="INSERT INTO usuarios (login, nombre, apellidos, password, email) VALUES ('$login','$nombre','$apellidos','$pass1','$email')";
 
$result=mysql_db_query($database,$query,$link);
if(
mysql_affected_rows($link)){
echo 
"Usuario introducido correctamente";
} else {
echo 
"Error introduciendo el usuario";
/* Cierre del else */
/* Cierre del else que corresponde a if(mysql_affected_rows.....) */
/* Cierre del else que corresponde a if(mysql_num_rows...) */
?>
Y le modifique la parte de la encriptacion por esta :

Código PHP:
$pass1 base64_encode(pack('Aqui-va-una-letra-pero-no-quiero-mostrarla*'sha1($pass2))); 
El problema es que cuando me registro ... reviso la bd y solo sale la password .

La demas info ( nombre , login , email ... ect ) no aparece . Alguna idea porque ?
  #2 (permalink)  
Antiguo 17/06/2011, 15:13
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Registro Con Sha1

El primer error que veo es <? debería ser <?php

El segundo es que no veo los datos que recibís no estas recibiendo por $_POST nada
osea que no hay nada que guardar
__________________
la la la
  #3 (permalink)  
Antiguo 17/06/2011, 15:51
 
Fecha de Ingreso: junio-2008
Mensajes: 45
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Registro Con Sha1

Hmmm si me parecio rar lo de los post pero cmo hace tiempo me habia servido ( noc como xD ) ... pense que serviria asi .. probare poniendo los post y vengo
  #4 (permalink)  
Antiguo 17/06/2011, 16:18
 
Fecha de Ingreso: junio-2008
Mensajes: 45
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Registro Con Sha1

Ok ... ya agrege los post ... se registro bien

Ahora otro problema ... La comprobacion del login


Código PHP:
<?php
session_start
();
$server="localhost"/* Nuestro server mysql */ 
$database="bd"/* Nuestra base de datos */ 
$dbpass="password"/*Nuestro password mysql */ 
$dbuser="user"/* Nuestro user mysql */ 

$login="{$_POST['login']}";
$pass1="{$_POST['pass']}";
$encriptado=base64_encode(pack('Aqui-va-una-letra-pero-no-quiero-mostrarla*'sha1($pass1)));
$passx1="$encriptado";

$query="SELECT * FROM usuarios WHERE login='$login'";

$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);

if(
mysql_num_rows($result)==0){
echo 
"No existe el login introducido";
} else {
$array=mysql_fetch_array($result);

if(
$array["password"]==$passx1){
/* Comprobamos que el password encriptado en la BD coincide con el password que nos han dado al encriptarlo. Recuerda usar la misma semilla para encriptar los dos passwords. */

$SESSION["login"]=$login;
$SESSION["nombre"]=$array["nombre"];
$SESSION["apellidos"]=$array["apellidos"];
session_register("SESSION");
header("location: user.php");
 
} else {
echo 
"Password incorrecto!";
/* Cerramos este ultimo else */
/* Cerramos el else que corresponde a la comprobación de que el login existe */
 
?>
El problema es que le doy a loguearse y carga y aparece denuevo la pagina ... No da ningun error ni nada .

Puede ser que no se crea la sesion y la pagina de users me devuelve al login ...
  #5 (permalink)  
Antiguo 17/06/2011, 16:58
pur
 
Fecha de Ingreso: agosto-2007
Mensajes: 98
Antigüedad: 16 años, 8 meses
Puntos: 4
Respuesta: Registro Con Sha1

la variable de session se escribe asi:
$_SESSION
  #6 (permalink)  
Antiguo 17/06/2011, 17:12
 
Fecha de Ingreso: junio-2008
Mensajes: 45
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Registro Con Sha1

Si lo se ...

Ya probe y mi problema es que no se crea la SESSION ...

Le quite a la pagina de users todo el conenrido y e login si me lleva para users

Pero cuando le agrego el codigo para verificar la sesion me devuelve al login como si no estubiera logeado
  #7 (permalink)  
Antiguo 17/06/2011, 17:15
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Registro Con Sha1

Esto es un registro de usuarios? o un login?

no veo la sentencia sql en donde se guarde la informacion en la base de datos
__________________
la la la
  #8 (permalink)  
Antiguo 17/06/2011, 17:20
pur
 
Fecha de Ingreso: agosto-2007
Mensajes: 98
Antigüedad: 16 años, 8 meses
Puntos: 4
Respuesta: Registro Con Sha1

Si estas trabajando con php 5.3 o superior mysql_db_query() esta obsoleta.

http://php.net/manual/es/function.mysql-db-query.php

Deberías usar mysql_select_db() y mysql_query().
  #9 (permalink)  
Antiguo 17/06/2011, 17:43
 
Fecha de Ingreso: junio-2008
Mensajes: 45
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Registro Con Sha1

Nope estoy trabajando con PHP Version 5.2.13

Y es un sistema completo ... Yo postee primero el Registro que ya fue solucionado

Y si muestra la Sentencia :

Código PHP:
$query="INSERT INTO usuarios (login, nombre, apellidos, password, email) VALUES ('$login','$nombre','$apellidos','$pass1','$email')"
Pero ahora el problema es el login

Que no crea la SESSION

Etiquetas: registro, sha1
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 19:02.