Autor Tema: enviar session de php con la funcion mail() session_start() problema no recibe  (Leído 3204 veces)

cesaranl179

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Hola amigos, soy nuevo en el foro y tengo semanas tratando de solucionar un problema que tengo, a ver si me pueden ayudar. Adjunto el código con el cual no he logrado enviarme los datos de la sesión $_SESSION['detalle'] por correo con la funcion mail(), logro que me lleguen las demas variables pero la tabla que se forma con la sesion no e logrado hacer enviarmela. como podria hacer? de verdad que nose que mas hacer. me podrian ayudar? por favor! me explique bien?

Código: [Seleccionar]
<?php 
$to 
"cesar.anl17@gmail.com"// correo de contacto

// recojeremos los datos del formulario

$cliente htmlentities($_POST['cliente']);
$etiquetas $_POST['etiquetas'];
$codigosdebarra $_POST['codigosdebarra'];
$formadepago $_POST['formadepago'];
$asunto "Nuevo Pedido";
$iv "0.12";

?>


<?php 
@session_start();
?>

<?php if(count($_SESSION['detalle'])>0){?>
<table class="table">
    <thead>
        <tr>
            <th>Descripci&oacute;n</th>
            <th>Cantidad</th>
            <th>Precio</th>
<th>Subtotal</th>
            <th></th>
        </tr>
    </thead>
    <tbody>
    <?php 
    
$total 0;
     foreach($_SESSION['detalle'] as $k => $detalle){ 
$total += $detalle['subtotal'];
     ?>

        <tr>
        <td><?php echo $detalle['producto'];?></td>
            <td><?php echo $detalle['cantidad'];?></td>
            <td><?php echo $detalle['precio'];?></td>
<td><?php echo $detalle['subtotal'];?></td>
        </tr>
        <?php }?>
        <tr>
        <td colspan="3" class="text-right">Total sin IVA</td>
        <td><?php echo $total;?></td>
        <tr><td colspan="3" class="text-right">IVA</td>
        <td><?php echo $total*$iv;?></td></tr>
        <tr><td colspan="3" class="text-right">Total con Iva</td>
        <td><?php echo $total*$iv+$total;?></td></tr>
        </tr>
    </tbody>
</table>
<?php }else{?>
<div class="panel-body"> No hay productos agregados</div>
<?php }

$mensaje 'Cliente: '.$cliente.' /// Etiquetas: '.$etiquetas.' /// Codigos de Barra: '.$codigosdebarra.' /// Forma de Pago: '.$formadepago;

mail($to$asunto$mensaje);

?>

« Última modificación: 13 de Noviembre 2016, 12:21 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Buenas

Normalmente session_start() debe ser la primera instrucción que aparezca, antes de cualquier otra. Es posible que el problema sea debido a esto.

Del manual oficial php: "Para usar sesiones basadas en cookies, session_start() debe ser llamada antes de imprimir cualquier cosa en el navegador."

Por otro lado, usa session_start(); en lugar de @session_start(); pues esto suprime mensajes de error que te pueden resultar útiles

Otra cosa: introduce echo 'Recibido '.$_SESSION['detalle']; para comprobar si esta variable te está trayendo algo ¿qué te muestra cuando pones esto?
 

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".