Foros del Web » Programando para Internet » PHP »

Sesion funciona en local, y en web no

Estas en el tema de Sesion funciona en local, y en web no en el foro de PHP en Foros del Web. Hola amigos Tengo el siguiente codigo inicio.php Código PHP: session_start ();   $_SESSION [ "usuario" ]= $usuario ;  $_SESSION [ "contra" ]= $contra ; $_SESSION [ ...
  #1 (permalink)  
Antiguo 20/04/2009, 04:02
 
Fecha de Ingreso: junio-2007
Mensajes: 80
Antigüedad: 16 años, 10 meses
Puntos: 1
Sesion funciona en local, y en web no

Hola amigos

Tengo el siguiente codigo

inicio.php
Código PHP:
session_start();  
$_SESSION["usuario"]=$usuario
$_SESSION["contra"]=$contra;
$_SESSION["nombre"]=$nombre[4];
$_SESSION["email"]=$nombre[5]; 
Tengo otro fichero

segundo.php
Código PHP:
session_start(); 
$usuario=$_SESSION['usuario']; 
$contra=$_SESSION['contra']; 
$nombre=$_SESSION['nombre']; 
Bueno, pues si hago ésto en localhost, funciona perfectamente, me pasa las variables, pero si lo hago en la web, no me pasa las variables.

Que puede ser?

Saludos
  #2 (permalink)  
Antiguo 20/04/2009, 05:00
Avatar de polin2bclan  
Fecha de Ingreso: julio-2008
Mensajes: 73
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Sesion funciona en local, y en web no

Hola amigo, las variables que usted debe utilizar son las de la sesión

En el archivo segundo.php use: ejemplo:
Código PHP:
echo "Hola mi nombre es ".$_SESSION['nombre']; 
  #3 (permalink)  
Antiguo 20/04/2009, 05:40
 
Fecha de Ingreso: junio-2007
Mensajes: 80
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Sesion funciona en local, y en web no

Hola

Como te indico anteriormente, ésto funciona en host local, pero no en web.

Si pongo la instruccion que me dices, me pone que no encuentra la variable nombre.

el código completo es:

inicio.php (recibe mediante post, usuario y contraseña del loguin)

Código PHP:
<?php  
$usuario
=$_POST['usuario']; 
$contra=$_POST['contra']; 
include 
"configsql.php";
$xusuario=strtoupper($usuario);
$consulta="select PASSWORD,DESCRIP,NIVEL,CODIGO,NOMBRE,EMAIL from t4s where password='".$contra."' and descrip='".$usuario."'";
$query=mysql_query($consulta$connect);
$nombre=mysql_fetch_row $query );
$nfilas=mysql_num_rows($query);
if (
$nfilas !=0){  
//usuario y contraseña válidos  
//defino una sesion y guardo datos  
session_start();  
$_SESSION['usuario']=$usuario
$_SESSION['contra']=$contra;
$_SESSION['nombre']=$nombre[4];
$_SESSION['email']=$nombre[5];
$fecha=getdate()        ;
$dfecha=DATE("d.m.y")   ;
$hora =$fecha["hours"]+6;
$mins =$fecha["minutes"];
$mins =STR_PAD(trim($mins),0,'0',STR_PAD_LEFT  ); $now  =$hora.":".$mins  ;
echo 
"<center><strong><font color='Green' face='Arial'>..........oo00oo..........</font></strong></center>";
echo 
"<center><strong><font color='Red' face='Arial'>BIENVENIDO ".$nombre[4]."</font></strong></center>";
echo 
"<center><strong><font color='Green' face='Arial'>..........oo00oo..........</font></strong></center>";
?>
<table width="681" border="0" align="center">
  <tr>
    <td width="71"><img src="sientate.gif" alt="logo" width="675" height="375" /></td>
  </tr>
</table>
<?php 
$sql
=mysql_query ("INSERT INTO visitas ( NOMBRE,FECHA,HORA) VALUES ('$nombre[1]','$dfecha','$now' );"  $connect);
$result mysql_query($sql);

echo 
"<META HTTP-EQUIV=REFRESH CONTENT='6; URL=indice1a.php'>";
}else {  
//si no existe le mando otra vez a la portada  
echo "<center><strong><font color='Red' face='Arial'>..........oo00oo..........</font></strong></center>";
echo 
"<center><strong><font color='Red' face='Arial'>ERROR. ENTRADA NO AUTORIZADA</font></strong></center>";
echo 
"<center><strong><font color='Red' face='Arial'>..........oo00oo..........</font></strong></center>";
echo 
"<center><strong><font color='Red' face='Arial'>COMPRUEBE DATOS DE USUARIO Y CONTRASEÑA</font></strong></center>";
echo 
"<center><strong><font color='Red' face='Arial'>..........oo00oo..........</font></strong></center>";
echo 
"<META HTTP-EQUIV=REFRESH CONTENT='4; URL=indice1.htm'>";
}  

