Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/06/2003, 04:35
RuBiO
 
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