Foros del Web » Programando para Internet » PHP »

Por que no me guarda la sesion

Estas en el tema de Por que no me guarda la sesion en el foro de PHP en Foros del Web. No entiendo porque no guarda la sesion anterior ni las variables procedentes del anterior formulario, el nombre de la sesion esta bien puesto he incluso ...
  #1 (permalink)  
Antiguo 18/06/2003, 04:35
 
Fecha de Ingreso: febrero-2003
Mensajes: 93
Antigüedad: 21 años, 2 meses
Puntos: 0
Por que no me guarda la sesion

No entiendo porque no guarda la sesion anterior ni las variables procedentes del anterior formulario, el nombre de la sesion esta bien puesto he incluso las variables del otro formulario name="maquina['nombre_maquina']"

El error que me sale es el tipico que dice que dice que no estan definidas la varible maquina...

Código PHP:
<?php 
        
require("bd_config.inc.php");
  
  
//guarda la caché de las paginas
  //session_cache_limiter('private');
  
  
session_name($usuarios_sesion);
  
session_start();

function 
cabeceraHTML(){
echo <<< HTML
<html>
<HEAD>

<TITLE>hoja de pedidos</TITLE>

<style type="text/css">
<!--
a:link {    color: #ffffff; text-decoration: none}
a:visited {    color: #cbd6fb; text-decoration: none}
/* link azpimarratuak */
A.linkgorri { color: #cc0000; }
A.linkgorri:visited { color: #cc0000; }
A.linkgorri:hover { color: #000000; text-decoration: underline;}
A.linkurdin { color: #536f91; }
A.linkurdin:visited { color: #536f91; }
A.linkurdin:hover { color: #000000; text-decoration: underline;} 
A.linkbeltz { color: #333333; }
A.linkbeltz:visited { color: #333333; }
A.linkbeltz:hover { color: #000000; text-decoration: underline;}  
}
-->
</style>
</HEAD>
<BODY BGCOLOR="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<form name="pedidos" method="post" action="descripcion.php" onSubmit="return confirmar()">
<table width="261" align="center">
  <tr> 
    <td colspan="2"><div align="center"><img src="/imagenes/titpedidos.gif" width="155" height="44"></div></td>
  </tr>
  <tr> 
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr> 
    <td colspan="2"><div align="center"><font color="526F91" size="3" face="Verdana, Arial, Helvetica, sans-serif">
Usuario: $_SESSION
['usuario_login']
       </font></div></td>
  </tr>
  <tr> 
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr bgcolor="#8EA5BF"> 
    <td bgcolor="#D2DCE6" colspan="2"> <center>
        <font color="526F91" size="3" face="Verdana, Arial, Helvetica, sans-serif">Este 
        es su pedido </font> </center></td>
  </tr>
  <tr bgcolor="#8EA5BF"> 
    <td width="140"> <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b>Referencia</b></font> 
      </div></td>
    <td width="139"> <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b>Cantidad</b></font> 
      </div></td>
  </tr>
   <tr bgcolor="#FFFFFF">
HTML;             
                      
                    
                      
                    foreach ($_POST
['maquina'] as $name => $valor)
                        {
                           if ($valor>0)
                            {
                                $maquinas
[$name] = $valor;
                                echo " <tr bgcolor=\"#FFFFFF\"> <td width=\"50%\"><div align=\"center\">$name </div></td> <td>
                            <div align=\"center\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">$valor</font></div></td>";
                            }
                        }
                        //guardamos la variable en la sesion
                     $_SESSION
['maquinas']= $maquinas;
                     
                    
echo <<HTML                                        
                  </tr>
</table>


HTML;
}

cabeceraHTML();
 
?>


</form>
</BODY>
</HTML>
Bueno al final lo he resulto de esta manera:

Código PHP:
<?php 
        
require("bd_config.inc.php");
  
  
//guarda la caché de las paginas
  //session_cache_limiter('private');
  
  
session_name($usuarios_sesion);
  
session_start();

function 
cabeceraHTML(){
echo <<< EOT
<html>
<HEAD>
<TITLE>hoja de pedidos</TITLE>
<style type="text/css">
<!--
a:link {    color: #ffffff; text-decoration: none}
a:visited {    color: #cbd6fb; text-decoration: none}
/* link azpimarratuak */
A.linkgorri { color: #cc0000; }
A.linkgorri:visited { color: #cc0000; }
A.linkgorri:hover { color: #000000; text-decoration: underline;}
A.linkurdin { color: #536f91; }
A.linkurdin:visited { color: #536f91; }
A.linkurdin:hover { color: #000000; text-decoration: underline;} 
A.linkbeltz { color: #333333; }
A.linkbeltz:visited { color: #333333; }
A.linkbeltz:hover { color: #000000; text-decoration: underline;}  
}
-->
</style>
</HEAD>
<BODY BGCOLOR="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<form name="pedidos" method="post" action="descripcion.php" onSubmit="return confirmar()">
<table width="450" align="center">
<tr> 
<td colspan="2"><div align="center"><img src="/imagenes/titpedidos.gif" width="155" height="44"></div></td>
</tr>
<tr> 
<td colspan="2">&nbsp;</td>
</tr>
<tr> 
<td colspan="2"><div align="center"><font color="526F91" size="3" face="Verdana, Arial, Helvetica, sans-serif">Usuario: 
{$_SESSION['usuario_login']}
</font></div></td>
</tr>
<tr> 
<td colspan="2">&nbsp;</td>
</tr>
<tr bgcolor="#8EA5BF"> 
<td bgcolor="#D2DCE6" colspan="2"> <center>
<font color="526F91" size="3" face="Verdana, Arial, Helvetica, sans-serif">Este es su pedido </font> </center></td>
</tr>
<tr bgcolor="#8EA5BF"> 
<td width="140"> <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b>Referencia</b></font> 
</div></td>
<td width="139"> <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b>Cantidad</b></font> 
</div></td>
</tr>
<tr bgcolor="#FFFFFF">
EOT;


foreach (
$_POST['maquina'] as $name => $valor)
{
if (
$valor>0)
{
{
$maquinas[$name] = $valor;}
echo 
" <tr bgcolor=\"#FFFFFF\"> <td width=\"50%\"><div align=\"center\">$name</div></td> <td>
<div align=\"center\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">$valor</font></div></td>"
;
}
}

    echo 
"</tr> </table>";



}

cabeceraHTML();
 
?>


</form>
</BODY>
</HTML>

He podido saber que las variables dentro de los HEREDOC deben estart entre corchetes {}, pero al final he tenido que separar javascript del heredoc y el foreach, si alguno sugiere hacerlo de otra forma mas simple o incluso mas seguro eatría encantado de probarlo

Muchas gracias

Última edición por RuBiO; 18/06/2003 a las 04:35
  #2 (permalink)  
Antiguo 18/06/2003, 09:08
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Pues no, las variables dentro de HEREDOC pueden estar normales ($variable) solo en los casos de variables tipo array deben encerrarse en corchetes {$arreglo["esto"]}

Saludos!
__________________
Manoloweb
  #3 (permalink)  
Antiguo 18/06/2003, 10:52
 
Fecha de Ingreso: febrero-2003
Mensajes: 93
Antigüedad: 21 años, 2 meses
Puntos: 0
vale de acuerdo gracias por la correccion
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 06:46.