[php] Transmettre une variable

Résolu/Fermé
Rizzen Virnn Messages postés 103 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 14 novembre 2009 - 31 mai 2008 à 16:26
Rizzen Virnn Messages postés 103 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 14 novembre 2009 - 31 mai 2008 à 17:05
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 dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46
31 mai 2008 à 16:43
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 lundi 2 juillet 2007 Statut Membre Dernière intervention 14 novembre 2009 7
31 mai 2008 à 16:48
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 dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46
31 mai 2008 à 17:03
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 lundi 2 juillet 2007 Statut Membre Dernière intervention 14 novembre 2009 7
31 mai 2008 à 17:05
C'est donc à ça que sert les formulaires cachés ^^
Merci je vais regarder à ça (site du zero mon ami)
0