Foros del Web » Programando para Internet » PHP »

1and1 y sus variables de session

Estas en el tema de 1and1 y sus variables de session en el foro de PHP en Foros del Web. Antes de empezar a despotricar sobre 1and1, me gustaría plantear la pregunta, ya que es posible que algo esté haciendo mal y no me haya ...
  #1 (permalink)  
Antiguo 03/09/2014, 12:48
 
Fecha de Ingreso: abril-2014
Ubicación: Almería
Mensajes: 58
Antigüedad: 10 años
Puntos: 2
1and1 y sus variables de session

Antes de empezar a despotricar sobre 1and1, me gustaría plantear la pregunta, ya que es posible que algo esté haciendo mal y no me haya dado cuenta.

El caso es que en localhost funciona perfectamente, pero al subirlo a 1and1 falla. La cosa es que en 1and1 realiza la verificación e imprime el mensaje: "Bienvenido!!", acto seguido redirige a thor.php, pero no hay variable de sesion y te imprime: "No tiene permiso para acceder a esta página." y redirige a index.html.

Aquí los DOS archivos:

verificar.php
Código PHP:

$con 
mysql_connect("db.db.1and1.com","dbo","passs");
                
mysql_select_db("db542306755",$con);
                
$sql "SELECT mat,password
                FROM usuarios WHERE mat = '$mat'"
;
                
$resultado mysql_query($sql) or die(mysql_error());
                
$row mysql_fetch_row($resultado);
                    
$matricula $row[0];        
                    
$password $row[1];
                
mysql_close($con);

if (isset(
$matricula)){
                    if (
$password == $pass){
                    
session_start();
                    
$_SESSION["mat"] = $matricula;
                    echo 
'<script language="javascript"> 
                    alert("Bienvenido!!")
                    location.href = "thor.php"
                    </script>'
;
                    }else{
                        echo 
'<script language="javascript"> 
                        alert("Contraseña incorrecta.")
                        location.href = "index.html"
                        </script>'
;
                    }
                
                }else{
                    echo 
'<script language="javascript"> 
                        alert("El usuario no existe.")
                        location.href = "index.html"
                        </script>'
;
                } 
thor.php
Código PHP:
session_start();
error_reporting(0);
$mat_sesion $_SESSION["mat"];
if (isset(
$mat_sesion)){
}else{
                    echo 
'<script language="javascript"> 
                        alert("No tiene permiso para acceder a esta página.")
                        location.href = "index.html"
                        </script>'
;


Para más inri tengo otro cliente en el mismo servidor con este trocito de código que funciona perfectamente:

Código PHP:
$consulta="SELECT pwd,user,correo,nombre FROM usuarios WHERE user='".$usuario."'";
        
$result=mysql_query($consulta)or die ('Ha fallado la conexión: '.mysql_error());
        if(
$row=mysql_fetch_row($result)){
                    if(
$row[0] == $contrasena){
                            
session_start();
                            
                            
$_SESSION["nombre_usuario"] = $row[1];
                            
$_SESSION["correo"] = $row[2];
                            
$_SESSION["nombre"] = $row[3]; 

                            echo    
'Has sido logueado correctamente '$_SESSION['nombre_usuario'];

                            echo 
"<SCRIPT LANGUAGE='javascript'>location.href = 'index.php';</SCRIPT>";

                    } else{
                        echo 
"<SCRIPT LANGUAGE='javascript'>location.href = 'index.php?error=error';</SCRIPT>";
                    } 

¿Alguna sugerencia?
  #2 (permalink)  
Antiguo 03/09/2014, 13:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: 1and1 y sus variables de session

Puede que la configuración de sesión no sea la misma, ¿cómo adivinar?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 03/09/2014, 13:22
 
Fecha de Ingreso: abril-2014
Ubicación: Almería
Mensajes: 58
Antigüedad: 10 años
Puntos: 2
Respuesta: 1and1 y sus variables de session

pero es el mismo servidor en ambos códigos. No tiene sentido.
  #4 (permalink)  
Antiguo 03/09/2014, 13:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: 1and1 y sus variables de session

No es el mismo servidor, eso es absurdo: tu has dicho que se trata de 1and1, y no es el mismo (ni la misma configuración) que tu localhost.

Es decir, ¿ya revisaste con phpinfo() que ambos servidores tengan la misma configuración?

Nunca te hablé del código sino de la configuración misma de PHP.

Pon más atención.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 03/09/2014, 13:32
 
Fecha de Ingreso: abril-2014
Ubicación: Almería
Mensajes: 58
Antigüedad: 10 años
Puntos: 2
Respuesta: 1and1 y sus variables de session

Me refiero a los dos códigos que tengo que tengo en el servidor de 1and1 que son casi calcados y uno funciona y el otro no. Lógicamente el de mi localhost y el de 1and1 no son el mismo.

Si no te has leido mi post completo no me digas que ponga más atención... ;)
  #6 (permalink)  
Antiguo 03/09/2014, 13:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: 1and1 y sus variables de session

Pues creo que la mejor forma de averiguar cual es el problema sería habilitando el reporte de errores en tu configuración global de PHP, así te darás cuenta.

Seguramente el script que no funciona tiene un error, ¿cómo saber?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 04/09/2014, 10:13
 
Fecha de Ingreso: abril-2014
Ubicación: Almería
Mensajes: 58
Antigüedad: 10 años
Puntos: 2
Respuesta: 1and1 y sus variables de session

No da errores de ningún tipo.
  #8 (permalink)  
Antiguo 04/09/2014, 11:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: 1and1 y sus variables de session

Bueno, entonces te toca depurar el código linea por linea para averiguar lo que sucede, porque de otra forma no podríamos ejecutarlo mentalmente para lo mismo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 04/09/2014, 14:44
 
Fecha de Ingreso: abril-2014
Ubicación: Almería
Mensajes: 58
Antigüedad: 10 años
Puntos: 2
Respuesta: 1and1 y sus variables de session

Muchas gracias por tu ayuda máquina! ;)
  #10 (permalink)  
