Foros del Web » Programando para Internet » PHP »

problema al envio de variables

Estas en el tema de problema al envio de variables en el foro de PHP en Foros del Web. hola a todos: Estoy enviando variables desde un inputbox llamado NOMBRE$i, donde $i es el numero que selecciono en un formulario anrior para crear X ...
  #1 (permalink)  
Antiguo 08/07/2006, 01:51
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 14 años, 2 meses
Puntos: 16
Pregunta problema al envio de variables

hola a todos:

Estoy enviando variables desde un inputbox llamado NOMBRE$i, donde $i es el numero que selecciono en un formulario anrior para crear X numero de inputbox.

Ahora cuando quiero mandar estoas variables completadas por e-mail, no me funciona


(el formulario)
---------------------------------------------------------------------
Código HTML:
<form action="<?=$_SERVER["PHP_SELF"]?>" method="get"> 
<select name="filas"> 
<? for($i=1; $i<=20; $i++){ 
echo "<option value='".$i."'>".$i."</option>";
}?> 
</select> 
<input type="hidden" name="crear" value="tabla"> 
<input type="submit" value="crear"> 
</form> 
Código HTML:
<? 
if(isset($_GET["crear"])){ 
    echo '<table border="0" cellpadding="0" cellspacing="0" width="680">'; 
   for($i=1; $i<=$_GET["filas"]; $i++){ 
        echo "
      <tr> 
       <td align=center width=80><input type=text name=cantidad$i id=cantidad$i size=5></td> 
       <td align=center width=100>
        <select type=text name=item$i id=item$i>
	 <option value='ITEM' selected>ITEM</option>
          <option value='1'>1</option>
          <option value='2'>2</option>
          <option value='3'>3</option>
        </select></td> 
       <td align=center width=220><textarea cols=22 rows=2 name=articulo$i id=articulo$i></textarea></td> 
       <td align=center width=140>$ <input type=text name=valor$i id=valor$i size=10></td> 
       <td align=center width=140>$ <input type=text name=total$i id=total$i size=10></td> 
      </tr>"; 
    } 
    echo "
</table>
"; 
} 
?> 
--------------------------------------------------------------------
Al envío (e-mail con html)

Código HTML:
 <table border=1 bordercolor=111111 cellpadding=2 cellspacing=0 width=680>";

$i=1; 
$totaltotal= 0; 
foreach($_POST["cantidad$i"] as $cantidad){
    $total = $_POST["total"][$i]; 
    $totaltotal = $totaltotal+$total;
    $iva1 = $totaltotal*$iva;
    $iva2 = round($iva1-$totaltotal);
    $bruto = $totaltotal+$iva2;
    $cuerpo .="<tr> 
       <td align=center width=80>
        <font face='Arial, Helvetica, sans-serif' color='000000' size=3>
         ".$_POST["cantidad$i"]."
        </font>
       </td> 
       <td align=center width=100>
        <font face='Arial, Helvetica, sans-serif' color='000000' size=3>
         ".$_POST["item$i"]."
        </font>
       </td> 
       <td align=center width=220>
        <p align=left><font face='Arial, Helvetica, sans-serif' color='000000' size=2>
         ".$_POST["articulo$i"]."
        </font></p>
       </td> 
       <td align=right width=140>
        <font face='Arial, Helvetica, sans-serif' color='000000' size=3>
         $ ".$_POST["valor$i"]."
        </font>
       </td> 
       <td align=right width=140>
        <font face='Arial, Helvetica, sans-serif' color='000000' size=3>
         $ ".$total."
        </font>
       </td>
      </tr>"; 
    $i++; 
} 
$cuerpo .= "</table> 


Muchas Gracias.-^^
__________________
Adios ...!!!!

Última edición por BLAH !!; 08/07/2006 a las 01:56
  #2 (permalink)  
Antiguo 08/07/2006, 06:40
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 8 meses
Puntos: 17
Creo que te será más fácil trabajar los campos como arrays... Fijate el código corregido q pongo.

