Foros del Web » Programando para Internet » PHP »

envio de datos de sesion por mail

Estas en el tema de envio de datos de sesion por mail en el foro de PHP en Foros del Web. Buenas a todos. Necesito que alguien me eche un capote porque me estoy volviendo tarumba para enviar unos datos incluidos en una variable de sesion ...
  #1 (permalink)  
Antiguo 12/04/2005, 13:01
Gux
 
Fecha de Ingreso: octubre-2003
Mensajes: 58
Antigüedad: 21 años, 1 mes
Puntos: 0
envio de datos de sesion por mail

Buenas a todos.

Necesito que alguien me eche un capote porque me estoy volviendo tarumba para enviar unos datos incluidos en una variable de sesion por mail.

Tengo un archivo librería con varias funciones, entre ellas la de mostrar datos:

lib_carrito.php

<?php
//Muestra el contenido del carrito de la compra
//ademas pone los enlaces para eliminar un producto del carrito
function imprime_carrito(){
$suma = 0;
echo("<table cellspacing='0' cellpadding='0' border='0'>
<tr>
<td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
</td>
</tr>
<tr>
<td class='t9bl' bgcolor='#557FD7' height='20' width='110'>Familia
</td>
<td class='t9bl' bgcolor='#557FD7' height='20' width='90'>Producto
</td>
<td class='t9bl' bgcolor='#557FD7' height='20' width='80'>Referencia
</td>
<td class='t9bl' bgcolor='#557FD7' height='20' width='177'>Artículo
</td>
<td class='t9bl' bgcolor='#557FD7' height='20' width='70' align='center'>Precio
</td>
<td class='t9bl' bgcolor='#557FD7' height='20' width='30' align='center'>Cantidad
</td>
<td class='t9bl' bgcolor='#557FD7' height='20' width='80' align='center'>Importe
</td>
<td class='t9bl' bgcolor='#557FD7' height='20' width='20' align='center'>Eliminar
</td>
</tr>
<tr>
<td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
</td>
</tr>
<tr>
<td height='10' class='px' colspan='8'>
</td>
</tr>
<tr>
<td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
</td>
</tr>");


for ($i=0;$i<$this->num_productos;$i++){
if($this->array_id_prod[$i]!=0){

echo '<tr>';
echo "<td class='txt3p' height='30'>" . $this->array_familia_prod[$i] . "</td>";
echo "<td class='txt3p' height='30'>" . $this->array_producto_prod[$i] . "</td>";
echo "<td class='txt3p' height='30'>" . $this->array_referencia_prod[$i] . "</td>";
echo "<td class='txt3p' height='30'>" . $this->array_articulo_prod[$i] . "</td>";
echo "<td class='txt3p' height='30' align='center'>" . $this->array_precio_prod[$i] . "</td>";
echo "<td class='txt3p' height='30' align='center'>" . $this->array_cantidad_prod[$i] . "</td>";

if($this->array_familia_prod[$i]=='Material Oficina')
{

$importe = round($this->array_precio_prod[$i]*$this->array_cantidad_prod[$i]-$desc,2);


echo "<td class='txt3p' height='30'><center>$importe €</center></td>";
echo "<td class='txt3p' height='30'><a href='eliminar_producto.php?linea=$i' class='lkng'>Eliminar</td>";
echo '</tr>';
echo'<tr>';
echo"<td height='10' class='px' colspan='9'>";
echo"</td>";
echo'</tr>';
echo'<tr>';
echo"<td width='545' bgcolor='#164D89' height='1' class='px' colspan='9'>";
echo"</td>";
echo'</tr>';

$suma = $suma+$importe;

}
}

echo"<tr>
<td height='20' class='px' colspan='9'>
</td>
</tr>";
//muestro el total
echo "<tr>
<td class='txt3'><b>TOTAL:</b></td>
<td class='txt3'> <b>$suma €</b></td>
<td>&nbsp;</td>
</tr>";
//total más IVA

$totaliva=round($suma * 1.16, 2);

echo "<tr>
<td class='txt3'><b>TOTAL + IVA (16%):</b></td>
<td class='txt3'><b>$totaliva €</b></td>
<td>&nbsp;</td>
</tr>";
echo "</table>";
}
?>


En la página que muestro el estado del pedido no tengo ningún problema para mostrar los datos utilizando la siguiente llamada:

$_SESSION["ocarrito"]->imprime_carrito();

Pero cuando quiero enviar estos datos por mail no lo consigo. He probado miles de cosas pero no hay manera. Os adjunto la página de envios por si me pudierais decir cómo he de poner el código para que funcione. Es lo último que me falta para terminar el trabajo que estoy haciendo y ya tengo la cabeza como un bombo

envio.php

<?php
include("lib_carrito.php");

if(!$_SESSION[auth])
{
header("Location: index.php");
}

$sfrom="$email"; //cuenta que envia
$sdestinatario="[email protected]"; //cuenta destino
$ssubject="Pedido desde la página web"; //subject
$shtml="<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<html>
<head>
<title>Pedido desde la página web</title>
<style>
.txt{
font-family: arial;
font-size: 9px;
color: '#444444';
}
.tit{
font-family: arial;
font-size: 11px;
color: '#444444';
font-weight: bold;
padding-left: 5px;
padding-right: 5px;
}
</style>
<link rel='stylesheet' href='estilos.css' type='text/css'>
</head>
<body bgcolor='#E0E4EC' marginwidth='0' marginheight='0' topmargin='40' leftmargin='0'>
<table align='center' bgcolor='ffffff' width='771' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td colspan='2' class='a11gr' height='80'><center><font color='#357EB5'><u>HA RECIBIDO EL SIGUIENTE PEDIDO DESDE LA PÁGINA WEB</u></font></center>
</td>
</tr>
<tr>
<td valign='top' width='40%' height='200' align='center'><img src='http://www.uvedoblestudio.com/img/cereza.jpg' width='150' height='200'>
</td>
<td valign='top' class='tit'><u>ENVÍA:</u><br><br><br><span class='txt'><b>Empresa:</b> $empresa<br><br><b>CIF:</b> $cif<br><br><b>Nombre:</b> $nombre<br><br><b>Dirección:</b> $direccion - $municipio [ $provincia ]<br><br><b>Tlfno.:</b> $telefono - <b>Fax:</b> $fax<br><br><b>E-mail:</b> $email</span><br><br><br><u>PEDIDO:</u><br><br>
</td>
</tr>
<tr>
<td valign='top' colspan='2'>"

AQUÍ DEBERÍA IR EL PEDIDO

echo"</td>
</tr>
<tr>
<td valign='top' colspan='2' height='30'>
</td>
</tr>
</table>
</body>
</html>
"; //mensaje
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
$sheader=$sheader."Mime-Version: 1.0\n";
$sheader=$sheader."Content-Type: text/html";
mail($sdestinatario,$ssubject,$shtml,$sheader);


if(mail)
{

echo" El mensaje se ha enviado correctamente";

session_destroy();

}
else
{
echo("Atención! Ocurrió un error, si éste persiste comuniquelo a los responsables del web. Gracias<br /><a href='home.php'>Salir</a>");
}
?>



Muchas gracias.
  #2 (permalink)  
Antiguo 13/04/2005, 02:38
Gux
 
Fecha de Ingreso: octubre-2003
Mensajes: 58
Antigüedad: 21 años, 1 mes
Puntos: 0
Nadie sabe como puedo solucionarlo?
  #3 (permalink)  
Antiguo 13/04/2005, 07:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Bueno .. veo que lo que te comenté en el mensaje:
http://www.forosdelweb.com/f18/guardar-mostrar-datos-array-286681/
no lo usastes al final .. Ok . .

Ahora .. con respecto a tu problema .. Si estás usando alguna classe (así parece) para trabajar tu "carrito" . .deberías acompañar su código .. por qué realmente no se vé como trabaja esta.

Por ejemplo en el uso de sesiones .. no sé vé bien como lo gestina esa classe o como lo haces tu .. pero en envio.php en algún sitio debe estar un session_start() para que puedas usar la sesión ..

Sobre enviar ese "carrito" por e-mail . .tendras que usar la misma función de imprime_ carrtio() .. pero como lo necesitas en una variable .. lo que estaría bueno es hacer que tu función imprime_carrito() generase su resultado en una variable para poder hacer algo tipo:

Código PHP:
function imprime_carrito(){
$html="<b>blablabla";
return 
$html;

echo imprime_carrito();

así la podrías llamar concatenando en tu $shtml
Código PHP:
$shtml="blablabal código ...";
$shtml .=imprime_carrito();
$shtml .=" la otra parte del código "
Hay otras técnicas basadas en el control del buffer (ob_start() .. ob_get_contents() .. etc) para hacer lo mismo ..

Un saludo,
  #4 (permalink)  
Antiguo 13/04/2005, 08:54
Gux
 
Fecha de Ingreso: octubre-2003
Mensajes: 58
Antigüedad: 21 años, 1 mes
Puntos: 0
Te envio los codigos completos de ambas paginas

Te explico como lo tengo hecho. Tengo una pagina libreria donde estan incluidas las distintas funciones. A esta página la llamo en forma de include en todas las demás: include("lib_carrito.php");

lib_carrito.php

Código PHP:
<?
class carrito {
    
//atributos de la clase
       
var $num_productos;
       var 
$array_id_prod;
    var 
$array_familia_prod;
    var 
$array_producto_prod;
    var 
$array_referencia_prod;
       var 
$array_articulo_prod;
       var 
$array_precio_prod;
    var 
$array_cantidad_prod;

    
//constructor. Realiza las tareas de inicializar los objetos cuando se instancian
    //inicializa el numero de productos a 0
    
function carrito () {
           
$this->num_productos=0;
    }
    
    
//Introduce un producto en el carrito. Recibe los datos del producto
    //Se encarga de introducir los datos en los arrays del objeto carrito
    //luego aumenta en 1 el numero de productos
    
function introduce_producto($id_prod,$familia_prod,$producto_prod,$referencia_prod,$articulo_prod,$precio_prod,$cantidad_prod){
        
$this->array_id_prod[$this->num_productos]=$id_prod;
        
$this->array_familia_prod[$this->num_productos]=$familia_prod;
        
$this->array_producto_prod[$this->num_productos]=$producto_prod;
        
$this->array_referencia_prod[$this->num_productos]=$referencia_prod;
        
$this->array_articulo_prod[$this->num_productos]=$articulo_prod;
        
$this->array_precio_prod[$this->num_productos]=$precio_prod;
        
$this->array_cantidad_prod[$this->num_productos]=$cantidad_prod;
        
$this->num_productos++;
    }


    
//Muestra el contenido del carrito de la compra
    //ademas pone los enlaces para eliminar un producto del carrito
    
function imprime_carrito(){
        
$suma 0;
      echo(
"<table cellspacing='0' cellpadding='0' border='0'>
             <tr>
              <td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
              </td>
             </tr>
             <tr>
              <td class='t9bl' bgcolor='#557FD7' height='20' width='110'>Familia
              </td>
              <td class='t9bl' bgcolor='#557FD7' height='20' width='90'>Producto
              </td>
              <td class='t9bl' bgcolor='#557FD7' height='20' width='80'>Referencia
              </td>
              <td class='t9bl' bgcolor='#557FD7' height='20' width='177'>Artículo
              </td>
              <td class='t9bl' bgcolor='#557FD7' height='20' width='70' align='center'>Precio
              </td>
              <td class='t9bl' bgcolor='#557FD7' height='20' width='30' align='center'>Cantidad
              </td>
              <td class='t9bl' bgcolor='#557FD7' height='20' width='40' align='center'>Descuento
              </td>
              <td class='t9bl' bgcolor='#557FD7' height='20' width='80' align='center'>Importe
              </td>
              <td class='t9bl' bgcolor='#557FD7' height='20' width='20' align='center'>Eliminar
              </td>
             </tr>
             <tr>
              <td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
              </td>
             </tr>
             <tr>
              <td height='10' class='px' colspan='8'>
              </td>
             </tr>
             <tr>
              <td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
              </td>
             </tr>"
);


             for (
$i=0;$i<$this->num_productos;$i++){
            if(
$this->array_id_prod[$i]!=0){

       echo 
'<tr>';
        echo 
"<td class='txt3p' height='30'>" $this->array_familia_prod[$i] . "</td>";
        echo 
"<td class='txt3p' height='30'>" $this->array_producto_prod[$i] . "</td>";
        echo 
"<td class='txt3p' height='30'>" $this->array_referencia_prod[$i] . "</td>";
        echo 
"<td class='txt3p' height='30'>" $this->array_articulo_prod[$i] . "</td>";
        echo 
"<td class='txt3p' height='30' align='center'>" $this->array_precio_prod[$i] . "</td>";
        echo 
"<td class='txt3p' height='30' align='center'>" $this->array_cantidad_prod[$i] . "</td>";

        if(
$this->array_familia_prod[$i]=='Material Oficina')
                {

                echo 
"<td class='txt3p' height='30'><center>$descuento %</center></td>";

                
$rebaja $descuento/100;
                
$desc =  $this->array_precio_prod[$i]*$this->array_cantidad_prod[$i]*$rebaja;
                
$importe round($this->array_precio_prod[$i]*$this->array_cantidad_prod[$i]-$desc,2);


        echo 
"<td class='txt3p' height='30'><center>$importe €</center></td>";
                echo 
"<td class='txt3p' height='30'><a href='eliminar_producto.php?linea=$i' class='lkng'>Eliminar</td>";
                echo 
'</tr>';
                echo
'<tr>';
                 echo
"<td height='10' class='px' colspan='9'>";
                 echo
"</td>";
                echo
'</tr>';
                echo
'<tr>';
                 echo
"<td width='545' bgcolor='#164D89' height='1' class='px' colspan='9'>";
                 echo
"</td>";
                echo
'</tr>';

                
$suma $suma+$importe;
            }
        }

        echo
"<tr>
              <td height='20' class='px' colspan='9'>
              </td>
             </tr>"
;
             
//muestro el total
        
echo "<tr>
               <td class='txt3'><b>TOTAL:</b></td>
               <td class='txt3'> <b>$suma €</b></td>
               <td>&nbsp;</td>
              </tr>"
;
        
//total más IVA

        
$totaliva=round($suma 1.162);

        
$_SESSION[pago] = $totaliva;

        echo 
"<tr>
               <td class='txt3'><b>TOTAL + IVA (16%):</b></td>
               <td class='txt3'><b>$totaliva €</b></td>
               <td>&nbsp;</td>
              </tr>"
;
        echo 
"</table>";
    }
    
    
//elimina un producto del carrito. recibe la linea del carrito que debe eliminar
    //no lo elimina realmente, simplemente pone a cero el id, para saber que esta en estado retirado
    
function elimina_producto($linea){
        
$this->array_id_prod[$linea]=0;
    }

//inicio la sesión
session_start();
//si no esta creado el objeto carrito en la sesion, lo creo
if (!isset($_SESSION["ocarrito"])){
    
$_SESSION["ocarrito"] = new carrito();
}
?>

Y esta es la que envía (validarpedido.php)

Código PHP:
<?php
include("lib_carrito.php");

if(!
$_SESSION[auth]) 
{
header("Location: index.php");
}

$sfrom="$email"//cuenta que envia
$sdestinatario="[email protected]"//cuenta destino
$ssubject="Pedido desde la página web"//subject
$shtml="<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<html>
<head>
<title>Pedido desde la página web</title>
<style>
.txt{
font-family: arial;
font-size: 9px;
color: '#444444';
}
.tit{
font-family: arial;
font-size: 11px;
color: '#444444';
font-weight: bold;
padding-left: 5px;
padding-right: 5px;
}
</style>
<link rel='stylesheet' href='http://www.buraltec.com/estilos.css' type='text/css'>
</head>
<body bgcolor='#E0E4EC' marginwidth='0' marginheight='0' topmargin='40' leftmargin='0'>
 <table align='center' bgcolor='ffffff' width='771' border='0' cellspacing='0' cellpadding='0'>
  <tr>
   <td colspan='2' class='a11gr' height='80'><center><font color='#357EB5'><u>HA RECIBIDO EL SIGUIENTE PEDIDO DESDE LA PÁGINA WEB</u></font></center>
   </td>
  </tr>
  <tr>
   <td valign='top' width='40%' height='200' align='center'><img src='http://www.uvedoblestudio.com/img/cereza.jpg' width='150' height='200'>
   </td>
   <td valign='top' class='tit'><u>ENVÍA:</u><br><br><br><span class='txt'><b>Empresa:</b> $empresa<br><br><b>CIF:</b> $cif<br><br><b>Nombre:</b> $nombre<br><br><b>Dirección:</b> $direccion - $municipio [ $provincia ]<br><br><b>Tlfno.:</b> $telefono - <b>Fax:</b> $fax<br><br><b>E-mail:</b> $email</span><br><br><br><u>PEDIDO:</u><br><br>
   </td>
  </tr>
  <tr>
   <td valign='top' colspan='2' class='px'>
   </td>
  </tr>
  <tr>
   <td valign='top' colspan='2' class='px'>
    <table cellspacing='0' cellpadding='0' border='0'>
     <tr>
      <td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
      </td>
     </tr>
     <tr>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='110'>Familia
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='90'>Producto
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='80'>Referencia
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='177'>Artículo
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='70' align='center'>Precio
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='30' align='center'>Cantidad
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='40' align='center'>Descuento
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='80' align='center'>Importe
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='20' align='center'>Eliminar
      </td>
     </tr>
     <tr>
      <td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
      </td>
     </tr>
     <tr>
      <td height='10' class='px' colspan='8'>
      </td>
     </tr>
     <tr>
      <td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
      </td>
     </tr>
    </table>"
;

$shtml .=imprime_carrito();

$shtml .="</td>
  </tr>
  <tr>
   <td valign='top' colspan='2' height='30'>
   </td>
  </tr>
 </table>
</body>
</html>
"
//mensaje
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
$sheader=$sheader."Mime-Version: 1.0\n";
$sheader=$sheader."Content-Type: text/html";
mail($sdestinatario,$ssubject,$shtml,$sheader);


if(
mail)
    {

echo(
"Envío correcto");

session_destroy();

    }
    else
    {
    echo(
"Atención! Ocurrió un error, si éste persiste comuniquelo a los responsables del web. Gracias<br /><a href='home.php'>Salir</a>");
    }
?>
  #5 (permalink)  
Antiguo 13/04/2005, 15:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
No sé si has probado a ver el resultado de
$shtml

Empieza por ahí. Por lo demás no comentas si envia el e-mail en sí y en que condiciones o si tienes algún mensaje de error en todo esto.

También veo que "imprime_carrito()" es un médoto de tu classe "carrito" .. en consecuencia no puedes hacer:

$shtml .= imprime_carrito();

sino ..
$shtml .= $_SESSION["ocarrito"]->imprime_carrito();
(es un método de tu classe!)

Tampoco lo modificastes para hacer lo que te comenté de que la función devuelva su resultado . .que no lo haga directamente con un "echo" ella mismo .. sino esto no te funcionará nunca.

Al margen del tema del carrito .. deberías

Código PHP:
if(!$_SESSION['auth']) 

header("Location: index.php"); 
exit;



Un saludo,
  #6 (permalink)  
Antiguo 14/04/2005, 03:48
Gux
 
Fecha de Ingreso: octubre-2003
Mensajes: 58
Antigüedad: 21 años, 1 mes
Puntos: 0
Pregunta

El mensaje lo envia. De hecho, los datos del cliente se mandan perfectamente, lo que no sale es el pedido.

He probado con:

$shtml .= $_SESSION["ocarrito"]->imprime_carrito();

pero me hace una cosa muy curiosa. Manda el email con los datos del cliente pero no el pedido, y me muestra en pantalla el pedido junto a la hoja que indica que éste se ha enviado correctamente.

Cita:
Tampoco lo modificastes para hacer lo que te comenté de que la función devuelva su resultado . .que no lo haga directamente con un "echo" ella mismo .. sino esto no te funcionará nunca.
Esto no termino de entenderlo ¿Qué quieres decir?


Código PHP:
if(!$_SESSION['auth'])
{
header("Location: index.php");
exit;

Y este codigo ya lo tengo puesto en todas las páginas...


Gracias mil.
  #7 (permalink)  
Antiguo 14/04/2005, 08:58
Gux
 
Fecha de Ingreso: octubre-2003
Mensajes: 58
Antigüedad: 21 años, 1 mes
Puntos: 0
Tercer dia con lo mismo

¿Alguna sugerencia de como solucionar mi problema?

Por favooooorrrrr.....

Muchas gracias
  #8 (permalink)  
Antiguo 14/04/2005, 09:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
pero me hace una cosa muy curiosa. Manda el email con los datos del cliente pero no el pedido, y me muestra en pantalla el pedido junto a la hoja que indica que éste se ha enviado correctamente
No tiene nada de curioso .. creo que en mensajes anteriores te expliqué como funciona el código -que usas- y que ese es su comportamiento!.

Ya te dije y puse ejemplo como debe quedar tu función .. SIN usar echo directamente en la función ..

fijate bien en mi respuesta #3
http://www.forosdelweb.com/showpost....64&postcount=3

pero toma en cuenta:
$_SESSION["ocarrito"]->imprime_carrito();

Cita:
Código PHP:
if(!$_SESSION['auth'])
{
header("Location: index.php");
exit;
}


Y este codigo ya lo tengo puesto en todas las páginas...
pero con el exit; que ahí te indico?

Un saludo,
  #9 (permalink)  
Antiguo 14/04/2005, 11:52
Gux
 
Fecha de Ingreso: octubre-2003
Mensajes: 58
Antigüedad: 21 años, 1 mes
Puntos: 0
Cita:
function imprime_carrito(){
$html="<b>blablabla";
return $html;
}
¿He de incluir tambien el for en $html? He quitado los echos de la función como me dijiste pero tampoco funciona. Ahora lo que me manda por mail es lo siguiente:

Código HTML:
for (=0;<3;++){ if(Array[]!=0){  . Array[] .  . Array[] .  . Array[] .  . Array[] .  . Array[] .  . Array[] .  if(Array[]=='Material Oficina') { if(Array[]<=1) { ='0'; } else if(Array[]>=2 and Array[]<=4) { ='2'; } else if(Array[]>=5 and Array[]<=9) { ='4'; } else if(Array[]>=10 and Array[]<=18) { ='8'; } else if(Array[]>=19 and Array[]<=24) { ='10'; } else if(Array[]>=25 and Array[]<=35) { ='11'; } else if(Array[]>=36) { ='15'; } } else { ='0'; }  % = /100; = Array[]*Array[]*; = round(Array[]*Array[]-,2);  €  
= +; } }
es decir, el código incluido dentro de la variable $html.

Así es como he dejado la funcion imprime_carro() ( la he renombrado asi para diferenciarla de imprime_carrito() ) pero me parece que estoy dando palos de ciego a diestro y siniestro...:

Código PHP:
//Muestra el contenido del carrito para el mail
    
function imprime_carro(){
    
$html"
             for ($i=0;$i<$this->num_productos;$i++){
            if($this->array_id_prod[$i]!=0){

        <tr>
         <td class='txt3p' height='30'> . $this->array_familia_prod[$i] . </td>
         <td class='txt3p' height='30'> . $this->array_producto_prod[$i] . </td>
         <td class='txt3p' height='30'> . $this->array_referencia_prod[$i] . </td>
         <td class='txt3p' height='30'> . $this->array_articulo_prod[$i] . </td>
         <td class='txt3p' height='30' align='center'> . $this->array_precio_prod[$i] . </td>
         <td class='txt3p' height='30' align='center'> . $this->array_cantidad_prod[$i] . </td>


          if($this->array_familia_prod[$i]=='Material Oficina')
                {

          if($this->array_cantidad_prod[$i]<=1)
                {
                    $descuento='0';
                }
                else if($this->array_cantidad_prod[$i]>=2 and $this->array_cantidad_prod[$i]<=4)
                {
                    $descuento='2';
                }
                else if($this->array_cantidad_prod[$i]>=5 and $this->array_cantidad_prod[$i]<=9)
                {
                    $descuento='4';
                }
                else if($this->array_cantidad_prod[$i]>=10 and $this->array_cantidad_prod[$i]<=18)
                {
                    $descuento='8';
                }
                else if($this->array_cantidad_prod[$i]>=19 and $this->array_cantidad_prod[$i]<=24)
                {
                    $descuento='10';
                }
                else if($this->array_cantidad_prod[$i]>=25 and $this->array_cantidad_prod[$i]<=35)
                {
                    $descuento='11';
                }
                else if($this->array_cantidad_prod[$i]>=36)
                {
                    $descuento='15';
                }

                }
                else
                {
                
                $descuento='0';
                }


                <td class='txt3p' height='30'><center>$descuento %</center></td>

                $rebaja = $descuento/100;
                $desc =  $this->array_precio_prod[$i]*$this->array_cantidad_prod[$i]*$rebaja;
                $importe = round($this->array_precio_prod[$i]*$this->array_cantidad_prod[$i]-$desc,2);


                <td class='txt3p' height='30'><center>$importe €</center></td>
                </tr>
                <tr>
                <td height='10' class='px' colspan='9'>
                </td>
                </tr>
                <tr>
                 <td width='545' bgcolor='#164D89' height='1' class='px' colspan='9'>
                 </td>
                </tr>

                $suma = $suma+$importe;
            }
        }"
;
        return 
$html

    } 
Mientras que para enviarlo utilizo:

Código PHP:
$shtml="blablabal código ..."
$shtml .= $_SESSION["ocarrito"]->imprime_carro();
$shtml .=" la otra parte del código "
¿Qué estoy haciendo mal ahora?


Gracias millones
  #10 (permalink)  
Antiguo 14/04/2005, 13:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
No puedes hacer:

$variable="algo if(codigo) .. bablaabl";

Es decir .. no puedes mezclar código que de su ejecución de una cierta salida .. (echo algo ..)

Tienes que usar la misma técnica de ir concatenando sobre una variable todo lo que generes .. en tu caso lo de la función.

Código PHP:
$html
             for ($i=0;$i<$this->num_productos;$i++){ 
            if($this->array_id_prod[$i]!=0){ 

        <tr> 
         <td class='txt3p' height='30'> . $this->array_familia_prod[$i] . </td> 
         <td class='txt3p' height='30'> . $this->array_producto_prod[$i] . </td> 
         <td class='txt3p' height='30'> . $this->array_referencia_prod[$i] . </td> 
         <td class='txt3p' height='30'> . $this->array_articulo_prod[$i] . </td> 
         <td class='txt3p' height='30' align='center'> . $this->array_precio_prod[$i] . </td> 
         <td class='txt3p' height='30' align='center'> . $this->array_cantidad_prod[$i] . </td>"
;

if(
$this->array_familia_prod[$i]=='Material Oficina'
                { 

          if(
$this->array_cantidad_prod[$i]<=1
                { 
                    
$descuento='0'
                } 
                else if(
$this->array_cantidad_prod[$i]>=and $this->array_cantidad_prod[$i]<=4
                { 
                    
$descuento='2'
                } 
                else if(
$this->array_cantidad_prod[$i]>=and $this->array_cantidad_prod[$i]<=9
                { 
                    
$descuento='4'
                } 
                else if(
$this->array_cantidad_prod[$i]>=10 and $this->array_cantidad_prod[$i]<=18
                { 
                    
$descuento='8'
                } 
                else if(
$this->array_cantidad_prod[$i]>=19 and $this->array_cantidad_prod[$i]<=24
                { 
                    
$descuento='10'
                } 
                else if(
$this->array_cantidad_prod[$i]>=25 and $this->array_cantidad_prod[$i]<=35
                { 
                    
$descuento='11'
                } 
                else if(
$this->array_cantidad_prod[$i]>=36
                { 
                    
$descuento='15'
                } 

                } 
                else 
                { 
                 
                
$descuento='0'
                } 

$html .="el resto .. "
De hecho . .ese código que decide el valor de $descuento .. no tendría por qué estar ahí . .entre médio de la "salida" que dás o generas . .puede estar perfectamente antes de la definición de $html ..

Un saludo,
  #11 (permalink)  
Antiguo 15/04/2005, 05:58
Gux
 
Fecha de Ingreso: octubre-2003
Mensajes: 58
Antigüedad: 21 años, 1 mes
Puntos: 0
Cluster, creo que me voy acercando pero aun no sale. Te comento lo que me pasa ahora. No me hace el for, sólo me manda " algunos datos" del último articulo del pedido ( $descuento y $importe) mientras que el resto de las variables me las pinta como Array[1] (para un pedido de dos articulos)

Te adjunto el codigo de la function:

Código PHP:
//Muestra el contenido del carrito para el mail
    
function imprime_carro(){

    
             for (
$i=0;$i<$this->num_productos;$i++){
            if(
$this->array_id_prod[$i]!=0){

                if(
$this->array_familia_prod[$i]=='Material Oficina')
                {

          if(
$this->array_cantidad_prod[$i]<=1)
                {
                    
$descuento='0';
                }
                else if(
$this->array_cantidad_prod[$i]>=and $this->array_cantidad_prod[$i]<=4)
                {
                    
$descuento='2';
                }
                else if(
$this->array_cantidad_prod[$i]>=and $this->array_cantidad_prod[$i]<=9)
                {
                    
$descuento='4';
                }
                else if(
$this->array_cantidad_prod[$i]>=10 and $this->array_cantidad_prod[$i]<=18)
                {
                    
$descuento='8';
                }
                else if(
$this->array_cantidad_prod[$i]>=19 and $this->array_cantidad_prod[$i]<=24)
                {
                    
$descuento='10';
                }
                else if(
$this->array_cantidad_prod[$i]>=25 and $this->array_cantidad_prod[$i]<=35)
                {
                    
$descuento='11';
                }
                else if(
$this->array_cantidad_prod[$i]>=36)
                {
                    
$descuento='15';
                }

                }
                else
                {
                
                
$descuento='0';
                }

        
$html"<tr>
                 <td class='txt3p' height='30'> $this->array_familia_prod[$i] </td>
                 <td class='txt3p' height='30'> $this->array_producto_prod[$i] </td>
                 <td class='txt3p' height='30'> $this->array_referencia_prod[$i] </td>
                 <td class='txt3p' height='30'> $this->array_articulo_prod[$i] </td>
                 <td class='txt3p' height='30' align='center'> $this->array_precio_prod[$i] </td>
                 <td class='txt3p' height='30' align='center'> $this->array_cantidad_prod[$i] </td>
                 <td class='txt3p' height='30'><center>$descuento %</center></td>"
;

                
$rebaja $descuento/100;
                
$desc =  $this->array_precio_prod[$i]*$this->array_cantidad_prod[$i]*$rebaja;
                
$importe round($this->array_precio_prod[$i]*$this->array_cantidad_prod[$i]-$desc,2);


         
$html .="<td class='txt3p' height='30'><center>$importe €</center></td>
                </tr>
                <tr>
                <td height='10' class='px' colspan='9'>
                </td>
                </tr>
                <tr>
                 <td width='545' bgcolor='#164D89' height='1' class='px' colspan='9'>
                 </td>
                </tr>"
;
            }
        }

        return 
$html

    } 

¿Qué puede fallar?

Gracias
  #12 (permalink)  
Antiguo 15/04/2005, 08:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Si te dice "array" al hacer un echo de un dato es por qué ese dato a su vez es un array .. así que tendras que recorrerlo también con otro bucle for() o foreach() en el caso que sea un array (is_array()) .. Pero, esto ya depende mucho de tu lógica (cosa que aquí como veras no podemos probar bien) de como se van cumpliendo tus condiciones .. tienes muchas, tendrás que ir viendo tu mismo por donde va pasando tu código.

Un saludo,
  #13 (permalink)  
Antiguo 15/04/2005, 08:19
Gux
 
Fecha de Ingreso: octubre-2003
Mensajes: 58
Antigüedad: 21 años, 1 mes
Puntos: 0
Dos preguntas más (a costa de convertirme en el pesado del foro, si no lo soy ya...):

Cita:
Si te dice "array" al hacer un echo de un dato es por qué ese dato a su vez es un array .. así que tendras que recorrerlo también con otro bucle for() o foreach() en el caso que sea un array (is_array())
¿Algún código de ejemplo que me pueda orientar?

y por curiosidad ¿por qué en la página de muestra (previa al envio por mail) me pinta todos los datos correctamente si la función es similar? (ver codigo de la primera hoja de esta serie de mensajes)
  #14 (permalink)  
Antiguo 15/04/2005, 08:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Normalmente cuando ves una respuesta .. ves que se hace referencia a funciones .. puedes usar php.net para ver que hacen:

Ejemplo:
www.php.net/is_array

para ver que hace is_array() .. ahí tienes ejemplos de uso.

y/o

foreach()
www.php.net/foreach

Cita:
y por curiosidad ¿por qué en la página de muestra (previa al envio por mail) me pinta todos los datos correctamente si la función es similar? (ver codigo de la primera hoja de esta serie de mensajes)
También te lo comenté .. en ocasiones es complicado "a simple vista" y sin probar que la lógica (if() . conficionales ..etc) sea correcta .. tal vez se te fué una condición por un mal cierre de un } .. o similar y ahora no se comporte igual que antes .. Por eso lo que pretendo hacer por mi parte en este mensaje es ayudarte a que TU mismo te dés cuenta del error .. no ha hacerte el código a la carta listo y funcionando como podría ser (y tal vez algún compañero se anime .. pero no es mi caso particular). De esta forma aprenderas a saber lo que has hecho y sobre todo a locarlizar un problema en tu código .. Yo no sé si verificas las "lógica" de tu código .. ni como lo haces . .pero eso es lo que tienes que hacer para averigüar el problema. Tampoco aportas muchos datos sobre las pruebas que haces ... debes proporcionar más ejemplos de lo que sucede . .ejemplo en: "No me hace el for, sólo me manda " algunos datos" del último articulo del pedido ( $descuento y $importe) mientras que el resto de las variables me las pinta como Array[1] (para un pedido de dos articulos)" no está de más que pongas el "resultado concreto" que obtienes .. para evaluarlo ..

Pero, realmente lo que te hace falta también es que mires un tutorial de PHP para entender algunas cosas que estás haciendo "probando" a "empujones" .. sino vas e iras a ciegas .. avanzando sin saber que haces. En las FAQ's de este foro tienes tutoriales. Esto te lo comento en "buena" .. pero comprede tu también que "no puedes empezar la casa por el tejado".

Un saludo,
  #15 (permalink)  
Antiguo 15/04/2005, 12:05
Gux
 
Fecha de Ingreso: octubre-2003
Mensajes: 58
Antigüedad: 21 años, 1 mes
Puntos: 0
Esto es exactamente lo que llega por mail cuando hago el envio:

Código:
Para un pedido de un artículo:

Familia: Array[0]   Referencia: Array[0]   Artículo: Array[0].....

Para un pedido de dos artículos:

Familia: Array[1]   Referencia: Array[1]   Artículo: Array[1].....

Para un pedido de tres artículos:

Familia: Array[2]   Referencia: Array[2]   Artículo: Array[2].....

etc, etc...
Si no estoy equivocado los números entre los [] hacen referencia al id del producto, lo que quiere decir que los datos que muestra corresponden al último producto que se ha añadido al pedido... lo que a su vez significa que no hace el bucle... ¿estoy equivocado?

Me he leido el tema de foreach, el if_array, he consultado manuales... pero lo único que he conseguido ha sido liarme más. Sólo me falta que se envie el pedido para terminar este trabajo... necesito que alguien me eche un cable gordo, por favor.

Adjunto los codigos clave (como los tengo actualmente):

funcion para mostrar los datos:

Código PHP:
//Muestra el contenido del carrito para el mail
    
function imprime_carro(){

    
             for (
$i=0;$i<$this->num_productos;$i++){
            if(
$this->array_id_prod[$i]!=0){

                if(
$this->array_familia_prod[$i]=='Material Oficina')
                {

          if(
$this->array_cantidad_prod[$i]<=1)
                {
                    
$descuento='0';
                }
                else if(
$this->array_cantidad_prod[$i]>=and $this->array_cantidad_prod[$i]<=4)
                {
                    
$descuento='2';
                }
                else if(
$this->array_cantidad_prod[$i]>=and $this->array_cantidad_prod[$i]<=9)
                {
                    
$descuento='4';
                }
                else if(
$this->array_cantidad_prod[$i]>=10 and $this->array_cantidad_prod[$i]<=18)
                {
                    
$descuento='8';
                }
                else if(
$this->array_cantidad_prod[$i]>=19 and $this->array_cantidad_prod[$i]<=24)
                {
                    
$descuento='10';
                }
                else if(
$this->array_cantidad_prod[$i]>=25 and $this->array_cantidad_prod[$i]<=35)
                {
                    
$descuento='11';
                }
                else if(
$this->array_cantidad_prod[$i]>=36)
                {
                    
$descuento='15';
                }

                }
                else
                {
                
                
$descuento='0';
                }

        
$html"<tr>
                 <td class='txt3p' height='30'> $this->array_familia_prod[$i] </td>
                 <td class='txt3p' height='30'> $this->array_producto_prod[$i] </td>
                 <td class='txt3p' height='30'> $this->array_referencia_prod[$i] </td>
                 <td class='txt3p' height='30'> $this->array_articulo_prod[$i] </td>
                 <td class='txt3p' height='30' align='center'> $this->array_precio_prod[$i] </td>
                 <td class='txt3p' height='30' align='center'> $this->array_cantidad_prod[$i] </td>
                 <td class='txt3p' height='30'><center>$descuento %</center></td>"
;

                
$rebaja $descuento/100;
                
$desc =  $this->array_precio_prod[$i]*$this->array_cantidad_prod[$i]*$rebaja;
                
$importe round($this->array_precio_prod[$i]*$this->array_cantidad_prod[$i]-$desc,2);


         
$html .="<td class='txt3p' height='30'><center>$importe €</center></td>
                </tr>
                <tr>
                <td height='10' class='px' colspan='9'>
                </td>
                </tr>
                <tr>
                 <td width='545' bgcolor='#164D89' height='1' class='px' colspan='9'>
                 </td>
                </tr>"
;
            }
        }

        return 
$html

    } 
pagina de envio con llamada a la funcion:

Código PHP:
<?php
include("lib_carrito.php");

if(!
$_SESSION[auth]) 
{
header("Location: index.php");
exit; 
}

$sfrom="$email"//cuenta que envia
$sdestinatario="info@micorreo"//cuenta destino
$ssubject="Pedido desde la página web"//subject
$shtml="<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<html>
<head>
<title>Pedido desde la página web</title>
<style>
.txt{
font-family: arial;
font-size: 9px;
color: '#444444';
}
.tit{
font-family: arial;
font-size: 11px;
color: '#444444';
font-weight: bold;
padding-left: 5px;
padding-right: 5px;
}
</style>
<link rel='stylesheet' href='http://www.buraltec.com/estilos.css' type='text/css'>
</head>
<body bgcolor='#E0E4EC' marginwidth='0' marginheight='0' topmargin='40' leftmargin='0'>
 <table align='center' bgcolor='ffffff' width='771' border='0' cellspacing='0' cellpadding='0'>
  <tr>
   <td colspan='2' class='a11gr' height='80'><center><font color='#357EB5'><u>HA RECIBIDO EL SIGUIENTE PEDIDO DESDE LA PÁGINA WEB</u></font></center>
   </td>
  </tr>
  <tr>
   <td valign='top' width='40%' height='200' align='center'><img src='http://www.uvedoblestudio.com/img/cereza.jpg' width='150' height='200'>
   </td>
   <td valign='top' class='tit'><u>ENVÍA:</u><br><br><br><span class='txt'><b>Empresa:</b> $empresa<br><br><b>CIF:</b> $cif<br><br><b>Nombre:</b> $nombre<br><br><b>Dirección:</b> $direccion - $municipio [ $provincia ]<br><br><b>Tlfno.:</b> $telefono - <b>Fax:</b> $fax<br><br><b>E-mail:</b> $email</span><br><br><br><u>PEDIDO:</u><br><br>
   </td>
  </tr>
  <tr>
   <td valign='top' colspan='2' class='px'>
   </td>
  </tr>
  <tr>
   <td valign='top' colspan='2' class='txt'>
    <table cellspacing='0' cellpadding='0' border='0'>
     <tr>
      <td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
      </td>
     </tr>
     <tr>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='110'>Familia
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='90'>Producto
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='80'>Referencia
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='177'>Artículo
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='70' align='center'>Precio
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='30' align='center'>Cantidad
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='40' align='center'>Descuento
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='80' align='center'>Importe
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='20' align='center'>Eliminar
      </td>
     </tr>
     <tr>
      <td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
      </td>
     </tr>
     <tr>
      <td height='10' class='px' colspan='8'>
      </td>
     </tr>
     <tr>
      <td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
      </td>
     </tr>"
;

    
$shtml .= $_SESSION["ocarrito"]->imprime_carro();

    
$shtml .="</table>
   </td>
  </tr>
  <tr>
   <td valign='top' colspan='2' height='30'>
   </td>
  </tr>
 </table>
</body>
</html>
"
//mensaje
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
$sheader=$sheader."Mime-Version: 1.0\n";
$sheader=$sheader."Content-Type: text/html";
mail($sdestinatario,$ssubject,$shtml,$sheader);


if(
mail)
    { echo(
"bien"); } else { echo("mal") }
?>
  #16 (permalink)  
Antiguo 16/04/2005, 01:36
Gux
 
Fecha de Ingreso: octubre-2003
Mensajes: 58
Antigüedad: 21 años, 1 mes
Puntos: 0
De acuerdo Solucionado

Problema solucionado por fin!!!!

Todo era mucho más sencillo de lo que yo lo hacía. Gracias Cluster por tu paciencia y tus indicaciones, sin ellas aun estría dando tumbos por el código.

Adjunto los codigos por si a alguien le pueden interesar:


Código PHP:
Funcion de compilación para envio por mail:

//Muestra el contenido del carrito para el mail
    
function prueba(){
        for (
$i=0;$i<$this->num_productos;$i++){
            if(
$this->array_id_prod[$i]!=0){
                if(
$this->array_familia_prod[$i]=='Material Oficina')
                {

          if(
$this->array_cantidad_prod[$i]<=1)
                {
                    
$descuento='0';
                }
                else if(
$this->array_cantidad_prod[$i]>=and $this->array_cantidad_prod[$i]<=4)
                {
                    
$descuento='2';
                }
                else if(
$this->array_cantidad_prod[$i]>=and $this->array_cantidad_prod[$i]<=9)
                {
                    
$descuento='4';
                }
                else if(
$this->array_cantidad_prod[$i]>=10 and $this->array_cantidad_prod[$i]<=18)
                {
                    
$descuento='8';
                }
                else if(
$this->array_cantidad_prod[$i]>=19 and $this->array_cantidad_prod[$i]<=24)
                {
                    
$descuento='10';
                }
                else if(
$this->array_cantidad_prod[$i]>=25 and $this->array_cantidad_prod[$i]<=35)
                {
                    
$descuento='11';
                }
                else if(
$this->array_cantidad_prod[$i]>=36)
                {
                    
$descuento='15';
                }

                }
                else
                {
                
                
$descuento='0';
                }

                
$rebaja $descuento/100;
                
$desc =  $this->array_precio_prod[$i]*$this->array_cantidad_prod[$i]*$rebaja;
                
$importe round($this->array_precio_prod[$i]*$this->array_cantidad_prod[$i]-$desc,2);

            
$familia $this->array_familia_prod[$i];
            
$producto $this->array_producto_prod[$i];
            
$referencia $this->array_referencia_prod[$i];
            
$articulo $this->array_articulo_prod[$i];
            
$precio $this->array_precio_prod[$i]; 
            
$cantidad $this->array_cantidad_prod[$i];

            
$html " $html
                <tr>
                 <td class='txt3p' height='30'> $familia<br> </td>
                 <td class='txt3p' height='30'> $producto<br> </td>
                 <td class='txt3p' height='30'> $referencia<br> </td>
                 <td class='txt3p' height='30'> $articulo<br> </td>
                 <td class='txt3p' height='30' align='center'> $precio<br> </td>
                 <td class='txt3p' height='30' align='center'> $cantidad<br> </td>
                 <td class='txt3p' height='30' align='center'> $descuento %<br> </td>
                 <td class='txt3p' height='30' align='center'> $importe €<br> </td>
                </tr>"
;

            }

            }

            return 
$html

    } 

Envio.php :

Código PHP:
<?php
include("lib_carrito.php");

if(!
$_SESSION[auth]) 
{
header("Location: index.php");
exit; 
}
else
{
    
$pedido$_SESSION["ocarrito"]->prueba();

    
$totaliva $_SESSION[pago];
    
$suma $_SESSION[pagosin];
}

$sfrom="$email"//cuenta que envia
$sdestinatario="[email protected]"//cuenta destino
$ssubject="Pedido desde la página web"//subject
$shtml="<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<html>
<head>
<title>Pedido desde la página web</title>
<style>
.txt{
font-family: arial;
font-size: 9px;
color: '#444444';
}
.tit{
font-family: arial;
font-size: 11px;
color: '#444444';
font-weight: bold;
padding-left: 5px;
padding-right: 5px;
}
</style>
<link rel='stylesheet' href='http://www.buraltec.com/estilos.css' type='text/css'>
</head>
<body bgcolor='#E0E4EC' marginwidth='0' marginheight='0' topmargin='40' leftmargin='0'>
 <table align='center' bgcolor='ffffff' width='771' border='0' cellspacing='0' cellpadding='0'>
  <tr>
   <td colspan='2' class='a11gr' height='80'><center><font color='#357EB5'><u>HA RECIBIDO EL SIGUIENTE PEDIDO DESDE LA PÁGINA WEB</u></font></center>
   </td>
  </tr>
  <tr>
   <td valign='top' width='40%' height='200' align='center'><img src='http://www.uvedoblestudio.com/img/cereza.jpg' width='150' height='200'>
   </td>
   <td valign='top' class='tit'><u>ENVÍA:</u><br><br><br><span class='txt'><b>Empresa:</b> $empresa<br><br><b>CIF:</b> $cif<br><br><b>Nombre:</b> $nombre<br><br><b>Dirección:</b> $direccion - $municipio [ $provincia ]<br><br><b>Tlfno.:</b> $telefono - <b>Fax:</b> $fax<br><br><b>E-mail:</b> $email</span><br><br><br><br><u>PEDIDO:</u><br><br>
   </td>
  </tr>
  <tr>
   <td valign='top' colspan='2' class='px'>
   </td>
  </tr>
  <tr>
   <td valign='top' colspan='2' class='txt'>
    <table cellspacing='0' cellpadding='0' border='0'>
     <tr>
      <td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
      </td>
     </tr>
     <tr>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='110'>Familia
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='90'>Producto
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='80'>Referencia
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='177'>Artículo
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='70' align='center'>Precio
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='30' align='center'>Cantidad
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='40' align='center'>Descuento
      </td>
      <td class='t9bl' bgcolor='#557FD7' height='20' width='80' align='center'>Importe
      </td>
     </tr>
     <tr>
      <td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
      </td>
     </tr>
     <tr>
      <td height='10' class='px' colspan='8'>
      </td>
     </tr>
     <tr>
      <td width='711' bgcolor='#164D89' height='1' class='px' colspan='9'>
      </td>
     </tr>

     $pedido

     <tr>
      <td height='30' class='px' colspan='8'>
      </td>
     </tr>
     <tr>
      <td height='10' class='txt' colspan='8'><img src='http://www.buraltec.com/img/px.gif' alt='gif' width='15' height='1'><b>TOTAL: $suma €</b><br><br><img src='http://www.buraltec.com/img/px.gif' alt='gif' width='15' height='1'><b>TOTAL + IVA ( 16 %): $totaliva €</b>
      </td>
     </tr>
    </table>
   </td>
  </tr>
  <tr>
   <td valign='top' colspan='2' height='30'>
   </td>
  </tr>
 </table>
</body>
</html>
"
//mensaje
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
$sheader=$sheader."Mime-Version: 1.0\n";
$sheader=$sheader."Content-Type: text/html";
mail($sdestinatario,$ssubject,$shtml,$sheader);


if(
mail)
    {
echo(
" Envio correcto ");
}
else
{
echo(
" Envío fallido ");
}
?>
Suerte
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 14:12.