Jak przekazywać dane między stronami w PHP?

W skrócie na „page1.php” mam kalkulator składający się z formularza HTML, a następnie kod PHP sumuje dane wejściowe i wyświetla całkowitą cenę. Poniżej ceny wyświetla również link do strony „page2.php”, który zawiera formularz HTML, w którym mogą wprowadzić swoje dane kontaktowe. Po przesłaniu formularza wybory dokonane na stronie „page1.php” w kalkulatorze cen, a także informacje kontaktowe na stronie „page2.php” są przesyłane do mnie pocztą elektroniczną i są przekierowywane na stronę główną.

W wysłanym do mnie e-mailu otrzymuję informacje kontaktowe od „page2.php”, ale nie otrzymuję niczego z „page1.php”, więc zmienne nie są poprawnie przekazywane. Oprócz PHP na każdej stronie używam ukrytych wartości w formularzu HTML na stronie „page2.php”, aby powtórzyć dane wprowadzone w formularzu HTML na stronie „page1.php”. Wiem, że jednym z moich problemów jest to, że mam kilka$_GET pola, gdy mój formularz to „post”.

Jednak kiedy to zmienię, żeby wszystko było$_POST, kalkulator już nie działa. Próbowałem to ująć razem z różnymi fragmentami kodu sugerowanymi przez innych. Formularz na stronie „page1.php” ma 13 pól o nazwie „jeden” - „trzynaście”. $ total wyświetla wartości 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>');
  }
?>

Druga forma używa ukrytych wartości do echa informacji ze strony page1.php i ma trzy dodatkowe pola o nazwie „nazwa”, „e-mail” i „szczegóły”.

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

Jaki byłby poprawny PHP, który umieściłby na „page1.php” i „page2.php”? Przepraszam, że kod jest taki bałagan, jeśli ktoś mógłby wskazać mi właściwy kierunek, byłoby świetnie.

questionAnswers(5)

yourAnswerToTheQuestion