Primer página
Código PHP:
<? 
if(isset($_GET["crear"])){ 
    echo 
'
<form action="pagina2.php" method="post">
<table border="0" cellpadding="0" cellspacing="0" width="680">'

   for(
$i=1$i<=$_GET["filas"]; $i++){ 
        echo 
"
      <tr> 
       <td align=center width=80><input type=text name=cantidad[$i] id=cantidad$i size=5></td> 
       <td align=center width=100>
        <select type=text name=item[$i] id=item[$i]>
     <option value='ITEM' selected>ITEM</option>
          <option value='1'>1</option>
          <option value='2'>2</option>
          <option value='3'>3</option>
        </select></td> 
       <td align=center width=220><textarea cols=22 rows=2 name=articulo[$i] id=articulo[$i]></textarea></td> 
       <td align=center width=140>$ <input type=text name=valor[$i] id=valor[$i] size=10></td> 
       <td align=center width=140>$ <input type=text name=total[$i] id=total$i size=10></td> 
      </tr>"

    } 
    echo 
"
</table>
<input type='submit' />
</form>
"

exit;

?>

<form action="<?=$_SERVER["PHP_SELF"]?>" method="get"> <select name="filas"> <? for($i=1$i<=20$i++){ echo "<option value='".$i."'>".$i."</option>"; }?> </select> <input type="hidden" name="crear" value="tabla"> <input type="submit" value="crear"> </form>
Segunda página (la del mail, yo la llamé pagina2.php)
Código PHP:
<?php 
echo "<table border=1 bordercolor=111111 cellpadding=2 cellspacing=0 width=680>";
$i=1
$totaltotal0
foreach(
$_POST["cantidad"] as $i => $cantidad){
    
$total $_POST["total"][$i]; 
    
$totaltotal += $total;
    
$cuerpo .="<tr> 
       <td align=center width=80>
        <font face='Arial, Helvetica, sans-serif' color='000000' size=3>
         "
.$cantidad."
        </font>
       </td> 
       <td align=center width=100>
        <font face='Arial, Helvetica, sans-serif' color='000000' size=3>
         "
.$_POST["item"][$i]."
        </font>
       </td> 
       <td align=center width=220>
        <p align=left><font face='Arial, Helvetica, sans-serif' color='000000' size=2>
         "
.$_POST["articulo"][$i]."
        </font></p>
       </td> 
       <td align=right width=140>
        <font face='Arial, Helvetica, sans-serif' color='000000' size=3>
         $ "
.$_POST["valor"][$i]."
        </font>
       </td> 
       <td align=right width=140>
        <font face='Arial, Helvetica, sans-serif' color='000000' size=3>
         $ "
.$total."
        </font>
       </td>
      </tr>"


$cuerpo .= "</table> ";
$iva1 $totaltotal*$iva;
$iva2 round($iva1-$totaltotal);
$bruto $totaltotal+$iva2;
echo 
$cuerpo
?>
  #3 (permalink)  
Antiguo 08/07/2006, 12:40
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 14 años, 2 meses
Puntos: 16
... mira asi lo tenía antes pero tuve que crear un javascript que no lo puse en el codigo que me obliga a cambiar los datos a como los coloque y no cmo tu me lo dices

Muchas Gracias.-
Pablo Araya
__________________
Adios ...!!!!
  #4 (permalink)  
Antiguo 08/07/2006, 15:14
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 14 años, 2 meses
Puntos: 16
me sale este error

Parse error: syntax error, unexpected T_VARIABLE, expecting T_PAAMAYIM_NEKUDOTAYIM on line 92


y esta es la linea

foreach($_POST["cantidad"] as cantidad$i){
__________________
Adios ...!!!!

Última edición por BLAH !!; 08/07/2006 a las 15:19
  #5 (permalink)  
Antiguo 08/07/2006, 16:22
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 11 años, 5 meses
Puntos: 0
Cita:
Iniciado por BLAH !!
Parse error: syntax error, unexpected T_VARIABLE, expecting T_PAAMAYIM_NEKUDOTAYIM on line 92


y esta es la linea

foreach($_POST["cantidad"] as cantidad$i){
pues no puedes arreglarlо ?
  #6 (permalink)  
Antiguo 08/07/2006, 16:25
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 14 años, 2 meses
Puntos: 16
:p .... si ya pude ... xD

foreach($_POST["cantidad"] as $cantidad){
ahi si =)

Muchas Gracias
__________________
Adios ...!!!!
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 04:41.