Wie übergebe ich Daten zwischen Seiten in PHP?

Kurz gesagt, auf "page1.php" habe ich einen Taschenrechner, der aus einem HTML-Formular besteht, und dann summiert der PHP-Code die Eingabe und zeigt den Gesamtpreis an. Unter dem Preis wird auch ein Link zu "page2.php" angezeigt, der ein HTML-Formular enthält, in das die Kontaktinformationen eingegeben werden können. Nach dem Absenden des Formulars werden die im Preisberechner auf "page1.php" getroffenen Auswahlen sowie die Kontaktinformationen auf "page2.php" per E-Mail an mich gesendet und auf die Startseite weitergeleitet.

In der E-Mail, die an mich gesendet wird, erhalte ich die Kontaktinformationen von "page2.php", erhalte jedoch keine Informationen von "page1.php", sodass die Variablen nicht korrekt übergeben werden. Zusätzlich zum PHP auf jeder Seite verwende ich versteckte Werte in einem HTML-Formular auf "page2.php", um die Daten wiederzugeben, die in das HTML-Formular auf "page1.php" eingegeben wurden. Ich weiß, dass eines meiner Probleme darin besteht, dass ich ein paar davon habe$_GET Felder, wenn mein Formular "Post" ist.

Wenn ich es aber so ändere, dass alles ist$_POSTfunktioniert der Rechner nicht mehr. Ich habe versucht, dies mit verschiedenen Codeausschnitten, die von anderen vorgeschlagen wurden, zusammenzufassen. Das Formular auf "page1.php" enthält 13 Felder mit den Namen "eins" - "dreizehn". $ total zeigt die Werte von 1-13 an.

<?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>');
  }
?>

Das zweite Formular verwendet versteckte Werte, um die Informationen aus page1.php wiederzugeben. Es enthält drei weitere Felder mit den Namen "name", "email" und "details".

<?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) ;
  }
?>

Also, was wäre das richtige PHP, um "page1.php" und "page2.php" zu setzen? Tut mir leid, der Code ist so ein Durcheinander. Wenn jemand mich in die richtige Richtung lenken könnte, wäre das großartig.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage