PHP - Problema con sesiones

 
Vista:
Imágen de perfil de María de Alejandría
Val: 66
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema con sesiones

Publicado por María de Alejandría (37 intervenciones) el 26/01/2017 20:51:33
Saludos

Tengo una tabla de periódicos donde registro el título del periódico y email del autor el cual se corresponde con el email empleado para iniciar sesión. Me sucede que al insertar los datos en la tabla el email siempre me sale en blanco y no sé el motivo. Como siempre gracias de antemano a quien o quienes me respondan.

Página del formulario para insertar el periódico:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!DOCTYPE HTML>
 
<html>
	<head>
		<title>RSSJOURNAL</title>
 
</head>
	<body>
 
 
	<?php
	session_start();
 
	$email=$_SESSION['email'];
	$pass=$_SESSION['pass'];
 
	?>
 
		<header>
			<h2>Crear periódico</h2>
		</header>
 
			<form id="formulario" action="gestion.php" method="post">
 
 
			<input  type="text" name="titulo" value="" required placeholder="Título del periódico"/>
			<button class="button" type="submit" name="submit">Enviar</button>
 
			</form>
 
            <?php
 
            if(isset($_POST['submit'])){
 
                require("registroPeriodico.php");
            }
            ?>
 
     </body>
 
</html>


Código para registrar un periódico:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
 
session_start();
 
$titulo=$_POST['titulo'];
 
 
$email=$_SESSION['email'];
$pass=$_SESSION['pass'];
 
$mysqli = mysqli_connect("localhost","root","clave","usuarios");
 
if (!$mysqli) {
 
	echo 'No se pudo establecer la conexión con la base de datos';
}
else{
 
    $consulta="INSERT INTO periodicos(titulo,autor) VALUES ('$titulo','$email')";
 
    if(!mysqli_query($mysqli,$consulta)){
	   echo ' <script language="javascript">alert("Error, no se han podido registrar los datos");</script> ';
 
    }
    else{
        echo ' <script language="javascript">alert("Periódico registrado con éxito");</script> ';
	}
 
}
 
?>

Dejo también la página que hago que aparezca al iniciar sesión por si hace falta:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE HTML>
 
<html>
	<head>
		<title>RSSJOURNAL</title>
     </head>
<section>
 
 
</div>
 
	<div class="9u">
		<section>
			<header>
				<h2>Periódicos disponibles</h2>
 
			<section>
			<?php
              error_reporting(E_ALL);
              ini_set('display_errors', 1);
              //
             // Conectar a la base de datos
              $db = new mysqli('localhost', 'root', 'alejandromagno356323', 'usuarios');
            // Si hay algun error en la conexion
           if($db->connect_errno > 0)
           {
             die('No se puede conectar a la base de datos [' . $db->connect_error . ']');
           }
          // Consulta a la base de datos
          $sql ="SELECT id, titulo FROM periodicos ";
         // Si hay un error al ejecutar la consulta
          if(!$resultado = $db->query($sql))
          {
          die('Error ejecutando la consulta [' . $db->error . ']');
          }
         // Mostrar los resultado en forma de lista
 
         echo '<ul>';
         while($row = $resultado->fetch_assoc())
         {
         echo '<li><a href="seccion.php?id='.$row['id'].'titulo='.$row['titulo'].'">'. $row['titulo'] . '</a></li>';
         }
         echo '</ul>';
	?>
</div>
 
 
 
</section>
 
 </html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de VRM
Val: 152
Ha disminuido su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema con sesiones

Publicado por VRM (192 intervenciones) el 28/01/2017 10:45:54
Hola:

No veo en el código que mandas donde se guarda el email y el pass en sesión. Tampoco veo el código de "seccion.php" ni "gestion.php". ¿Puedes poner el nombre de cada fichero al principio del código?

Saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de María de Alejandría
Val: 66
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema con sesiones

Publicado por María de Alejandría (37 intervenciones) el 28/01/2017 14:00:56
Saludos.
He resuelto el problema, no había puesto el session start en el lugar correcto. De todas formas gracias por responder
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de María de Alejandría
Val: 66
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema con sesiones

Publicado por María de Alejandría (37 intervenciones) el 28/01/2017 14:01:46
Saludos
Sí, no me funcionaba porque la posición del session start no era la correcta. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel

Problema con sesiones

Publicado por Miguel (5 intervenciones) el 28/01/2017 13:45:59
Hola amigo, por lo que puedo ver el codigo esta bien pero la session esta fallando al cargar, asegurate que la session cargue bien, puede ser colocando una interfaz de confirmación de usuario, si esta falla a la primera en la segunda si carga y así el sistema te va a hacer el registro debidamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel

Problema con sesiones

Publicado por Miguel (5 intervenciones) el 28/01/2017 13:50:14
otra cosa, las variables que vienen de la base de datos deben apuntar a las variables de session asegurando también que en la búsqueda o logins el usuario exista en la misma para que las variable carguen que es otra cosa que no veo en tu código y trata también de colocar los códigos de session en un archivo aparte por ejemplo: session.php y le haces un llamado con include() o require().
Espero haberte ayudado un poco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel

Problema con sesiones

Publicado por Miguel (5 intervenciones) el 28/01/2017 13:54:34
En los sistemas de logins debes colocar criterios en las consultas de selección SQL sino el sistema no sabrá a quien le va a dar acceso y eso puede dar motivos a que no cargue la session, otro detalle que veo en el código. Ahora si nos vemos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de María de Alejandría
Val: 66
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema con sesiones

Publicado por María de Alejandría (37 intervenciones) el 28/01/2017 14:02:57
Saludos.

Muchas gracias por la respuesta. He logrado resolver mi problema. Simplemente me sucedía que session start no estaba en el lugar correcto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar