¿Cómo paso datos entre páginas en PHP?
En pocas palabras, en "page1.php" tengo una calculadora que consta de un formulario HTML, y luego el código PHP totaliza la entrada y muestra el precio total. Debajo del precio, también muestra un enlace a "page2.php" que contiene un formulario HTML donde pueden ingresar su información de contacto. Al enviar el formulario, las selecciones que hicieron en "page1.php" en la calculadora de precios, así como la información de contacto en "page2.php" se me envían por correo electrónico y se redirigen a la página de inicio.
En el correo electrónico que se me envió, recibo la información de contacto de "page2.php", pero no recibo nada de "page1.php", por lo que las variables no se pasan correctamente. Además del PHP en cada página, estoy usando valores ocultos en un formulario HTML en "page2.php" para repetir los datos que se ingresaron en el formulario HTML en "page1.php". Sé que uno de mis problemas es que tengo un par de$_GET
campos cuando mi formulario es "post".
Sin embargo cuando lo cambio para que todo quede$_POST
, la calculadora ya no funciona. Traté de poner esto en conjunto con diferentes fragmentos de código sugeridos por otros. El formulario en "page1.php" tiene 13 campos, llamados "uno" - "trece". $ total muestra los valores de 1-13.
<?php
$submit = $_GET['submit'];
if($submit == "true")
{
$total = ($_POST['one'] + $_POST['two'] + $_POST['three'] + $_POST['four'] +
$_POST['five'] + $_POST['six'] + $_POST['seven'] + $_POST['eight']+ $_POST['nine'] +
$_POST['ten']+ $_POST['eleven'] + $_POST['twelve']+ $_POST['thirteen']);
echo " Your Price is \$ " .number_format ($total, 2, '.', ','). "<BR>";
echo ('">Get Your Project Started</a>');
}
?>
La segunda forma utiliza valores ocultos para repetir la información de page1.php, y tiene tres campos más llamados "nombre", "correo electrónico" y "detalles".
<?php
$to = "[email protected]";
$message = "Pages:\t$_POST[one]\n";
$message .= "Pages:\t$_POST[two]\n";
$message .= "Pages:\t$_POST[three]\n";
$message .= "Ecommerce:\t$_POST[four]\n";
$message .= "No Ecommerce:\t$_POST[five]\n";
$message .= "CMS:\t$_POST[six]\n";
$message .= "No CMS:\t$_POST[seven]\n";
$message .= "Audio or Video:\t$_POST[eight]\n";
$message .= "Flash Intro:\t$_POST[nine]\n";
$message .= "Image Gallery:\t$_POST[ten]\n";
$message .= "Graphic Design or Logo:\t$_POST[eleven]\n";
$message .= "Copy:\t$_POST[twelve]\n";
$message .= "Images:\t$_POST[thirteen]\n";
$message .= "Price Total:\t$_POST[total]\n";
$message .= "Name:\t$_POST[name]\n";
$message .= "Email:\t$_POST[email]\n";
$message .= "\n";
$message .= "\n";
$message .= "Details:\t$_POST[details]\n";
mail($to, $subject, $message, $headers) ;
}
?>
Entonces, ¿cuál sería el PHP correcto para colocar en "page1.php" y "page2.php"? Lo siento, el código es un desastre, si alguien pudiera apuntarme en la dirección correcta, sería genial.