esto es lo que pasa ya tengo mi pagina donde inicia la sesión y funciona pero quise ir mas aya, porque registrase y luego regresar a inicio y probar el código escribiendo tu nick y tu password.
pense en algo mas fácil para el usuario luego de inscribirse en la web aparezca un texto que diga Gracias por inscribirse usuario X. luego un link que automáticamente lo presiones entre a su sesión, no quiero que el usuario tinga que escribir su nick y password una ves mas. pienso que es mejor inscribirse y ya dale click al link de su session y listo
yo tengo esto que me fuciona para registrarse y loguearse
le agregue este código a el lugar donde se registra para luego enviarlo a la pagina que es la sesión del usuario
Código PHP:
ese codigo dentro del espacio es que hago eso cuando trabaja con el codigo para no enredarme con los if y else Ver original
<?php if(!isset($_POST['rpass'])){ //script por si alguien tinetenta entrar a la web por el link lo redireciona } ?> <?php //verificnado se la informacion del formulario esta { //atrapa el id $ip = $_SERVER['REMOTE_ADDR']; //agregar IP //atrapa la fecha //atrapa el valor de name del fomulario $nick = $_POST['nick']; $pass = $_POST['pass']; $rpass = $_POST['rpass']; $email = $_POST['email']; // verificacion si el usuario esta registrado con el mismo email require("../../conexion/conexionmsqli.php"); { } } //validar los campos si estan llenos en el formulario { if ($array[0] == NULL) //si estan vacias { echo "nick vacio<br>"; } if ($array[1] == NULL) { echo "pass vacio <br>"; } if ($array[2] == NULL) { echo "rpass vacio <br>"; } if ($array[3] == NULL) { echo "email vacio <br>"; } }else // si no estan vacias corre el script { if ($pass === $rpass ) //verifica si pass es igual a pass { require("../../conexion/conexion.php"); //busca el file php para conectarse a la base de datos //(DESASTIVADO)$pass = md5 ($pass); // encrista la clave mysql_query("INSERT INTO usuarios VALUES ('','$ip','imagenes/people.jpg','$fecha_hora','$nick','$pass','$email')"); // //HAce la consulta a la base de datos para introducir los datos //mysql_close($link); //cerramos las conecion la conecios se encuentra en el archivo connect_db.php que es invocado por required linea 9 $pass = $_POST['pass']; $email = $_POST['email']; //sacar datos \\\\\\\\\\ include("../../conexion/conexionmsqli.php"); $proceso = mysqli_query($conexion, "SELECT * FROM usuarios WHERE email='".mysql_real_escape_string($email)."' AND pass='".mysql_real_escape_string($pass)."'"); //consulata a la base de datos con la funcion mysql_real_escape_string para evitar inyeciones SQL { //creamos las variables de sesion sacando valores de la tabla usuarios . Donde email es igaul a $email y pass es igual a $pass $_SESSION['id'] = $resultado["id"]; $_SESSION['ip'] = $resultado["ip"]; $_SESSION['img'] = $resultado["img"]; $_SESSION['fecha_hora'] = $resultado["fecha_hora"]; $_SESSION['nick'] = $resultado["nick"]; $_SESSION['pass'] = $resultado["pass"]; $_SESSION['email'] = $resultado["email"]; //redirecionamos a sesion.php //header("location: confirmacion.php"); echo 'Se ha registrado con exito '.$_SESSION["nick"].'<br>' ; echo "<a href='../../funciones/ingresar/sesion.php'>Ingresar </a><br>"; echo 'Se ha registrado con exito '.$_SESSION["email"].'<br>' ; } else { echo "Usuario no encontrado." ; // si no c cumple la peticion }//termino el codigo de sacar los datos //header("location: confirmacion.php"); } else { echo 'Los pass no son iguales'; } } ?>
pero ese mismo tro lo tengo en otra pagana que es donde lo envia el formulario cuando se registro y sale al index otra vez que es lo que intento de que no haga este es el codigo y fuciona
Código PHP:
Ver original
<?php /* recogemos las variables enviadas desde el form */ $email = $_POST['email']; $pass = $_POST['pass']; /* comprobamos que no estén vacías */ exit; } //verificamos si el pass y el email son los correcto include("../../conexion/conexionmsqli.php"); $proceso = mysqli_query($conexion, "SELECT * FROM usuarios WHERE email='".mysql_real_escape_string($email)."' AND pass='".mysql_real_escape_string($pass)."'"); //consulata a la base de datos con la funcion mysql_real_escape_string para evitar inyeciones SQL { //creamos las variables de sesion sacando valores de la tabla usuarios . Donde email es igaul a $email y pass es igual a $pass $_SESSION['id'] = $resultado["id"]; $_SESSION['ip'] = $resultado["ip"]; $_SESSION['img'] = $resultado["img"]; $_SESSION['fecha_hora'] = $resultado["fecha_hora"]; $_SESSION['nick'] = $resultado["nick"]; $_SESSION['pass'] = $resultado["pass"]; $_SESSION['email'] = $resultado["email"]; //redirecionamos a sesion.php } else { echo "Usuario no encontrado." ; // si no c cumple la peticion } ?>
este es el de la pagian de session
Código PHP:
Ver original
<?php { echo "sexion exitosa <br>"; echo "<a href='cerrar_sesion.php'>Cerrar sesion </a><br>"; echo "<a href='../../funciones/editar_user/index.php'>Editar usuario </a><br>"; } else // si el if no es cierto { } //creamos la variable avatar del valor que contiene la sesion para usar de image por defaul $avatar=$_SESSION['img']; ?> <!-- varibles de sesion impresa dentro del codigo HTML--> <b>En HTML</b> hola <b><font color="blue"><?=$_SESSION['nick'];?></font></b><br> <b>En HTML</b> hola <b><font color="blue"><?=$_SESSION['img'];?></font></b><br> <!-- imprime la foto del avatar --> <a><?php echo '<img src="'.$avatar.'" width="100" height="100">';?><br> <!-- imprimer la variable de sesión que se crea en el archivo proceso--> Id: <?=$_SESSION['id']?><br> Fecha De registro: <?=$_SESSION['fecha_hora']?>
no se lo que pasa debería funcionar segun mi logica
el problema es que cuando lo hago con el primer codigo que puse u pasa a este ultimo codigo que es el de sesion del usuario creo que no me reconoce al sesión y como no me da true funciona el else eso es lo que pasa pero no se como resolverlo.