Foros del Web » Programando para Internet » PHP »

Paso variables entre formularios

Estas en el tema de Paso variables entre formularios en el foro de PHP en Foros del Web. Hola!! Estoy haciendo una tienda virtual, en la primera pagina pongo un formulario con los productos que quiero vender: <form name="tienda" method="post" action="es_tienda_datos.php" id="tienda" onsubmit="return ...
  #1 (permalink)  
Antiguo 13/04/2009, 03:16
 
Fecha de Ingreso: mayo-2007
Mensajes: 88
Antigüedad: 16 años, 11 meses
Puntos: 0
Paso variables entre formularios

Hola!!

Estoy haciendo una tienda virtual, en la primera pagina pongo un formulario con los productos que quiero vender:

<form name="tienda" method="post" action="es_tienda_datos.php" id="tienda" onsubmit="return validarTienda(this)">
Libros
<input type="checkbox" name="prod[]" value="0">
<input type="checkbox" name="prod[]" value="1">
<input type="checkbox" name="prod[]" value="2">
<input type="checkbox" name="prod[]" value="3">
<input type="checkbox" name="prod[]" value="4">
<input type="checkbox" name="prod[]" value="5">
<input type="checkbox" name="prod[]" value="6">
<input type="checkbox" name="prod[]" value="7">
<input type="checkbox" name="prod[]" value="8">
<input type="checkbox" name="prod[]" value="9">
<input type="checkbox" name="prod[]" value="10">
<input type="checkbox" name="prod[]" value="11">
</form>

En la siguiente página recogo los datos y tengo un formulario para que el comprador introduzca sus datos personales:

<?php
$producto = array(0=>"libro1",1=>"libro",2=>"libro2",3=>"libro 3",4=>"libro4",5=>"Dvd 1",6=>"Dvd 2",7=>"Dvd 5",8=>"Folleto 1",
9=>"Folleto 2",10=>"Folleto 3",11=>"Folleto 4");
$precios = array(0=>20,1=>15,2=>15,3=>15,4=>15,5=>20,6=>22,7= >22,8=>5,9=>5,10=>5,11=>5);

//$node = array();
$total = 0;
$compra = "";

foreach ($_POST['prod'] as $id){
$compra = $compra.$producto[$id].", ";
$total = $total + $precios[$id];
}

$Merchant_Amount = (string)$total;
$Merchant_Order = date('ymdHis');
$comp=(string)$compra;
?>

<form action='es_tienda_confirmacion.php' method="POST" name="fDatos" id="fDatos" onsubmit="return validar(this)">

Nombre y Apellido <input class="input" size=65 name="Ds_Merchant_Titular" id="Ds_Merchant_Titular" type="text"/>
Direcci&oacute;n:<input name="dir" id="dir" class="input" size=75/>
C&oacute;digo Postal<input class="input" size=6 name="cp" id="cp"/>
Provincia<input class="input" size=15 name="Provincia" id="Provincia"/>
Ciudad<input class="input" size=15 name="Ciudad" id="Ciudad"/>
Tel&eacute;fono<input name="Telefono" id="Telefono" class="input" size=27/>
E-mail<input name="Email" id="Email" class="input" size=32/>
Comentario:<textarea class="input" name="comentario" id="comentario" cols="86" rows="6" wrap="yes"></textarea>
<input type="hidden" name="compra" value=<?php echo $comp;?>/>
<input type="hidden" name="Ds_Merchant_Amount" value=<?php echo $Merchant_Amount;?>/>
<input type="hidden" name="Ds_Merchant_Order" value=<?php echo $Merchant_Order;?>/>
<input type="image" src="botones/es_enviar.gif" width=80 height=17 border=0 alt="" value="&nbsp; enviar&nbsp; " class="end" onClick=""/>
</form>

Este formulario va a una 3º página en donde recojo todos los valores, me recoje todos bien menos los input hidden (que son los datos del 1º formulario). Dos de los input hidden me pone con una barra diagonal y el primero(que es "comp") me coge solo la primera palabra. O pongo como recojo los datos:

$Ds_Merchant_Titular = $_POST['Ds_Merchant_Titular'];
$direccion = $_POST['dir'];
$cp = $_POST['cp'];
$ciudad = $_POST['Ciudad'];
$provincia = $_POST['Provincia'];
$telefono = $_POST['Telefono'];
$email = $_POST['Email'];
$comentario = $_POST['comentario'];
$importe = $_POST['Ds_Merchant_Amount'];
//$importeSinConvertir = $_POST['importeString'];
$numPedido = $_POST['Ds_Merchant_Order'];
$compra = $_POST['compra'];

Alguien sabe que es lo que estoy haciendo mal? Tengo que decir que no tengo ni idea de php, esto lo tengo hecho con jsp y lo estoy pasando a php como buenamente puedo.

Gracias!!
  #2 (permalink)  
Antiguo 13/04/2009, 03:49
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Paso variables entre formularios

Yo creo que el error está en que del primer formulario, no recojes lo hidden y no llegan a pasar al segundo. Para evitarte complicaciones, pasa los hidden por GET, y te ahorras problemas, ya que ves en todo momento donde están. Aunque es muy probable (no lo veo pero puede ser), que el error esté al recojer las varibles, en una doble comilla, una comilla,etc.

Pasalo, si tienes dreamweaver, por el depurador de errores para ver donde puede estár el problema.

Un saludo!
  #3 (permalink)  
Antiguo 15/04/2009, 14:13
 
Fecha de Ingreso: mayo-2007
Mensajes: 88
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Paso variables entre formularios

Ya lo he logrado!!Era que en el value no tenia puesto las comillas!!

Gracias por contestar!!

Saludos.
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 01:51.