Passando dados para outra página após o formulário enviar com PHP

Eu li várias perguntas semelhantes, então eu sei que isso foi respondido antes, mas agora minha pergunta é por que não é o que eu estou trabalhando?

Eu sou novo no desenvolvimento web, desenvolvendo um formulário da Web que passa os dados enviados para um arquivo CSV. O que eu faço atualmente é depois que toda a validação do formulário é feita na página do formulário “form.php“, ele envia o usuário para outra página “submittedApplication.php” e, na mesma declaração, todo o meu código para empurrar os dados para um CSV.

O QUE EU PRECISO, é passar uma variável particular de “form.php”, até “submittedApplication.php”. É um número de referência para o qual eu tenho um gerador random, no formulário.php.

No meu código, uso uma function para criar o número de referência, eu o armazeno em uma variável chamada $ result. Na parte inferior da validação, uso

header('Location: submittedApplication.php?result={$result}'); 

para tentar passá-lo e, na segunda página, eu uso

 echo $_GET['result']; 

para tentar agarrar a variável.

Se você detectá-lo no meu código, também tentei o método de input oculto, sem sucesso.

Aqui está a minha página principal form.php

    <?php //Define variables and set to empty values //###CUSTOMER DATA### //Name $custName= ""; $custNameError = ""; //Reference Number $result = gen_uid(); //Error holders $errors = ""; //Generic Error list at top of form, can be appended to $error = 0; //Error Tally, If 0 = good. If 1 = error. //Generates a 10 character random string with a prefix and current date attached function gen_uid($l=10){ $prefix = "BLANK DATA#"; $str = ""; date_default_timezone_set('America/New_York'); $date = date("Ymd"); for ($x=0;$x<$l;$x++) $str .= substr(str_shuffle("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 1); echo $prefix . $str . "
" . "Generated On: " . $date; } //for testing echo $result; if($_SERVER["REQUEST_METHOD"] == "GET"){ $custName = ""; $custAddress = ""; } else if ($_SERVER["REQUEST_METHOD"] == "POST") { // Checking null values in message. $custName = $_POST['customername']; $custAddress = $_POST['CustomerMailingAddress']; $passedResult = $_POST['result']; //################################## Form Validation ##################################### //CUSTOMER NAME if(!isset($custName) || $custName == "") { $custNameError = "Name required"; $errors .= "Customer contact information required, Contractor optional.
"; $custName = ""; $error = 1; } else{ $custName = $_POST['customername']; } if($error == 0) { echo ""; //this is where the creating of the csv takes place $cvsData = $custName . "," . $custAddress . "," . $custPhone . "," . $custMobile . "," . $custFax . "," . $custEmail . "," . $conName . "," . $conAddress . "," . $custPhone . "," . $conPhone . "," . $custMobile . "," . $conMobile . "," . $custEmail . "," . $conEmail . "," . $accNum ."\n"; $fp = fopen("formTest.csv","a"); // $fp is now the file pointer to file $filename if($fp){ fwrite($fp,$cvsData); // Write information to the file fclose($fp); // Close the file } header('Location: submittedApplication.php?result={$result}'); } } ?>

Service Request Application Form


NOTES:


<form method="post" align="center" name="applicationform" id="applicationform" action="" enctype="multipart/form-data">
Contact Information
Customer Consultant/Contractor
Contact Name: <input type="text" id="customername" name="customername" value="" title="Name of contact on account"/>

E aqui está a minha segunda página submetidaApplication.php

     

Service Request Application Form


NOTES:


Application Submitted Successfully!

Todas as dicas são bem-vindas!

A maneira como eu normalmente abordaria os valores de passagem entre as páginas é usar variables ​​de session.

Você pode fazer isso na sua página form.php

session_start(); $SESSION_["result"] = $result;

Em seguida, faça o seguinte na sua outra página

 session_start(); if(isset($SESSION_["result"]) { $result = $SESSION_["result"]; } 

Apenas certifique-se de destruir ou desarmar as variables ​​de session quando terminar com elas.