?>
aqui el otro fichero

Este ya no recibe variables de la sesion

indice1a.php
Código PHP:
<?php
session_start
(); 
$usuario=$_SESSION['usuario']; 
$nombre=$_SESSION['nombre']; 
$email=$_SESSION['email']; 
if(isset(
$_SESSION['usuario'])){
?>

<html>
<head>

<!-- Site Title -->
<title>Sieteyocho</title>

<!-- Link to Style External Sheet -->
<link href="css/style.css" type="text/css" rel="stylesheet" />

</head>
<body>
... etc...
Como os indico, por lo que sea, no me llegan las variables de la sesion a éste último, siempre si lo hacemos en web, si lo hago en local con easyphp, funciona perfectamente.
Yo había pensado que era cuestion de los navegadores, pero me pasa igual con iexplore y con firefox.

Saludos
  #4 (permalink)  
Antiguo 20/04/2009, 05:45
Avatar de polin2bclan  
Fecha de Ingreso: julio-2008
Mensajes: 73
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Sesion funciona en local, y en web no

inicio.php
Código PHP:
<?php  
session_start
();
$usuario=$_POST['usuario']; 
$contra=$_POST['contra']; 
include 
"configsql.php";
$xusuario=strtoupper($usuario);
$consulta="select PASSWORD,DESCRIP,NIVEL,CODIGO,NOMBRE,EMAIL from t4s where password='".$contra."' and descrip='".$usuario."'";
$query=mysql_query($consulta$connect);
$nombre=mysql_fetch_row $query );
$nfilas=mysql_num_rows($query);
if (
$nfilas !=0){  
//usuario y contraseña válidos  
//defino una sesion y guardo datos  
session_start();  
$_SESSION['usuario']=$usuario
$_SESSION['contra']=$contra;
$_SESSION['nombre']=$nombre[4];
$_SESSION['email']=$nombre[5];
$fecha=getdate()        ;
$dfecha=DATE("d.m.y")   ;
$hora =$fecha["hours"]+6;
$mins =$fecha["minutes"];
$mins =STR_PAD(trim($mins),0,'0',STR_PAD_LEFT  ); $now  =$hora.":".$mins  ;
echo 
"<center><strong><font color='Green' face='Arial'>..........oo00oo..........</font></strong></center>";
echo 
"<center><strong><font color='Red' face='Arial'>BIENVENIDO ".$nombre[4]."</font></strong></center>";
echo 
"<center><strong><font color='Green' face='Arial'>..........oo00oo..........</font></strong></center>";
?>
<table width="681" border="0" align="center">
  <tr>
    <td width="71"><img src="sientate.gif" alt="logo" width="675" height="375" /></td>
  </tr>
</table>
<?php 
$sql
=mysql_query ("INSERT INTO visitas ( NOMBRE,FECHA,HORA) VALUES ('$nombre[1]','$dfecha','$now' );"  $connect);
$result mysql_query($sql);

echo 
"<META HTTP-EQUIV=REFRESH CONTENT='6; URL=indice1a.php'>";
}else {  
//si no existe le mando otra vez a la portada  
echo "<center><strong><font color='Red' face='Arial'>..........oo00oo..........</font></strong></center>";
echo 
"<center><strong><font color='Red' face='Arial'>ERROR. ENTRADA NO AUTORIZADA</font></strong></center>";
echo 
"<center><strong><font color='Red' face='Arial'>..........oo00oo..........</font></strong></center>";
echo 
"<center><strong><font color='Red' face='Arial'>COMPRUEBE DATOS DE USUARIO Y CONTRASEÑA</font></strong></center>";
echo 
"<center><strong><font color='Red' face='Arial'>..........oo00oo..........</font></strong></center>";
echo 
"<META HTTP-EQUIV=REFRESH CONTENT='4; URL=indice1.htm'>";
}  

