Foros aprenderaprogramar.com

Aprender a programar => De todo un poco... => Mensaje iniciado por: cesaranl179 en 05 de Noviembre 2016, 04:21

Título: enviar session de php con la funcion mail() session_start() problema no recibe
Publicado por: cesaranl179 en 05 de Noviembre 2016, 04:21
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);

?>

Título: Re:enviar session de php con la funcion mail() session_start() problema no recibe
Publicado por: Ogramar en 13 de Noviembre 2016, 12:21
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