reset($_POST);
while (list($key, $val) = each($_POST)) {
// echo "<BR>$key -> $val";
$$key=$val;
}
Ou la même chose avec $_GET (ca dépend de la méthode d'envoi de ton formulaire).
C'est pas bête comme idée, mais la avec ce formulaire caché, je dois utiliser la méthode 'get' ou 'post'... vu que ce n'est pas l'utilisateur qui remplira les champs cachés!Hello,
Tu peux reconstituer un formulaire sur ta page de validation, en plaçant toute les valeurs récupérées en champ cachés (en plus de les affichés dans le récapitulatif)). Ainsi lorsque l'utilisateur valide, tu ressoumets ce formulaire, et les valeurs sont à nouveau renvoyées vers la page suivante.
non, jpaul, si le register_global est à off , c'est très bien comme ça, et il faut éviter de le bypasser par une récupération à l'arache de tout ce qui est transmis par $_GET ou $_POST.
<form ... method="post">
<input type="text" name="champ" value="<?=$_POST['champ'];?>">
...
</form>
Episode 2 : la Confirmation contre attaque
<form ... method="post">
Vous avez saisi : <?=$_POST['champ'];?>
<input type="hidden" name="champ" value="<?=$_POST['champ'];?>">
...
</form>
Episode 3 : L'attaque de l'enregistrement en base
$sql = "UPDATE ... champ='".$_POST['champ']."'" ... ";
Episode 3 bis : Le retour du formulaire<HTML>
<HEAD>
<TITLE>Vérification avant envoi définitif...</TITLE>
</HEAD>
<BODY>
<CENTER><H2>Vérification</H2></CENTER>
<?
if(isset($_POST['date'])) $date=$_POST['date'];
else $date="";
if(isset($_POST['conseiller'])) $conseiller=$_POST['conseiller'];
else $conseiller="";
if(isset($_POST['nom_entreprise'])) $nom_entreprise=$_POST['nom_entreprise'];
else $nom_entreprise="";
if(isset($_POST['secteur_act'])) $secteur_act=$_POST['secteur_act'];
else $secteur_act="";
if(isset ($_POST['genre'])) $genre=$_POST['genre'];
else $genre="";
if(isset($_POST['siret'])) $siret=$_POST['siret'];
else $siret="";
if(isset($_POST['adresse'])) $adresse=$_POST['adresse'];
else $adresse="";
if(isset($_POST['phone'])) $phone=$_POST['phone'];
else $phone="";
if(isset($_POST['telecopie'])) $telecopie=$_POST['telecopie'];
else $telecopie="";
if(isset($_POST['mail'])) $mail=$_POST['mail'];
else $mail="";
if(isset($_POST['persoajoindre'])) $persoajoindre=$_POST['persoajoindre'];
else $persoajoindre="";
if(isset($_POST['poste'])) $poste=$_POST['poste'];
else $poste="";
if(isset($_POST['rome'])) $rome=$_POST['rome'];
else $rome="";
if(isset($_POST['motif'])) $motif=$_POST['motif'];
else $motif="";
if(isset($_POST['competence'])) $competence=$_POST['competence'];
else $competence="";
if(isset($_POST['domaine'])) $domaine=$_POST['domaine'];
else $domaine="";
if(isset($_POST['otre'])) $otre=$_POST['otre'];
else $otre="";
if(isset($_POST['diplome'])) $diplome=$_POST['diplome'];
else $diplome="";
if(isset($_POST['plus'])) $plus=$_POST['plus'];
else $plus="";
if(isset($_POST['plu'])) $plu=$_POST['plu'];
else $plu="";
if(isset($_POST['qualif'])) $qualif=$_POST['qualif'];
else $qualif="";
if(isset($_POST['exigence'])) $exigence=$_POST['exigence'];
else $exigence="";
if(isset($_POST['souhait'])) $souhait=$_POST['souhait'];
else $experience="";
if(isset($_POST['dure'])) $dure=$_POST['dure'];
else $dure="";
if(isset($_POST['condition_exo'])) $condition_exo=$_POST['condition_exo'];
else $condition_exo="";
if(isset($_POST['lieu_travail'])) $lieu_travail=$_POST['lieu_travail'];
else $lieu_travail="";
if(isset($_POST['nature'])) $nature=$_POST['nature'];
else $nature="";
if(isset($_POST['deplacement'])) $deplacement=$_POST['deplacement'];
else $deplacement="";
if(isset($_POST['salaire'])) $salaire=$_POST['salaire'];
else $salaire="";
if(isset($_POST['salair'])) $salair=$_POST['salair'];
else $salair="";
if(isset($_POST['saler'])) $saler=$_POST['saler'];
else $saler="";
if(isset($_POST['smic'])) $smic=$_POST['smic'];
else $smic="";
if(isset($_POST['par'])) $par=$_POST['par'];
else $par="";
if(isset($_POST['direct'])) $direct=$_POST['direct'];
else $direct="";
if(isset($_POST['contacter'])) $contacter=$_POST['contacter'];
else $contacter="";
if(isset($_POST['commentaire'])) $commentaire=$_POST['commentaire'];
else $commentaire="";
//On vérifie si les champs sont vides
//
if ($conseiller=="*" OR $date=="jj/mm/aa" OR $nom_entreprise=="*" OR $secteur_act=="*" OR $adresse=="*" OR $phone=="*" OR $persoajoindre=="*"
OR $rome=="*" OR $competence=="*" OR $condition_exo=="*" OR empty($salaire) OR empty($direct) OR empty($contacter)
OR empty($par))
{
echo '<font color="red"><U><BIG>Attention</BIG>, seuls les champs suivants peuvent rester vides :</U>
<b><LI>Siret <LI>Télécopie <LI>E-mail<LI> Motif du recrutement<LI> tous les champs FORMATION<LI> Déplacements</b><BR></FONT>
<BR>A HREF=aide_erreur.htm>Aide</A><BR></font>';
}
//Aucun champ n'est vide
else
{
echo "Voici les informations que vous venez de saisir. Veuillez les vérifier, et si elles sont conformes, alors validez.<BR>
Sinon veuillez cliquez sur la flèche Précédente en haut à gauhe de l'écran.<BR>
<TABLE WIDTH=90% BORDER=1>
<TR>
<TD ROWSPAN=2><IMG SRC=logo_milo.jpg width=61 height=37></TD>
<TD ROWSPAN=2 ALIGN=CENTER><H1>PRISE D'OFFRE</H1></TD>
<TD>Emploi</TD>
</TR
<TR>
<TD>Entreprise</TD>
</TR>
</TABLE>
<!--PREMIER TABLEAU => L'entreprise-->
<TABLE WIDTH=90% BORDER=0>
<TR>
<TD WIDTH=20% ALIGN=LEFT><B>Date :</B><FONT COLOR=red> $date</FONT></TD>
<TD ALIGN=RIGHT><B>Conseiller :</B><FONT COLOR=red> $genre $conseiller</FONT></TD>
</TR>
</TABLE>
<BR>
<TABLE BORDER=1 width=90%>
<TR BGCOLOR=antiquewhite>
<TD>
<TABLE BORDER=0 WIDTH=100%>
<TR>
<TD COLSPAN=3 ALIGN=CENTER><H2>L'ENTREPRISE</H2></TD>
</TR>
<TR>
<TD COLSPAN=2><B>Nom de l'entreprise :</B><FONT COLOR=red> $nom_entreprise</FONT></TD>
<TD SIZE=50%><B>SIRET :</B><FONT COLOR=red> $siret</FONT></TD>
</TR>
<TR>
<TD WIDTH=100% COLSPAN=3 ALIGN=LEFT><B>Secteur d'activité :</B> <FONT COLOR=red>$secteur_act</FONT></TD>
</TR>
<TR>
<TD COLSPAN=3 VALIGN=BOTTOM><B>Adresse :</B><FONT COLOR=red> $adresse</FONT></TD>
</TR>
<TR>
<TD ALIGN=LEFT SIZE=33%><B>Téléphone :</B><FONT COLOR=red>$phone </FONT></TD>
<TD ALIGN=LEFT SIZE=33%><B>Télécopie :</B><FONT COLOR=red> $telecopie</FONT></TD>
<TD ALIGN=LEFT><B>E-mail :</B><FONT COLOR=red>$mail</FONT></TD>
</TR>
<TR>
<TD ALIGN=LEFT COLSPAN=3><B>Personne à joindre :</B><FONT COLOR=red>$persoajoindre</FONT></TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
....
";
}
?>
<!--TRANSFERT DONNEE-->
<FORM NAME=verif METHOD=POST ACTION=envoi.php>
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?=$_POST['dat'];?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$conseiller;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$nom_entreprise;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$secteur_act;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$genre;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$siret;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$adresse;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$phone;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$telecopie;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$mail;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$persoajoindre;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$poste;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$rome;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$motif;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$competence;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$domaine;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$otre;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$diplome;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$plus;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$plu;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$qualif;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$exigence;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$souhait;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$dure;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$condition_exo;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$lieu_travail;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$nature;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$deplacement;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$salaire;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$salair;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$saler;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$smic;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$par;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$direct;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$contacter;?>">
<INPUT TYPE=HIDDEN NAME=tdate VALUE="<?$commentaire;?>">
<INPUT TYPE=SUBMIT VALUE="Validez">
</FORM>
<form>
<input type="button" value="Retour" onclick="history.go(-1)">
</form>
</BODY>
</HTML>
// au lieu de :
if(isset($_POST['date'])) $date=$_POST['date'];
else $date="";
// écrit plutot :
$date= (isSet($_POST['date'])) ? $_POST['date'] : ""; ca revient exactement au même, mais ca prend beaucoup moins de place