[php] Transmettre une variable

Résolu
Rizzen Virnn Messages postés 103 Date d'inscription   Statut Membre Dernière intervention   -  
Rizzen Virnn Messages postés 103 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Dans mon code php, j'ai plusieurs formulaires (inscription,...)
Je veux que lorsque l'utilisateur rentre de mauvaise informations ils soient renvoyés sur la meme page mais avec un petit message d'erreur en haut du formulaire.
Voici mon code
	case "subscribe": {
		echo'<center>Inscription<br>
		<font color="red">'.$error_log.'</font><br>
		<form name="form1" method="post" action="?cat=subscribe2">
		<table cellpadding="2" cellspacing="2">
			<tr>
				<td>Pseudo</td>
				<td><input name="login" type="text" id="login"></td>
			</tr>
			//autres champs du tableau


tout cela est récupéré sur la page subscribe2 avec les vérifications
	case "subscribe2": {
		if ($_POST['pass1'] != $_POST['pass2']){
			$error_log = "mots de passe entrés différents";	
			echo'<META http-equiv="refresh" content="1 ; URL=?cat=subscribe">'; //redirection automatique
		}

		//autres vérifications

		else{
			//requête sql d'enregistrement
			echo'<center>Vous voila enregistré<br>
			Bon amusement :-)<br><br>';
		}

	}


C'est donc la valeur $error_log qu'il faut transmettre à la page "subscribe" si il y a une erreur.
Etant donné que c'est un string je me verrais mal le transmettre dans l'url donc il faudrait le stocker dans une variable cachée (ptete pas besoin d'une variable de session ou cookie pour ça)
Je ne sais pas si c'est la méthode la plus efficace...

Merci d'avance

3 réponses

Brachior Messages postés 613 Date d'inscription   Statut Membre Dernière intervention   46
 
la method la plus simple de verification de formulaire reste le javascript Oo

il suffit de mettre ds la balise form du debut :
onsubmit='return(verifForm());'
puis ds le head mettre un script style :
<script type='text/javascript'>
  <!--
    function verifForm(){
      var f=document.form1;
      if(f.pass1.value!=f.pass2.value){
        alert("vous avez rentré 2 mots de passe differents");
        return(false);}}
  -->
</script>
c'est un exemple pr tester si les 2 mdp tapés st identiques,
le formulaire ne sera alr pas envoyé si ils st differents ..
et tu peux tester tt et n'importe quoi comme ca :)
0
Rizzen Virnn Messages postés 103 Date d'inscription   Statut Membre Dernière intervention   7
 
Euuh apprendre le javascript est dans ma liste de tâche à réaliser cet été xD
Pour l'instant je pensais plutôt essayer de rester uniquement dans le php.

A moins que tu me dises qu'il n'existe pas d'autres manière de le faire (ou trop compliquées) :-)
0
Brachior Messages postés 613 Date d'inscription   Statut Membre Dernière intervention   46
 
bien sur que si ^^
on peut tt faire ( ou quaziment ^^ )
mais faut avouer que le javascript te simplifie drolement la tache ^^

pr ton cas par exemple tu peux créer une variable $message_d'erreur
quand tu arrive ds la 2eme page ( celle qui vérifie ) tu donne une valeur a cette variable que tu envoies a la 1ere page via un formulaire tt en hidden et en post que tu fais envoyer automatiquement

et ds ta 1ere page tu regarde si $_POST[message_erreur'] existe puis tu regarde sa valeur et tu affiche un message d'erreur en fct ^^
0
Rizzen Virnn Messages postés 103 Date d'inscription   Statut Membre Dernière intervention   7
 
C'est donc à ça que sert les formulaires cachés ^^
Merci je vais regarder à ça (site du zero mon ami)
0