Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] session_start();

Estas en el tema de session_start(); en el foro de PHP en Foros del Web. Hola: He buscado en el foro pero las respuestas no me orientan. En wampserver he modificado el valor de session.auto_start = 1 ; en el ...
  #1 (permalink)  
Antiguo 16/03/2015, 15:57
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 5 meses
Puntos: 1
session_start();

Hola:
He buscado en el foro pero las respuestas no me orientan.
En wampserver he modificado el valor de session.auto_start = 1 ; en el archivo php.ini y el codigo se desarrolla bien:

Código PHP:
Ver original
  1. <?php
  2.             if (isset($_POST['submit']))
  3.                 {
  4.                     $nombre = $_POST['txtnombre'];
  5.                     $pass   = $_POST['txtpassword'];
  6.                     $reqlen = strlen($nombre) * strlen($pass);
  7.                         if ($reqlen > 0)
  8.                             {
  9.                                 include("conexion.php");
  10.                                 $sql="SELECT * FROM usuarios WHERE Nombre ="."'$nombre'". " AND Password ="."'$pass'";
  11.                                 $result=mysqli_query($cn,$sql);
  12.                                 if(mysqli_num_rows($result)==0)
  13.                                     {
  14.                                         echo "<script language='JavaScript'>alert('No está autorizado');</script>";
  15.                                         exit();
  16.                                     }
  17.                                 else
  18.                                     {
  19.                                         //usuario y contraseña válidos
  20.                                        
  21.                                         //defino una sesion y guardo datos
  22.                                         $_SESSION["autentificado"]= "SI";
  23.                                         echo "<script languaje='javascript' type='text/javascript'>window.open('form_control.php');</script>";
  24.                                        
  25.                                     }
  26.                             }
  27.                         else
  28.                             {
  29.                                 echo 'Por favor, rellene todos los campos requeridos.';
  30.                             }
  31.                 }
  32.         ?>


Como véis declaro la variable de sesión.

Luego en el inicio de las páginas hago un include(seguridad.php)
que contiene este código:

Código PHP:
Ver original
  1. <?php
  2.  
  3. //COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
  4. if ($_SESSION["autentificado"] != "SI") {
  5.     //si no existe, envio a la página de autentificacion
  6.     header("Location: index.php");
  7.     //ademas salgo de este script
  8.     exit();
  9. }
  10. ?>

Y todo va bien.

He subido colgado las páginas en el hosting y no me redirecciona, manteniéndome en index.php que es el de autentificación.
El php.ini del hosting tiene session..auto_start en off.
Supongo que el problema viene por esto, ya que cuando varié el valor en el php.ini del localhost funcionó.
Ahora bien, si tengo que incluir
Código PHP:
Ver original 

¿esto sería lo correcto? Es decir al inicio del código del index.php
Código PHP:
Ver original
  1. <?php session_start (); ?>
  2. //Codigo del script index.php....

¿Hay que incluirlo en el el código del script de conexión?
¿Incluirlo en el codigo del script "seguridad.php"?

Toda la información y código lo he obtendio de desarrollo web.
Gracias.
  #2 (permalink)  
Antiguo 31/05/2015, 11:46
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: session_start();

Hola:
Lo resolví, pero no anoté la solución. Tres meses después en una subida y bajada de script, me volvió el mismo problema y otra vez a encotrar la solución, asi que:
En efecto el problema viene por el ini.php y la declaración de start_session.
Lo he solucionado incluyendo:
Código PHP:
Ver original 

Tanto al inicio del script index.php como del script seguridad.php

Etiquetas: select, sql, usuarios, variable
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 00:14.