Foros del Web » Programando para Internet » PHP »

No me pasan las variables de la sesion

Estas en el tema de No me pasan las variables de la sesion en el foro de PHP en Foros del Web. Este codigo que expongo a continuación recoge la variable $_POST["cliente"] para conectar a la base de datos y acabar de llenar las demas variables en ...
  #1 (permalink)  
Antiguo 01/10/2007, 03:23
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 21 años, 2 meses
Puntos: 2
No me pasan las variables de la sesion

Este codigo que expongo a continuación recoge la variable $_POST["cliente"] para conectar a la base de datos y acabar de llenar las demas variables en un array.


<?
session_register('variables');
?>
<html>
<head>
<title>Comprobar</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
$cliente = $_POST["cliente"];

// conectamos con la base de datos
include("libreria/conectar.php");
//Ejecutamos la sentencia SQL
$result=mysql_db_query("qo868","select * from clientes_encuesta where cliente like '$cliente'");
//Mostramos los registros
if(mysql_num_rows($result) != 0)
{
//El cliente existe
while ($row=mysql_fetch_array($result))
{
// forma array y carga variables
$myarray_variables[0] = $row["cliente"];
$myarray_variables[1] = $row["nombre"];
$myarray_variables[2] = $row["contestado"];
$myarray_variables[3] = $row["contrato"];
$myarray_variables[4] = date("d-m-Y");


$variables = $myarray_variables;
if ($row["contestado"] == 0)
{
echo "<html>";
echo "<head>";
echo "<meta http-equiv=\"REFRESH\" content=\"0; URL=rellenar.php\">";
}
else
{
echo "<html>";
echo "<head>";
echo "<meta http-equiv=\"REFRESH\" content=\"0; URL=rellenado.php\">";
}
}
mysql_free_result($result);
}
else
{
echo "<html>";
echo "<head>";
echo "<meta http-equiv=\"REFRESH\" content=\"0; URL=invalido.php\">";
}
?>
</body>
</html>





Si el cliente no ha costestado le envia a rrellenar.php
Si ya ha costestado a rellenado.php
Si no existe el cliente ha invalido.php
Cuando envia a rellnar.php
He preparado este codigo

<?
session_register('variables');
?>
<html>
<head>
<title>Casa Jové</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?
$myarray_variables = $variables;
$cliente = $myarray_variables[0];
$nombre = $myarray_variables[1];
$contestado = $myarray_variables[2];
$contrato = $myarray_variables[3];
$fecha=date("d-m-Y");

echo $cliente;
echo '<p>&nbsp;</p>';
echo $nombre;
echo '<p>&nbsp;</p>';
echo $contestado;
echo '<p>&nbsp;</p>';
echo $contrato;
echo '<p>&nbsp;</p>';
echo $fecha;

?>

</body>
</html>


Me funciona bien en Local pero No pasan las variables si se ejecuta en el servidor de Arsys
En local tengo My SQL 3.23.55 y Php 4.3.0
En el servidor Arsys tienen My SQL 4.1.14 y PHP 5.1

Algo ha cambiado en estos dos años para que deje de funcionar
Que puede ser ?

Gracias
  #2 (permalink)  
Antiguo 01/10/2007, 04:24
 
Fecha de Ingreso: octubre-2007
Ubicación: agua dulce, veracruz
Mensajes: 22
Antigüedad: 16 años, 6 meses
Puntos: 1
Re: No me pasan las variables de la sesion

session_register() a sido deprecado
te recomiendo que lo hagas de esta forma
$_SESSION['variable'] es super global y es accesible en todos los niveles
Código PHP:
<?
session_start
();
?>
<html>
<head>
<title>Comprobar</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body> 
<?
$cliente 
$_POST["cliente"];

// conectamos con la base de datos
include("libreria/conectar.php");
//Ejecutamos la sentencia SQL
$result=mysql_db_query("qo868","select * from clientes_encuesta where cliente like '$cliente'");
//Mostramos los registros
if(mysql_num_rows($result) != 0)
{
//El cliente existe
while ($row=mysql_fetch_array($result))
{
// forma array y carga variables 
//$_SESSION['cliente']  es mas facil de entender que $myarray_variables[0]
$_SESSION['cliente']  = $row["cliente"];
$_SESSION['nombre'] = $row["nombre"];
$_SESSION['contestado'] = $row["contestado"];
$_SESSION['contrato'] = $row["contrato"]; 
$_SESSION['fecha'] = date("d-m-Y"); 


$variables $myarray_variables
if (
$row["contestado"] == 0

echo 
"<html>";
echo 
"<head>";
echo 
"<meta http-equiv=\"REFRESH\" content=\"0; URL=rellenar.php\">";
}
else
{
echo 
"<html>";
echo 
"<head>";
echo 
"<meta http-equiv=\"REFRESH\" content=\"0; URL=rellenado.php\">";
}
}
mysql_free_result($result);
}
else
{
echo 
"<html>";
echo 
"<head>";
echo 
"<meta http-equiv=\"REFRESH\" content=\"0; URL=invalido.php\">";
}
?> 
</body>
</html>



Código PHP:
<?
session_register
('variables');
?>
<html>
<head>
<title>Casa Jové</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?

$cliente 
$_SESSION['cliente'];
$nombre $_SESSION['nombre'];
$contestado $_SESSION['contestado']; 
$contrato $_SESSION['contrato'];
$fecha=$_SESSION['fecha'];

echo 
$cliente;
echo 
'<p>&nbsp;</p>';
echo 
$nombre;
echo 
'<p>&nbsp;</p>';
echo 
$contestado;
echo 
'<p>&nbsp;</p>';
echo 
$contrato;
echo 
'<p>&nbsp;</p>';
echo 
$fecha;

?>

</body>
</html>

-Kerberos^^
  #3 (permalink)  
Antiguo 01/10/2007, 05:06
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 21 años, 2 meses
Puntos: 2
Re: No me pasan las variables de la sesion

Sobre el codigo que me enviaste corregido :

En el primer codigo PHP
He eliminado la linea
$variables = $myarray_variables;
pues ya no tiene sentido

En el seundo PHP
He cambiado
<?
session_register('variables');
?>
por
<?
session_start();
?>

He probado y FANTASTICO
Ahora si me funciona tanto en Local como colgado en el servidor de Arsys

MUCHAS GRACIAS
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 21:51.