Antiguo 05/09/2014, 10:25
 
Fecha de Ingreso: abril-2014
Ubicación: Almería
Mensajes: 58
Antigüedad: 10 años
Puntos: 2
Respuesta: 1and1 y sus variables de session

A parte de pateketrueke, alguien puede echarme una mano? Alguien tiene idea de que puede estar pasando.

Muchas gracias de antemano.
  #11 (permalink)  
Antiguo 05/09/2014, 11:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: 1and1 y sus variables de session

Cita:
Alguien tiene idea de que puede estar pasando.
Por eso te he dicho que depures tu código, a simple vista es un script normal que usa sesiones, y es imposible adivinar sin depurar lo que ocurre.

Si no lo haces tardarás más tiempo esperando a que alguien adivine que en descubrir el problema.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 05/09/2014, 17:29
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: 1and1 y sus variables de session

No lo he probado pero, a simple vista me hace mucho ruido esto:
Código PHP:
Ver original
  1. $mat_sesion = $_SESSION["mat"];
  2. if(isset($mat_sesion))
  3. {
  4. // ...

¿Que se supone que validas ahi? si $mat_sesion siempre va a estar definida, la estas forzadamente definiendo. Ademas, si $_SESSION["mat"] no esta definida, cosa que si es posible, ese codigo lanzara warning. Sin mencionar que no tiene sentido crear copias de la variables que luego no usaras mas.

Algunas soluciones posibles son:
Código PHP:
Ver original
  1. if(isset($_SESSION["mat"]))
  2. {
  3. // ...
o
Código PHP:
Ver original
  1. $mat_sesion = (isset($mat_sesion) ? $_SESSION["mat"] : null);
  2. if(is_null($mat_sesion))
  3. {
  4. // ...

Lo mismo en otro script:
Código PHP:
Ver original
  1. $matricula = $row[0];      
  2. if(isset($matricula))
  3. {
  4. // ...

Y solo como comentario:
Código PHP:
Ver original
  1. if($row[0] == $contrasena)
  2. {
  3.        session_start();

El llamado a session_start() debe der la primer linea del archivo, en cada archivo que use sesiones, no debes ubicarla a mitad del script y menos dentro de un condicional. (a exepcion de que previamente llames a session_destroy())

Igual te toca depurar a ver porque falla.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #13 (permalink)  
Antiguo 06/10/2014, 05:37
 
Fecha de Ingreso: abril-2014
Ubicación: Almería
Mensajes: 58
Antigüedad: 10 años
Puntos: 2
Respuesta: 1and1 y sus variables de session

Sigue fallando y no encuentro la solución. Lo curioso es que si intentas establecer sesión al tercer o cuarto intento te deja entrar... Es de locos.

Etiquetas: 1and1, html, mysql, select, session, sql, usuarios, variable, variables
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 13:53.