Passer des données de formulaire d'une page Web à une autre avec PHP

J'ai trouvé quelques questions similaires ici, mais à partir des réponses, je n'ai pas compris la façon dont cela fonctionnerait.

J'ai un formulaire d'abonnement dans une page:

<form method="post" action="index.php/register"> <fieldset> <input type="text" id="first_name" name="first_name" /> <input type="text" id="last_name" name="last_name" /> <input type="text" id="email" name="email" /> <input type="text" id="address" name="address" /> <input id="submit" type="submit" value="&gt;&gt;" /> </fieldset> </form> 

Lorsqu'un utilisateur, un utilisateur clique sur le bouton Soumettre est mené à une page avec le formulaire d'inscription complet, où je dois avoir peu de champs remplis avec les données envoyées par le formulaire de page précédent. Ceci est un aperçu de quelques champs sous la forme de la deuxième page:

 <form id="register" name="form1" method="post" action="send_contact.php"> <fieldset> <li><label>*First Name</label> <input type="text" id="first_name" name="first_name" /> </li> <li> <label>*Last Name</label> <input type="text" id="last_name" name="last_name" /> </li> <li> <label>*Email</label> <input type="text" id="email" name="email" /> </li> <li> <label>*Confirm Email</label> <input type="text" id="confirm-email" name="confirm_email" /> </li> <li> <label>Street Address</label> <input type="text" id="address" name="address" /> <li class="full-width"> <input id="submit" type="submit" value="Register" /> </li> </fieldset> </form> 

Le php n'est pas mon point fort, donc si vous pouvez être plus détaillé en réponse, c'est génial pour moi.

Merci!

Je dirais pour des raisons de sécurité, n'utilisez pas la méthode Get " $_GET[] " comme les personnes décrites, conservez POST comme vous l'avez.

Tout ce que vous devez faire sur register / page est de récupérer toutes les valeurs passées en utilisant la méthode POST et de les remplir dans votre code HTML. Donc, la deuxième forme devrait ressembler à:

  <form id="register" name="form1" method="post" action="send_contact.php"> <fieldset> <li><label>First Name</label> <input type="text" id="first_name" name="first_name" value="<?=$_POST[first_name]?>" /> </li> <li> <label>*Last Name</label> <input type="text" id="last_name" name="last_name" value="<?=$_POST[last_name]?>" /> </li> <li> <label>*Email</label> <input type="text" id="email" name="email" value="<?=$_POST[email]?>" /> </li> <li> <label>*Confirm Email</label> <input type="text" id="confirm-email" name="confirm_email" /> </li> <li> <label>Street Address</label> <input type="text" id="address" name="address" value="<?=$_POST[address]?>" /> <li class="full-width"> <input id="submit" type="submit" value="Register" /> </li> </fieldset> </form> 

Au-dessus, j'utilise la version abrégée des balises "echo" et php, si vous ne l'avez pas activé sous php.ini, modifiez "" à "; ?> ." En outre, le script ne remplit pas le message "confirmer" comme je suppose Vous souhaitez que l'utilisateur retape cela.

Ça devrait le faire.

Il existe essentiellement deux méthodes

  1. Stockez les valeurs du premier formulaire dans un cookie, et le code de processus peut récupérer les valeurs du cookie

  2. Créez la forme «Get» pour que les données passent à la page suivante.

Vous pouvez utiliser les valeurs $ _POST à ​​partir du premier formulaire dans la page traitant la soumission du premier formulaire et les imprimer dans le nouveau formulaire comme suit:

 <?php echo '<input type="text" id="email" name="email" value="' . htmlentities($_POST['email']) . '"/> ?> 
 <form method="post" action="register.php"> <fieldset> <input type="text" id="first_name" name="first_name" /> <input type="text" id="last_name" name="last_name" /> <input type="text" id="email" name="email" /> <input type="text" id="address" name="address" /> <input id="submit" type="submit" value="&gt;&gt;" /> </fieldset> </form> 

register.php

 <form id="register" name="form1" method="post" action="send_contact.php"> <fieldset> <li><label>*First Name</label> <input type="text" value="<?php echo $_POST['first_name'];?>" id="first_name" name="first_name" /> </li> <li> <label>*Last Name</label> <input type="text" value="<?php echo $_POST['last_name'];?>" id="last_name" name="last_name" /> </li> <li> <label>*Email</label> <input type="text" value="<?php echo $_POST['email'];?>" id="email" name="email" /> </li> <li> <label>*Confirm Email</label> <input type="text" id="confirm-email" name="confirm_email" /> </li> <li> <label>Street Address</label> <input type="text" value="<?php echo $_POST['address'];?>" id="address" name="address" /> <li class="full-width"> <input id="submit" type="submit" value="Register" /> </li> </fieldset> </form> 

Enfin, service la poste dans send_contact.php comme vous le souhaitez