?>
Prueba así. Noté que no usabas session_start(); ya lo agregue, prueba y me avisas. Saludos
  #5 (permalink)  
Antiguo 20/04/2009, 06:37
 
Fecha de Ingreso: junio-2007
Mensajes: 80
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Sesion funciona en local, y en web no

Hola

No estaba session_start() al comienzo porque lo puse cuando generé la sesión en ése mismo código,

De todas formas lo he puesto al comienzo, y sigue sin funcionar.

El problema debe ser algo en el código "inicio.php" que me corta la sesion, o en algo que afecte a los exploradores web, ya que insisto, ésto funciona perefectamente en localhost, pero no en web.

Saludos
  #6 (permalink)  
Antiguo 20/04/2009, 07:08
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: Sesion funciona en local, y en web no

a mi me pasa lo mismo, y no es por la session_start();

no se porque es :S
  #7 (permalink)  
Antiguo 20/04/2009, 07:36
Avatar de jaao_death  
Fecha de Ingreso: abril-2009
Ubicación: Murcia/españa
Mensajes: 229
Antigüedad: 15 años
Puntos: 6
De acuerdo Respuesta: Sesion funciona en local, y en web no

El problema está en los archivos donde haces la llamada a los dato de la session, no hace falta que vuelvas a crear otra sesión con session_start(); pues la sesión ya ha sido iniciada anteriormente, intenta remover esta linea del código y simplemente has la llamada a los datos:

Código PHP:
<?php
// session_start(); it doesn't  work
$usuario=$_SESSION['usuario']; 
$nombre=$_SESSION['nombre']; 
$email=$_SESSION['email']; 
if(isset(
$_SESSION['usuario'])){
?>

<html>
<head>

<!-- Site Title -->
<title>Sieteyocho</title>

<!-- Link to Style External Sheet -->
<link href="css/style.css" type="text/css" rel="stylesheet" />

</head>
<body>
... etc...
  #8 (permalink)  
Antiguo 20/04/2009, 07:44
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: Sesion funciona en local, y en web no

mis errores son muy diferentes

Warning: session_start() [function.session-start]: open(C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/1\sess_3b2b3fb619b599438eb2b7e672dbd8fc, O_RDWR) failed: No such file or directory (2) in C:\AppServ\www\apps\DATOS\principal.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\apps\DATOS\principal.php:3) in C:\AppServ\www\apps\DATOS\principal.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\apps\DATOS\principal.php:3) in C:\AppServ\www\apps\DATOS\principal.php on line 3


Warning: Unknown: open(C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/1\sess_3b2b3fb619b599438eb2b7e672dbd8fc, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/1) in Unknown on line 0

No lo consiguo entender.

la session esta bien.
<?
// Definimos que vamos a usar sesiones en este archivo
session_start();
?>

<?
$_SESSION[codigo_empresa] = $row['codigo_empresa'];
?>
  #9 (permalink)  
Antiguo 20/04/2009, 10:43
 
Fecha de Ingreso: junio-2007
Mensajes: 80
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Sesion funciona en local, y en web no

Hola

Si quito session_start() del comienzo de la linea, ahora no me funciona tampoco en el localhost, y me lanza este error:

Notice: Undefined variable: _SESSION in C:\Archivos de programa\EasyPHP 3.0\www\sieteyocho\indice1a.php on line 16

Vulvo a decir que tal y como está el código funciona en localhost, lo que no entiendo es porqué no funciona en web, ya que siempre que he hecho pruebas en localhost, me ha funcionado en la web

Saludos
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 05:24.