Hola hice 35 intento antes de pasar por aquí y nada
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:
Ver original<?php
if(!isset($_POST['rpass'])){ //script por si alguien tinetenta entrar a la web por el link lo redireciona header('Location: ../../index.php'); }
?>
<?php
//verificnado se la informacion del formulario esta
if(isset($_POST['nick']) && isset($_POST['pass']) && isset($_POST['rpass']) && isset($_POST['email'] )) //busaca si las variables Post estan {
//atrapa el id
$ip = $_SERVER['REMOTE_ADDR']; //agregar IP
//atrapa la fecha
$fecha_hora = date('d-m-Y H:i:s'); //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");
$cad= mysqli_query($conexion,"SELECT * FROM usuarios WHERE email='".$email."'"); {
header('Location: resgistrado.php'); }
}
//validar los campos si estan llenos en el formulario
if (empty($_POST['nick']) or
empty($_POST['pass']) or
empty($_POST['rpass']) or
empty($_POST['email'])) {
$array = array($nick,$pass,$rpass, $email);
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");
{
//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';
}
}
?>
ese codigo dentro del espacio es que hago eso cuando trabaja con el codigo para no enredarme con los if y else
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 */
header("location: ../../index.php"); }
//verificamos si el pass y el email son los correcto
include("../../conexion/conexionmsqli.php");
{
//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: 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
if (isset($_SESSION['email'])) // pregunta si existe la sesion email si es tru {
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
{
header("location: ../../index.php" ); }
//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.