Comunidad de diseño web y desarrollo en internet online

¿For each vacío?

Citar            
MensajeEscrito el 29 Mar 2011 09:03 pm
Saludos,

Bueno, describo mi problema; estoy usando el código a continuación para listar los productos que se han agregado a un shopping cart.

Lo raro es que hay 2 piezas de código, ésta debe enviar el correo con la orden de compra, y en el body de la página hay otra pieza que se encarga de listar los productos en la página.

La segunda pieza de código funciona pero ésta, (la primera), no.

No muestra ningún error; simplemente llega el correo pero siempre aparecen 0 productos.

Abajo pondré la segunda pieza de código. Gracias de antemano.

Código PHP :

<span style="display:none">
<?php
session_start();
/* */

echo '<pre>';
echo 'SESSION<br />';
print_r($_SESSION);
echo 'POST<br />';
print_r($_POST);
echo 'GET<br />';
print_r($_GET);
echo '</pre>';
if(isset($_SESSION['carro']))
$carro=$_SESSION['carro'];else $carro=false;

 ?>
</span>

<?php

$contenido='
    <h2>Customer Information</h2>
    <table class="form">
      <tr>
            <td width="30%" align="right">Dealer Name:</td>
            <td colspan="2">'.$_POST['DealerName'].'</td>
          </tr>
          <tr>
            <td align="right">Address:</td>
            <td colspan="2">'.$_POST['Address'].'</td>
          </tr>
          <tr>
            <td align="right"></td>
            <td colspan="2" align="left">City: '.$_POST['City'].' State: '.$_POST['State'].' Zip: '.$_POST['ZipCode'].'</td>
          </tr>
          <tr>
            <td align="right">Phone: </td>
            <td colspan="2">'.$_POST['Phone'].'</td>
        </tr>
          <tr>
            <td align="right">Contact: </td>
            <td colspan="2">'.$_POST['ContactName'].'</td>
        </tr>
          <tr>
            <td align="right">Email: </td>
            <td>'.$_POST['Email'].'</td>
            <td>P.O: '.$_POST['PO'].'</td>
          </tr>
    </table>';
   
   
   
   

$total=0.00;



include 'config.php';

for ($n=1; $n<=5; $n++)
   {
      
   if($_POST['Product'.$n]==""){
      
   }else{
   
         $middle= $middle.'<tr>';
   
         $prodid=$_POST['Product'.$n];
         
         if($_POST['Units'.$n]==""){
            $units=1;
         } else {
         $units=$_POST['Units'.$n];
         }
   
   $link = mysql_connect($server, $user, $pass);mysql_select_db($db, $link); 
   
   $query = "SELECT * FROM products WHERE prodid = ".$prodid;
   $result = mysql_query($query, $link);
   
      while ($row = mysql_fetch_row($result)){ 

         $price=(FLOAT)$row[3]*$units; 
         $shipping=$units*12;
         $middle=$middle."<td>$prodid</td>"."<td>$row[2]</td>"."<td>".$units."</td>"."<td>$$price".'</td>';
         
         $total=$total+$price+$shipping;
         
      }
      $middle=$middle.'</tr>';
   
   }
   
   } 

$top='    <p>Items Ordered</p>
 <table style="text-align:center" class="form" border="0">
      <tr>
        <th width="11%">Item No.</th>
        <th width="77%">Description</th>
        <th width="12%">Units</th>
        <th width="12%">Price</th>
      </tr>';


$footer='<tr>
        <td colspan="4" align="right"><strong>Total: </strong>$'.$total.'</td>

      </tr>
    </table>';
   
   
$info=$contenido.$top.$middle.$footer;

mail("[email protected]", "New Order from ".$_POST['DealerName']." - KoreAutoWorld.com", $info, "Content-type: text/html\r\n");



2da Pieza de Código

Código PHP :

 <table style="text-align:center" class="form" border="0">
      <tr>
        <th width="11%">Item No.</th>
        <th width="77%">Description</th>
        <th width="12%">Units</th>
        <th width="12%">Price</th>
      </tr>
<? 


$total=0.00;



?>


<?php
  $color=array("#ffffff","#F0F0F0");
  $contador=0;
  $suma=0;
   foreach($carro as $k => $v){
   $subto=$v['cantidad']*$v['precio'];
   $shipping=$v['cantidad']*12;
   $suma=$suma+$subto+$shipping;
   $contador++;
    ?>

    <tr bgcolor="<?php echo $color[$contador%2]; ?>" class='prod'> 
      <td><?php echo $v['id'] ?></td>
      <td><?php echo $v['producto'] ?> </td>
      <td width="43" align="center"><?php echo $v['cantidad'] ?></td>
     <td><?php echo $v['precio'] ?></td>
    </tr>
  <?php }?>
</table></form>
<div align="center"><span class="prod">Total de Artículos: <?php echo count($carro); ?></span> 
</div><br>
<div align="center"><span class="prod">Shipping: $<?php echo $shipping; ?></span> 
</div><br>
<div align="center"><span class="prod">Total:</strong> $<?php echo number_format($suma,2); ?></span> 
</div><br>
   

Por elfleat

871 de clabLevel

2 tutoriales

Genero:Masculino  

Miami, USA

firefox
Citar            
MensajeEscrito el 29 Mar 2011 09:06 pm
session_start debe invocarse antes que cualquier salida....

Código PHP :

<?php 
session_start(); 
<span style="display:none"> 


Y si hay un codigo que incluye este codigo NO debe emitir ninguna salida

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.