Garder les informations bonnes dans le formulaire après controle

Résolu/Fermé
Bryant - 13 déc. 2013 à 09:19
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 - 17 déc. 2013 à 18:06
Bonjour,
Je développe actuellement un formulaire. Sur ce formulaire, je fais plusieurs contrôle sur chaque champ.
Toute cette partie fonctionne parfaitement sauf que je voudrais améliorer mon code en gardant la valeur des champs qui sont correctes tout en effaçant les valeurs des champs qui sont fausses.
Il me semble que c'est une petite ligne PHP a ajouter sur chaque champ du formulaire mais je m'y casse les dents !
Merci d'avance

11 réponses

kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
Modifié par pijaku le 13/12/2013 à 09:34
tu creer une session d 'abord et lorsque le users valide tu recupere les donnees et tu les mets dans la session, comme xa quand tu reviens en car d 'erreur , tu verifie si la session n'est pas vide et tu l'affiche comme ca par exemple :

fichier form.php
<?php
session_start();
?>
<form action="form_traitement.php" action="post">
<input type="text" name="pseudo" value="<?php echo isset($_SESSION['pseudo'])? $_SESSION['pseudo'] : " "?> placeholder="pseudo">
<form>


fichier form_traitement.php
<?php
session_start();
if(isset($_POST) && !empty($_POST)){
 $_SESSION['pseudo'] = $_POST['pseudo']
}
?>

quand tu faite tes verification , une fois que il ya une erreur tu vide la session correspondante en faissant $_SESSION['pseudo'] = ""; comme xa a ton retour sur la page du formulaire ce sera les champs qui auront des erreurs qui seront vide .
test et informe
1
Salut Kherox et merci de ta réactivité !
Je vais tester tout ça et je te tiens au courant.
0
Ah mince, plus rapide :p
0
Lol incodr !

Je n'y arrive toujours pas ! J'ai fait ce que tu m'as dit Kherox mais encore une fois sans succès !
C'est peut être le lien vers ma page qui n'est pas bon?

Voici mon code :

<a href="index.php">Accueil</a>  <a href="console_admin.php">Connexion</a>
<?php
$_SESSION['erreurs'] = '';
if($_SESSION['erreurs'] > 0)
{
?>
<h1>Note :</h1>
<p>
Lors de votre dernière tentative d'inscription, des erreurs sont survenues, en voici la liste :<br/>
<?php
echo $_SESSION['nb_erreurs'];
echo $_SESSION['pseudo_info'];
echo $_SESSION['mdp_info'];
echo $_SESSION['mdp_verif_info'];
echo $_SESSION['mail_info'];
echo $_SESSION['mail_verif_info'];
echo $_SESSION['date_naissance_info'];
//echo $_SESSION['statut_info'];
?>
Nous vous avons pré-rempli les champs qui étaient corrects.<br/>
<?php
}
?>
<h1>Formulaire d'inscription</h1>
<p>Bienvenue sur la page d'inscription de mon site !<br/>
Merci de remplir ces champs pour continuer.</p>
<body bgcolor="#64748B">
<form action="verif_inscription.php" method="post" name="Inscription">
<fieldset><legend>Identifiants</legend>
<label for="Pseudo" class="float">Pseudo :</label> <input type="text" name="Pseudo" id="Pseudo" size="30" value="<?php echo isset($_SESSION['pseudo_info'])? $_SESSION['pseudo_info'] : " "?>" placeholder="Pseudo" /> <em>(compris entre 3 et 32 caractères)</em><br />
<label for="Mdp" class="float">Mot de passe :</label> <input type="password" name="Mdp" id="Mdp" size="30" value="<?php echo isset($_SESSION['mdp_info'])? $_SESSION['mdp_info'] : " "?>" placeholder="Mdp" /> <em>(compris entre 4 et 50 caractères)</em><br />
<label for="Mdp_verif" class="float">Mot de passe (vérification) :</label> <input type="password" name="Mdp_verif" id="Mdp_verif" size="30" value="<?php echo isset($_SESSION['mdp_verif_info'])? $_SESSION['mdp_verif_info'] : " "?>" placeholder="Mdp_verif" /><br />
<label for="Mail" class="float">Mail :</label> <input type="text" name="Mail" id="Mail" size="30" value="<?php echo isset($_SESSION['mail_info'])? $_SESSION['mail_info'] : " "?>" placeholder="Mail" /> <br />
<label for="Mail_verif" class="float">Mail (vérification) :</label> <input type="text" name="Mail_verif" id="Mail_verif" size="30" value="<?php echo isset($_SESSION['mail_verif_info'])? $_SESSION['mail_verif_info'] : " "?>" placeholder="Mail_verif" /><br />
<label for="Date_naissance" class="float">Date de naissance :</label> <input type="text" name="Date_naissance" id="Date_naissance" size="30" value="<?php echo isset($_SESSION['date_naissance_info'])? $_SESSION['date_naissance_info'] : " "?>" placeholder="Date_naissance" /> <em>(format JJ/MM/AAAA)</em><br/></tbody>
<label for="Statut" class="float">Statut : </label><select name="Statut">
<option name="Statut" value="Administrateur" selected="selected">Administrateur</option>
<option name="Statut" value="Membre">Membre</option></select><br />
<div class="center"><input type="submit" value="Inscription" /></div>
</fieldset>
</form>
</tbody>

Peux tu me dire si tu vois quelque chose de pas normal stp.
Pour info, j'ai une autre page qui gère les erreurs, le nombre d'erreur et les controles sur chaque champs.
Les erreurs s'affichent sur une autre page et du coup, il faut que je clic sur un lien pour revenir sur la page du formulaire.
Merci d'avance
0
Bonjour Bryant,

S'il s'agit en faite de remettre les données stockées en session dans votre formulaire, vous pouvez faire comme ça pour les balises de type <input />:

<input value="<?php if (isset($_SESSION['Pseudo'])) echo $_SESSION['Pseudo']; else echo ''; ?>" />
Pour les balises <option></option> dans les balises <select></select>:

<select style="float:right" name="Statut">
<option name="Statut" value="Administrateur" <?php if (isset($_SESSION['Statut']) && $_SESSION['Statut'] == "Administrateur") echo "selected='selected'"; else echo ""; ?> >Administrateur</option><br />
<option name="Statut" value="Membre" <?php if (isset($_SESSION['Statut']) && $_SESSION['Statut'] == "Membre") echo "selected='selected'"; else echo ""; ?> >Membre</option><br />
</select>

Appliquez ces exemples dans vos balises de formulaire, ça devrait le faire ! :)
N'oubliez pas de remplir les variables de session pour pouvoir effectuer ces tests.

Était-ce bien cela que vous vouliez savoir ? :)

Cordialement.
1
Merci incodr pour ta réponse je ne l'avais pas vu !
Je ne peux pas la tester vu que j'ai une erreur au préalable mais je te tiendrais au courant lundi !
Encore merci et bon WE.
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
Modifié par pijaku le 13/12/2013 à 10:01
donne ta page de traitement stp; pour voir comment tu affecte les varaibles a la session

dans ton post tu n'utlise pas les bon name je crois regarde ce :
<?php
<input type="text" name="Pseudo" id="Pseudo" size="30" value="<?php echo isset($_SESSION['pseudo_info'])? $_SESSION['pseudo_info'] : " "?>" placeholder="Pseudo" />
?>


le name du input c'est : "Pseudo" et la session du appelle $_SESSION['pseudo_info']

donc donne le code du fichier :verif_inscription.php et n 'oublie pas de passe "" post" en "POST" ce la peut cuasez quelque probleme.
j 'attends
0
Oui mais je l'appelle differemment dans ma page de vérif !

Voici le code :

<body bgcolor="#64748B">
<?php
include('fonctions.php');

//connection au serveur
$cnx = mysql_connect( "localhost", "root", "azerty" );
 
//sélection de la base de données:
$db  = mysql_select_db( "azerty" );

$_SESSION['erreurs'] = 0;

//Pseudo
if(isset($_POST['Pseudo']))
{
	$pseudo = trim($_POST['Pseudo']);
	$pseudo_result = checkpseudo($pseudo);
	if($pseudo_result == 'tooshort')
	{
		$_SESSION['pseudo_info'] = '<span class="erreur">Le pseudo '.htmlspecialchars($pseudo, ENT_QUOTES).' est trop court, vous devez en choisir un plus long (minimum 3 caractères).</span><br/>';
		$_SESSION['form_pseudo'] = '';
		$_SESSION['erreurs']++;
	}
	
	else if($pseudo_result == 'toolong')
	{
		$_SESSION['pseudo_info'] = '<span class="erreur">Le pseudo '.htmlspecialchars($pseudo, ENT_QUOTES).' est trop long, vous devez en choisir un plus court (maximum 32 caractères).</span><br/>';
		$_SESSION['form_pseudo'] = '';
		$_SESSION['erreurs']++;
	}
	
	else if($pseudo_result == 'exists')
	{
		$_SESSION['pseudo_info'] = '<span class="erreur">Le pseudo '.htmlspecialchars($pseudo, ENT_QUOTES).' est déjà pris, choisissez-en un autre.</span><br/>';
		$_SESSION['form_pseudo'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($pseudo_result == 'ok')
	{
		$_SESSION['pseudo_info'] = '';
		$_SESSION['form_pseudo'] = $pseudo;
	}
	
	else if($pseudo_result == 'empty')
	{
		$_SESSION['pseudo_info'] = '<span class="erreur">Vous n\'avez pas entré de pseudo.</span><br/>';
		$_SESSION['form_pseudo'] = '';
		$_SESSION['erreurs']++;	
	}
}

else
{
	header('Location: index.php');
	exit();
}

//Mot de passe
if(isset($_POST['Mdp']))
{
	$mdp = trim($_POST['Mdp']);
	$mdp_result = checkmdp($mdp, '');
	if($mdp_result == 'tooshort')
	{
		$_SESSION['mdp_info'] = '<span class="erreur">Le mot de passe entré est trop court, changez-en pour un plus long (minimum 4 caractères).</span><br/>';
		$_SESSION['form_mdp'] = '';
		$_SESSION['erreurs']++;
	}
	
	else if($mdp_result == 'toolong')
	{
		$_SESSION['mdp_info'] = '<span class="erreur">Le mot de passe entré est trop long, changez-en pour un plus court. (maximum 50 caractères)</span><br/>';
		$_SESSION['form_mdp'] = '';
		$_SESSION['erreurs']++;
	}
	
	else if($mdp_result == 'nofigure')
	{
		$_SESSION['mdp_info'] = '<span class="erreur">Votre mot de passe doit contenir au moins un chiffre.</span><br/>';
		$_SESSION['form_mdp'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($mdp_result == 'noupcap')
	{
		$_SESSION['mdp_info'] = '<span class="erreur">Votre mot de passe doit contenir au moins une majuscule.</span><br/>';
		$_SESSION['form_mdp'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($mdp_result == 'ok')
	{
		$_SESSION['mdp_info'] = '';
		$_SESSION['form_mdp'] = $mdp;
	}
	
	else if($mdp_result == 'empty')
	{
		$_SESSION['mdp_info'] = '<span class="erreur">Vous n\'avez pas entré de mot de passe.</span><br/>';
		$_SESSION['form_mdp'] = '';
		$_SESSION['erreurs']++;
	}
}

else
{
	header('Location: index.php');
	exit();
}

//Mot de passe suite
if(isset($_POST['Mdp_verif']))
{
	$mdp_verif = trim($_POST['Mdp_verif']);
	$mdp_verif_result = checkmdpS($mdp_verif, $mdp);
	if($mdp_verif_result == 'different')
	{
		$_SESSION['mdp_verif_info'] = '<span class="erreur">Le mot de passe de vérification diffère du mot de passe.</span><br/>';
		$_SESSION['form_mdp_verif'] = '';
		$_SESSION['erreurs']++;
		if(isset($_SESSION['form_mdp'])) unset($_SESSION['form_mdp']);
	}
	
	else
	{
		if($mdp_verif_result == 'ok')
		{
			$_SESSION['form_mdp_verif'] = $mdp_verif;
			$_SESSION['mdp_verif_info'] = '';
		}
		
		else
		{
			$_SESSION['mdp_verif_info'] = str_replace('passe', 'passe de vérification', $_SESSION['mdp_info']);
			$_SESSION['form_mdp_verif'] = '';
			$_SESSION['erreurs']++;
		}
	}
}

else
{
	header('Location: index.php');
	exit();
}

//mail
if(isset($_POST['Mail']))
{
	$mail = trim($_POST['Mail']);
	$mail_result = checkmail($mail);
	if($mail_result == 'isnt')
	{
		$_SESSION['mail_info'] = '<span class="erreur">Le mail '.htmlspecialchars($mail, ENT_QUOTES).' n\'est pas valide.</span><br/>';
		$_SESSION['form_mail'] = '';
		$_SESSION['erreurs']++;
	}
	
	else if($mail_result == 'exists')
	{
		$_SESSION['mail_info'] = '<span class="erreur">Le mail '.htmlspecialchars($mail, ENT_QUOTES).' est déjà pris.</span><br/>';
		$_SESSION['form_mail'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($mail_result == 'ok')
	{
		$_SESSION['mail_info'] = '';
		$_SESSION['form_mail'] = $mail;
	}
	
	else if($mail_result == 'empty')
	{
		$_SESSION['mail_info'] = '<span class="erreur">Vous n\'avez pas entré de mail.</span><br/>';
		$_SESSION['form_mail'] = '';
		$_SESSION['erreurs']++;	
	}
}

else
{
	header('Location: index.php');
	exit();
}

//mail suite
if(isset($_POST['Mail_verif']))
{
	$mail_verif = trim($_POST['Mail_verif']);
	$mail_verif_result = checkmailS($mail_verif, $mail);
	if($mail_verif_result == 'different')
	{
		$_SESSION['mail_verif_info'] = '<span class="erreur">Le mail de vérification diffère du mail.</span><br/>';
		$_SESSION['form_mail_verif'] = '';
		$_SESSION['erreurs']++;
	}
	
	else
	{
		if($mail_result == 'ok')
		{
			$_SESSION['mail_verif_info'] = '';
			$_SESSION['form_mail_verif'] = $mail_verif;
		}
		
		else
		{
			$_SESSION['mail_verif_info'] = str_replace(' mail', ' mail de vérification', $_SESSION['mail_info']);
			$_SESSION['form_mail_verif'] = '';
			$_SESSION['erreurs']++;
		}
	}
}

else
{
	header('Location: index.php');
	exit();
}

//date de naissance
if(isset($_POST['Date_naissance']))
{
	$date_naissance = trim($_POST['Date_naissance']);
	$date_naissance_result = birthdate($date_naissance);
	if($date_naissance_result == 'format')
	{
		$_SESSION['date_naissance_info'] = '<span class="erreur">Date de naissance au mauvais format ou invalide.</span><br/>';
		$_SESSION['form_date_naissance'] = '';
		$_SESSION['erreurs']++;
	}
	
	else if($date_naissance_result == 'tooyoung')
	{
		$_SESSION['date_naissance_info'] = '<span class="erreur">Agagagougougou areuh ? (Vous êtes trop jeune pour vous inscrire ici.)</span><br/>';
		$_SESSION['form_date_naissance'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($date_naissance_result == 'tooold')
	{
		$_SESSION['date_naissance_info'] = '<span class="erreur">Plus de 135 ans ? Mouais...</span><br/>';
		$_SESSION['form_date_naissance'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($date_naissance_result == 'invalid')
	{
		$_SESSION['date_naissance_info'] = '<span class="erreur">Le '.htmlspecialchars($date_naissance, ENT_QUOTES).' n\'existe pas.</span><br/>';
		$_SESSION['form_date_naissance'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($date_naissance_result == 'ok')
	{
		$_SESSION['date_naissance_info'] = '';
		$_SESSION['form_date_naissance'] = $date_naissance;
	}
	
	else if($date_naissance_result == 'empty')
	{
		$_SESSION['date_naissance_info'] = '<span class="erreur">Vous n\'avez pas entré de date de naissance.</span><br/>';
		$_SESSION['form_date_naissance'] = '';
		$_SESSION['erreurs']++;
	}
}

//statut
if(isset($_POST['Statut']))
{
	$statut = ($_POST['Statut']);
	$statut_result = ($statut);
	if($statut_result == 'ok')
	{
		$_SESSION['statut_info'] = '';
		$_SESSION['form_statut'] = $statut;
	}
}

else
{
	header('Location: index.php');
	exit();
}
?>
<!--Test des erreurs et envoi-->
<?php
			if($_SESSION['erreurs'] == 0)
			{
				$insertion = "INSERT INTO inscription (Pseudo, Mdp, Mdp_verif, Mail, Mail_verif, Date_naissance, Statut) VALUES
				('$pseudo','$mdp','$mdp_verif','$mail','$mail_verif','$date_naissance', '$statut')";
					
				if(mysql_query($insertion))
				{
					$queries++;
					vidersession();
					$_SESSION['inscrit'] = $pseudo;
					//echo $_SESSION['erreurs'];
					/*informe qu'il s'est déjà inscrit s'il actualise, si son navigateur
					bugue avant l'affichage de la page et qu'il recharge la page, etc.*/
				?>
			<h1>Inscription validée !</h1>
			<p>Nous vous remercions de vous être inscrit sur notre site, votre inscription a été validée !<br/>
			Vous pouvez vous connecter avec vos identifiants <a href="console_admin.php">ici</a>.
			</p>
				<?php
				}
				else
				{
					if(stripos(mysql_error(), $_SESSION['form_pseudo']) !== FALSE) // recherche du pseudo
					{
						unset($_SESSION['form_pseudo']);
						$_SESSION['pseudo_info'] = '<span class="erreur">Le pseudo '.htmlspecialchars($pseudo, ENT_QUOTES).' est déjà pris, choisissez-en un autre.</span><br/>';
						$_SESSION['erreurs']++;
						echo $_SESSION['erreurs'];
					}
					
					if(stripos(mysql_error(), $_SESSION['form_mail']) !== FALSE) //recherche du mail
					{
						unset($_SESSION['form_mail']);
						unset($_SESSION['form_mail_verif']);
						$_SESSION['mail_info'] = '<span class="erreur">Le mail '.htmlspecialchars($mail, ENT_QUOTES).' est déjà pris.</span><br/>';
						$_SESSION['mail_verif_info'] = str_replace('mail', 'mail de vérification', $_SESSION['mail_info']);
						$_SESSION['erreurs']++;
						$_SESSION['erreurs']++;
						echo $_SESSION['erreurs'];
					}
					
					if($_SESSION['erreurs'] == 0)
					{
						$sqlbug = true; //plantage SQL.
						//$_SESSION['erreurs']++;
						echo $_SESSION['erreurs'];
					}
				}
			}
?>
		<?php

			if(!empty($_SESSION['erreurs']))

			{
				if($_SESSION['erreurs'] == 1) $_SESSION['nb_erreurs'] = '<span class="erreur">Il y a eu 1 erreur.</span><br/>';
				else $_SESSION['nb_erreurs'] = '<span class="erreur">Il y a eu '.$_SESSION['erreurs'].' erreurs.</span><br/>';
		?>
			<h1>Inscription non validée.</h1>
			<p>Vous avez rempli le formulaire d'inscription du site et nous vous en remercions, cependant, nous n'avons
			pas pu valider votre inscription, en voici les raisons :<br/>
			<?php
				echo $_SESSION['nb_erreurs'];
				echo $_SESSION['pseudo_info'];
				echo $_SESSION['mdp_info'];
				echo $_SESSION['mdp_verif_info'];
				echo $_SESSION['mail_info'];
				echo $_SESSION['mail_verif_info'];
				echo $_SESSION['date_naissance_info'];
				//echo $_SESSION['statut_info'];
				
				$sqlbug = '';
				if($sqlbug !== true)
				{
			?>
			Nous vous proposons donc de revenir à la page précédente pour corriger les erreurs.</p>
			<div class="center"><a href="inscription.php">Retour</a></div>
			<?php
				}
				else
				{
			?>
			Une erreur est survenue dans la base de données, votre formulaire semble ne pas contenir d'erreurs, donc
			il est possible que le problème vienne de notre côté, réessayez de vous inscrire ou contactez-nous.</p>
			<?php
				}
			}
			?>
		</div>
<!--fin-->


Merci
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
Modifié par pijaku le 13/12/2013 à 10:22
d'abord met au debut de ton fichier une session_start();
et maintenant pour les erreurs creer un tableau qui va les contenir ce t'evitera de sortir a chaque erreur.

essaie le style
<?php
erreur = array();

erreur['pseudo'] = <span class="erreur">Le pseudo '.htmlspecialchars($pseudo, ENT_QUOTES).' est trop court, vous devez en choisir un plus long (minimum 3 caractères).</span><br/>';
  ainsi de suite par exemple pour le mot de passe 
erreur['pseudo']  = '<span class="erreur">Le mot de passe entré est trop court, changez-en pour un plus long (minimum 4 caractères).</span><br/>';
    $_SESSION['form_mdp'] = '';

?>

et a la fin tu test
<?php
if( !empty($erreur)){
$_SESSION['erreur'] = $erreur
header(....);
exit();
}
?>

comme cela tu sort une seule fois et tu prend toutes les erreurs

et maintenant arriver sur la page du formulaire
tu faire pour le pseudo
<?php
session_start();
          <input type="text" name="Pseudo" id="Pseudo" size="30" value="<?php echo isset($_SESSION['pseudo_info'])? $_SESSION['erreur']['pseudo'] : " "?>" placeholder="Pseudo" />

?>


essaie xa aussi et posts les erreurs en meme temps ok
on va trouver ce petit probleme
0
Je m'embrouille là :(
Le truc qui m'embete c'est que je pense que c'est juste le lien 'retour' qui me fait tout foirer puisque lorsque j'appuie sur le bouton firefox 'Reculer d'une page', les champs correctes restent remplis alors que les faux sont vidés !
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
13 déc. 2013 à 10:51
mais normalement c'est ce comportement la que tu veux? et quand tu clique sur le bouton valider
et que il y a des erreurs , il ne se passe rien? test je suis la reflechir pour un code pour toi
0
En fait, j'ai le formulaire à remplir avec un bouton valider puis j'ai une autre page qui affiche si l'inscription s'est bien passé ou alors elle affiche les erreurs. Sur cette 2eme page, en cas d'erreur, j'ai un lien 'retour' pour retourner sur la page du formulaire.
Sinon, je pourrais mettre tout sur la même page en affichant les erreurs juste après les éléments 'text' sauf qu'il faudrait melanger le code PHP avec du HTML et la je vais clairement m'embrouiller :(
Qu'en penses tu?
Merci d'avance Kherox !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
13 déc. 2013 à 11:15
ok je viens de comprendre ton code, essaie de faire cela :

*Primo : mets toutes les erreurs dans un tableau d'erreurs ok
*secondo : tu verifier si le tableau n est pas vide et tu faire la suite des traitements d'insertion ok
*tiercio: dans ton fichier verif_inscription.php :

je ne comprends a qoui sert tes varibles du style $_SESSION['form_pseudo'] = '';
pourqoui faire cela ? alors que tu as la possiblité de le mettre directement dans une session qui s'appelearis pseudo comme par exemple $_SESSION['pseudo'] = $pseudo; et erreur['pseudo'] = "l'erreur en question" ;
et aussi comme tu fais plusieurs traitement sur les valeurs je te conseils d'utiliser du jquery pour faire ces verification comme cela ton code php sera moins loin et facilement maintenable ok. car comme cela tu va detecter les problemes directement a la source. donc si tu veux utiliser du jquery, alors cela va bien te simplifier la vie. croire moi. maintenant si tu compte utiliser toujours ,ok ya pas de soucis mais on sera obliger de coder tout a partir du debut pour comprend le probleme ok
0
Merci Kherox pour ton aide !
Mais je ne peux pas me permettre de tout changer ! Mon code marche donc je ne veux pas tout refaire !
Je pense que ce n'est pas grand chose a modifier mon problème mais il faut trouver ce qui fait défaut !
merci de ton aide en tout cas !
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
13 déc. 2013 à 11:39
ok pas de soucis allons par etape. verifier bien ton code. tu ne mets pas de redirection en cas d'erreurs. je ne le voit n 'null part .
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
13 déc. 2013 à 11:44
je vois que dans le fichier ou tu traite tes erreurs est differents du fichier verif_inscription.php? est que je me trompe?
0
On commence par quel page? verif_inscription?
Oui c'est vrai je ne mets pas de redirection si il y a une erreur ^^
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
13 déc. 2013 à 11:57
ok donc quand tu detecte une erreur , fait automatiquement une redirecte. et si tu traite les erreurs dans une autre page differentes. maintenant essaie de les traitement dans la page verif_inscription.php et aussi quand tu mets si <?php if($sqlbug !== true) ?>
pourqoui ne pas mettre directement <?php if($sqlbug == " ") ?>
je pense que cela poura t'aider. essaie ca aussi.

et au lieu de faire cela comme ca :
<?php
if($sqlbug !== true)
{
?>
// Nous vous proposons donc de revenir à la page précédente pour corriger les erreurs.</p>
<div class="center"><a href="inscription.php">Retour</a></div>
<?php
}
?>

faire comme cela :
<?php
if($sqlbug == "")
header("location:inscription.php");
?>

essaiyons cela
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
13 déc. 2013 à 14:48
dans le code tu mets

<?php
if(isset($_POST['Pseudo'])){


}else{
header('Location: index.php');
exit();
}

?>


quand il ya un probleme sur le pseudo du style le $_post['pseudo'] est vide il sort directement sans tenir compte des autre qui sont en bas.
tu comprends? donc essaie de bien remplir le pseudo et laisser les autres champs mal remplir tu comprendra
0
Oui j'ai compris du coup, j'ai enlevé tous les headers sauf le dernier !
Les 'placeholder' sont corrects sauf que sur chaque zone de texte, il y a ça écrit dessus '<span class=' ! Donc je dois avoir un problème quelque part dans 'verif_inscription' !
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
13 déc. 2013 à 15:02
remet ton code du formulaire je vais voire quelque chose et dis est que les message d'erreurs s 'affiche dans la zone de text avec les span?
0
Voici le code d"e la page inscription.php :

<ahref="index.php">Accueil</a>  <a href="console_admin.php">Connexion</a>
<?php
session_start();

$_SESSION['erreurs'] = '';
	if($_SESSION['erreurs'] > 0)
	{
?>
<h1>Note :</h1>
<p>
Lors de votre dernière tentative d'inscription, des erreurs sont survenues, en voici la liste :<br/>
<?php
    echo $_SESSION['nb_erreurs'];
    echo $_SESSION['pseudo_info'];
    echo $_SESSION['mdp_info'];
    echo $_SESSION['mdp_verif_info'];
    echo $_SESSION['mail_info'];
    echo $_SESSION['mail_verif_info'];
    echo $_SESSION['date_naissance_info'];
	//echo $_SESSION['statut_info'];
?>
Nous vous avons pré-rempli les champs qui étaient corrects.<br/>
<?php
	}
?>
<h1>Formulaire d'inscription</h1>
			<p>Bienvenue sur la page d'inscription de mon site !<br/>
			Merci de remplir ces champs pour continuer.</p>
			<body bgcolor="#64748B">
			<form action="verif_inscription.php" method="POST" name="Inscription">
				<fieldset><legend>Identifiants</legend>
					<label for="Pseudo" class="float">Pseudo :</label> <input type="text" name="Pseudo" id="Pseudo" size="30" placeholder="Pseudo" value="<?php echo isset($_SESSION['pseudo_info'])? $_SESSION['pseudo_info'] : " "?>" /> <em>(compris entre 3 et 32 caracteres)</em><br />
					<label for="Mdp" class="float">Mot de passe :</label> <input type="password" name="Mdp" id="Mdp" size="30" placeholder="Mot de passe" value="<?php echo isset($_SESSION['mdp_info'])? $_SESSION['mdp_info'] : " "?>" /> <em>(compris entre 4 et 50 caracteres)</em><br />
					<label for="Mdp_verif" class="float">Mot de passe (verification) :</label> <input type="password" name="Mdp_verif" id="Mdp_verif" size="30" placeholder="Confirmation mot de passe" value="<?php echo isset($_SESSION['mdp_verif_info'])? $_SESSION['mdp_verif_info'] : " "?>" /><br />
					<label for="Mail" class="float">Mail :</label> <input type="text" name="Mail" id="Mail" size="30" placeholder="Mail" value="<?php echo isset($_SESSION['mail_info'])? $_SESSION['mail_info'] : " "?>" /><br />
					<label for="Mail_verif" class="float">Mail (verification) :</label> <input type="text" name="Mail_verif" id="Mail_verif" size="30" placeholder="Confirmation mail" value="<?php echo isset($_SESSION['mail_verif_info'])? $_SESSION['mail_verif_info'] : " "?>" /><br />
					<label for="Date_naissance" class="float">Date de naissance :</label> <input type="text" name="Date_naissance" id="Date_naissance" size="30" placeholder="Date de naissance" value="<?php echo isset($_SESSION['date_naissance_info'])? $_SESSION['date_naissance_info'] : " "?>" /> <em>(format JJ/MM/AAAA)</em><br/>
					<label for="Statut" class="float">Statut : </label><select name="Statut">
					<option name="Statut" value="Administrateur" selected="selected">Administrateur</option>
					<option name="Statut" value="Membre">Membre</option></select><br />
					<div class="center"><input type="submit" value="Inscription" /></div>
				</fieldset>
			</form>
			</tbody>					



Et voici le code de la page verif_inscription.php :

<body bgcolor="#64748B">
<?php
session_start();

include('fonctions.php');

//connection au serveur
$cnx = mysql_connect( "localhost", "root", "azerty" );
 
//sélection de la base de données:
$db  = mysql_select_db( "azerty" );

$_SESSION['erreurs'] = 0;

//Pseudo
if(isset($_POST['Pseudo']))
{
	$pseudo = trim($_POST['Pseudo']);
	$pseudo_result = checkpseudo($pseudo);
	if($pseudo_result == 'tooshort')
	{
		$_SESSION['pseudo_info'] = '<span class="erreur">Le pseudo '.htmlspecialchars($pseudo, ENT_QUOTES).' est trop court, vous devez en choisir un plus long (minimum 3 caractères).</span><br/>';
		$_SESSION['form_pseudo'] = '';
		$_SESSION['erreurs']++;
	}
	
	else if($pseudo_result == 'toolong')
	{
		$_SESSION['pseudo_info'] = '<span class="erreur">Le pseudo '.htmlspecialchars($pseudo, ENT_QUOTES).' est trop long, vous devez en choisir un plus court (maximum 32 caractères).</span><br/>';
		$_SESSION['form_pseudo'] = '';
		$_SESSION['erreurs']++;
	}
	
	else if($pseudo_result == 'exists')
	{
		$_SESSION['pseudo_info'] = '<span class="erreur">Le pseudo '.htmlspecialchars($pseudo, ENT_QUOTES).' est déjà pris, choisissez-en un autre.</span><br/>';
		$_SESSION['form_pseudo'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($pseudo_result == 'ok')
	{
		$_SESSION['pseudo_info'] = '';
		$_SESSION['form_pseudo'] = $pseudo;
	}
	
	else if($pseudo_result == 'empty')
	{
		$_SESSION['pseudo_info'] = '<span class="erreur">Vous n\'avez pas entre de pseudo.</span><br/>';
		$_SESSION['form_pseudo'] = '';
		$_SESSION['erreurs']++;	
	}
}

//Mot de passe
if(isset($_POST['Mdp']))
{
	$mdp = trim($_POST['Mdp']);
	$mdp_result = checkmdp($mdp, '');
	if($mdp_result == 'tooshort')
	{
		$_SESSION['mdp_info'] = '<span class="erreur">Le mot de passe entre est trop court, changez-en pour un plus long (minimum 4 caracteres).</span><br/>';
		$_SESSION['form_mdp'] = '';
		$_SESSION['erreurs']++;
	}
	
	else if($mdp_result == 'toolong')
	{
		$_SESSION['mdp_info'] = '<span class="erreur">Le mot de passe entre est trop long, changez-en pour un plus court. (maximum 50 caracteres)</span><br/>';
		$_SESSION['form_mdp'] = '';
		$_SESSION['erreurs']++;
	}
	
	else if($mdp_result == 'nofigure')
	{
		$_SESSION['mdp_info'] = '<span class="erreur">Votre mot de passe doit contenir au moins un chiffre.</span><br/>';
		$_SESSION['form_mdp'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($mdp_result == 'noupcap')
	{
		$_SESSION['mdp_info'] = '<span class="erreur">Votre mot de passe doit contenir au moins une majuscule.</span><br/>';
		$_SESSION['form_mdp'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($mdp_result == 'ok')
	{
		$_SESSION['mdp_info'] = '';
		$_SESSION['form_mdp'] = $mdp;
	}
	
	else if($mdp_result == 'empty')
	{
		$_SESSION['mdp_info'] = '<span class="erreur">Vous n\'avez pas entre de mot de passe.</span><br/>';
		$_SESSION['form_mdp'] = '';
		$_SESSION['erreurs']++;
	}
}

//Mot de passe suite
if(isset($_POST['Mdp_verif']))
{
	$mdp_verif = trim($_POST['Mdp_verif']);
	$mdp_verif_result = checkmdpS($mdp_verif, $mdp);
	if($mdp_verif_result == 'different')
	{
		$_SESSION['mdp_verif_info'] = '<span class="erreur">Le mot de passe de verification differe du mot de passe.</span><br/>';
		$_SESSION['form_mdp_verif'] = '';
		$_SESSION['erreurs']++;
		if(isset($_SESSION['form_mdp_verif'])) unset($_SESSION['form_mdp_verif']);
	}
	
	else
	{
		if($mdp_verif_result == 'ok')
		{
			$_SESSION['form_mdp_verif'] = $mdp_verif;
			$_SESSION['mdp_verif_info'] = '';
		}
		
		else
		{
			$_SESSION['mdp_verif_info'] = str_replace('passe', 'passe de verification', $_SESSION['mdp_info']);
			$_SESSION['form_mdp_verif'] = '';
			$_SESSION['erreurs']++;
		}
	}
}

//mail
if(isset($_POST['Mail']))
{
	$mail = trim($_POST['Mail']);
	$mail_result = checkmail($mail);
	if($mail_result == 'isnt')
	{
		$_SESSION['mail_info'] = '<span class="erreur">Le mail '.htmlspecialchars($mail, ENT_QUOTES).' n\'est pas valide.</span><br/>';
		$_SESSION['form_mail'] = '';
		$_SESSION['erreurs']++;
	}
	
	else if($mail_result == 'exists')
	{
		$_SESSION['mail_info'] = '<span class="erreur">Le mail '.htmlspecialchars($mail, ENT_QUOTES).' est déjà pris.</span><br/>';
		$_SESSION['form_mail'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($mail_result == 'ok')
	{
		$_SESSION['mail_info'] = '';
		$_SESSION['form_mail'] = $mail;
	}
	
	else if($mail_result == 'empty')
	{
		$_SESSION['mail_info'] = '<span class="erreur">Vous n\'avez pas entre de mail.</span><br/>';
		$_SESSION['form_mail'] = '';
		$_SESSION['erreurs']++;	
	}
}

//mail suite
if(isset($_POST['Mail_verif']))
{
	$mail_verif = trim($_POST['Mail_verif']);
	$mail_verif_result = checkmailS($mail_verif, $mail);
	if($mail_verif_result == 'different')
	{
		$_SESSION['mail_verif_info'] = '<span class="erreur">Le mail de verification differe du mail.</span><br/>';
		$_SESSION['form_mail_verif'] = '';
		$_SESSION['erreurs']++;
	}
	
	else
	{
		if($mail_result == 'ok')
		{
			$_SESSION['mail_verif_info'] = '';
			$_SESSION['form_mail_verif'] = $mail_verif;
		}
		
		else
		{
			$_SESSION['mail_verif_info'] = str_replace(' mail', ' mail de verification', $_SESSION['mail_info']);
			$_SESSION['form_mail_verif'] = '';
			$_SESSION['erreurs']++;
		}
	}
}

//date de naissance
if(isset($_POST['Date_naissance']))
{
	$date_naissance = trim($_POST['Date_naissance']);
	$date_naissance_result = birthdate($date_naissance);
	if($date_naissance_result == 'format')
	{
		$_SESSION['date_naissance_info'] = '<span class="erreur">Date de naissance au mauvais format ou invalide.</span><br/>';
		$_SESSION['form_date_naissance'] = '';
		$_SESSION['erreurs']++;
	}
	
	else if($date_naissance_result == 'tooyoung')
	{
		$_SESSION['date_naissance_info'] = '<span class="erreur">Agagagougougou areuh ? (Vous êtes trop jeune pour vous inscrire ici.)</span><br/>';
		$_SESSION['form_date_naissance'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($date_naissance_result == 'tooold')
	{
		$_SESSION['date_naissance_info'] = '<span class="erreur">Plus de 135 ans ? Mouais...</span><br/>';
		$_SESSION['form_date_naissance'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($date_naissance_result == 'invalid')
	{
		$_SESSION['date_naissance_info'] = '<span class="erreur">Le '.htmlspecialchars($date_naissance, ENT_QUOTES).' n\'existe pas.</span><br/>';
		$_SESSION['form_date_naissance'] = '';
		$_SESSION['erreurs']++;
	}
		
	else if($date_naissance_result == 'ok')
	{
		$_SESSION['date_naissance_info'] = '';
		$_SESSION['form_date_naissance'] = $date_naissance;
	}
	
	else if($date_naissance_result == 'empty')
	{
		$_SESSION['date_naissance_info'] = '<span class="erreur">Vous n\'avez pas entre de date de naissance.</span><br/>';
		$_SESSION['form_date_naissance'] = '';
		$_SESSION['erreurs']++;
	}
}

//statut
if(isset($_POST['Statut']))
{
	$statut = trim($_POST['Statut']);
	$statut_result = ($statut);
	if ($statut_result == 'ok')
	{
		$_SESSION['statut_info'] = '';
		$_SESSION['form_statut'] = $statut;
	}
}

else
{
	header('Location: index.php');
	exit();
}
?>
<!--Test des erreurs et envoi-->
<?php
			if($_SESSION['erreurs'] == 0)
			{
				$insertion = "INSERT INTO inscription (Pseudo, Mdp, Mdp_verif, Mail, Mail_verif, Date_naissance, Statut) VALUES
				('$pseudo','$mdp','$mdp_verif','$mail','$mail_verif','$date_naissance', '$statut')";
					
				if(mysql_query($insertion))
				{
					$queries++;
					vidersession();
					$_SESSION['inscrit'] = $pseudo;
					//echo $_SESSION['erreurs'];
					/*informe qu'il s'est déjà inscrit s'il actualise, si son navigateur
					bugue avant l'affichage de la page et qu'il recharge la page, etc.*/
				?>
			<h1>Inscription validée !</h1>
			<p>Nous vous remercions de vous être inscrit sur notre site, votre inscription a été validee !<br/>
			Vous pouvez vous connecter avec vos identifiants <a href="console_admin.php">ici</a>.
			</p>
				<?php
				}
				else
				{
					if(stripos(mysql_error(), $_SESSION['form_pseudo']) !== FALSE) // recherche du pseudo
					{
						unset($_SESSION['form_pseudo']);
						$_SESSION['pseudo_info'] = '<span class="erreur">Le pseudo '.htmlspecialchars($pseudo, ENT_QUOTES).' est déjà pris, choisissez-en un autre.</span><br/>';
						$_SESSION['erreurs']++;
						echo $_SESSION['erreurs'];
					}
					
					if(stripos(mysql_error(), $_SESSION['form_mail']) !== FALSE) //recherche du mail
					{
						unset($_SESSION['form_mail']);
						unset($_SESSION['form_mail_verif']);
						$_SESSION['mail_info'] = '<span class="erreur">Le mail '.htmlspecialchars($mail, ENT_QUOTES).' est déjà pris.</span><br/>';
						$_SESSION['mail_verif_info'] = str_replace('mail', 'mail de vérification', $_SESSION['mail_info']);
						$_SESSION['erreurs']++;
						$_SESSION['erreurs']++;
						echo $_SESSION['erreurs'];
					}
					
					if($_SESSION['erreurs'] == 0)
					{
						$sqlbug = true; //plantage SQL.
						//$_SESSION['erreurs']++;
						echo $_SESSION['erreurs'];
					}
				}
			}
?>
		<?php

			if(!empty($_SESSION['erreurs']))

			{
				if($_SESSION['erreurs'] == 1) $_SESSION['nb_erreurs'] = '<span class="erreur">Il y a eu 1 erreur.</span><br/>';
				else $_SESSION['nb_erreurs'] = '<span class="erreur">Il y a eu '.$_SESSION['erreurs'].' erreurs.</span><br/>';
		?>
			<h1>Inscription non validée.</h1>
			<p>Vous avez rempli le formulaire d'inscription du site et nous vous en remercions, cependant, nous n'avons
			pas pu valider votre inscription, en voici les raisons :<br/>
			<?php
				echo $_SESSION['nb_erreurs'];
				echo $_SESSION['pseudo_info'];
				echo $_SESSION['mdp_info'];
				echo $_SESSION['mdp_verif_info'];
				echo $_SESSION['mail_info'];
				echo $_SESSION['mail_verif_info'];
				echo $_SESSION['date_naissance_info'];
				//echo $_SESSION['statut_info'];
				
				if($sqlbug == "")
					header("location:inscription.php");
			?>
			Nous vous proposons donc de revenir à la page précédente pour corriger les erreurs.</p>
			<?php
				}
				else
				{
			?>
			Une erreur est survenue dans la base de données, votre formulaire semble ne pas contenir d'erreurs, donc
			il est possible que le problème vienne de notre côté, réessayez de vous inscrire ou contactez-nous.</p>
			<?php
				}
			?>
		</div>
<!--fin-->


Dis moi si tu vois qui peut faire bugger !

Oui il faudrait que je te fasse une copie d'écran pour te montrer !
En gros tu as 'Mail' : <span class= au lieu du placeholder="Mail".
Tu vois?
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
13 déc. 2013 à 15:24
ne porte pas tn attention sur le placeholder , quand tu ecrire :
<input type="" ... value=""> tu ne peut pas afficher un span dans un attr value, tu comprend, donc affiche seulement le valeur sans les span pour voir ce que cela donne et apres on va faire une autre chose pour afficher la classe erreur
0
Lorsque j'enlève le 'value' dans mon formulaire, tout s'affiche bien :)
Mais lorsque je le remets, j'ai de retour des erreurs :(
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
16 déc. 2013 à 09:29
oui il a été declarer mais il est vide donc c'est pour cela que il met sa. donc pour eviter ce probleme faire un :
<?php echo   isset($_SESSION['statut_info']) ? $_SESSION['statut_info'] : " "  ?>
cela va resoudre le probleme
0
Merci :) ca a l'air de fonctionner :)
Maintenant, je voudrais mettre de couleur rouge les zones de texte des champs qui ne sont pas remplis ! Tu sais comment faire cela?
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
16 déc. 2013 à 09:48
met un required dans tout tes champs input comme cela <input type="text" name="pseudo" required> cela forcera le navigateur a bloquer la validation tant que ce champ n est pas remplir. et aussi si tu veux mettre une couleur rouge sur les champs mal remplir ajout une classe css au champs.
exemple :

.erreur{
boder : 1px solid red;
}



et maintenant dans le code tu

<input type="text"   <?php echo isset($_SESSION['erreur']['pseudo'] ? "class=erreur") ?>>

pour voir
0
J'ai une erreur de syntaxe !
Parse error: syntax error, unexpected '?', expecting ',' or ')' in C:\wamp\www\Formulaire\inscription.php on line 27

Voici le code de ma page :

<a href="index.php">Accueil</a>  <a href="console_admin.php">Connexion</a>
<?php
session_start();
?>
<h1>Note :</h1>
<p>
Lors de votre derniere tentative d'inscription, des erreurs sont survenues, en voici la liste :<br/>
<?php
    echo $_SESSION['nb_erreurs'];
    echo $_SESSION['pseudo_info'];
    echo $_SESSION['mdp_info'];
    echo $_SESSION['mdp_verif_info'];
    echo $_SESSION['mail_info'];
    echo $_SESSION['mail_verif_info'];
    echo $_SESSION['date_naissance_info'];
	echo isset($_SESSION['statut_info']) ? $_SESSION['statut_info'] : " "
?>
.erreur{
boder : 1px solid red;
}
<h1>Formulaire d'inscription</h1>
			<p>Bienvenue sur la page d'inscription de mon site !<br/>
			Merci de remplir ces champs pour continuer.</p>
			<body bgcolor="#64748B">
			<form action="verif_inscription.php" method="POST" name="Inscription">
				<fieldset><legend>Identifiants</legend>
					<label for="Pseudo" class="float">Pseudo :</label> <input type="text" <?php echo isset($_SESSION['erreur']['pseudo'] ? "class=erreur") ?> name="Pseudo" required id="Pseudo" size="30" placeholder="Pseudo" value="<?php if($_SESSION['pseudo_info'] !== '') echo htmlspecialchars($_SESSION['form_pseudo'], ENT_QUOTES); ?>" /> <em>(compris entre 3 et 32 caracteres)</em><br />
					<label for="Mdp" class="float">Mot de passe :</label> <input type="password"  <?php echo isset($_SESSION['erreur']['pseudo'] ? "class=erreur") ?> name="Mdp" required id="Mdp" size="30" placeholder="Mot de passe" value="<?php if($_SESSION['mdp_info'] !== '') echo htmlspecialchars($_SESSION['form_mdp'], ENT_QUOTES); ?>" /> <em>(compris entre 4 et 50 caracteres)</em><br />
					<label for="Mdp_verif" class="float">Mot de passe (verification) :</label> <input type="password" <?php echo isset($_SESSION['erreur']['pseudo'] ? "class=erreur") ?> name="Mdp_verif" required id="Mdp_verif" size="30" placeholder="Confirmation mot de passe" value="<?php if($_SESSION['mdp_verif_info'] !== '') echo htmlspecialchars($_SESSION['form_mdp_verif'], ENT_QUOTES); ?>" /><br />
					<label for="Mail" class="float">Mail :</label> <input type="text" <?php echo isset($_SESSION['erreur']['pseudo'] ? "class=erreur") ?> name="Mail" required id="Mail" size="30" placeholder="Mail" value="<?php if($_SESSION['mail_info'] !== '') echo htmlspecialchars($_SESSION['form_mail'], ENT_QUOTES); ?>" /><br />
					<label for="Mail_verif" class="float">Mail (verification) :</label> <input type="text" <?php echo isset($_SESSION['erreur']['pseudo'] ? "class=erreur") ?> name="Mail_verif" required id="Mail_verif" size="30" placeholder="Confirmation mail" value="<?php if($_SESSION['mail_verif_info'] !== '') echo htmlspecialchars($_SESSION['form_mail_verif'], ENT_QUOTES); ?>" /><br />
					<label for="Date_naissance" class="float">Date de naissance :</label> <input type="text" <?php echo isset($_SESSION['erreur']['pseudo'] ? "class=erreur") ?> name="Date_naissance" required id="Date_naissance" size="30" placeholder="Date de naissance" value="<?php if($_SESSION['date_naissance_info'] !== '') echo htmlspecialchars($_SESSION['form_date_naissance'], ENT_QUOTES); ?>" /> <em>(format JJ/MM/AAAA)</em><br/>
					<label for="Statut" class="float">Statut : </label><select name="Statut">
					<option name="Statut" value="Administrateur" <?php if (isset($_SESSION['statut_info']) && $_SESSION['statut_info'] == "Administrateur") echo "selected='selected'"; else echo ""; ?> >Administrateur</option><br />
					<option name="Statut" value="Membre" <?php if (isset($_SESSION['statut_info']) && $_SESSION['statut_info'] == "Membre") echo "selected='selected'"; else echo ""; ?> >Membre</option><br />
					</select> <br />
					<div class="center"><input type="submit" value="Inscription" /></div>
				</fieldset>
			</form>
			</tbody>


Mon code css est mal placé aussi non?
Merci
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
16 déc. 2013 à 10:13
est que dans ta recuperation des errerus tu les mets dans un tableau?
0
Non kherox !
Et au lieu de créer un nouveau code php dans chaque champs de formulaire ?
Genre :
<label for="Pseudo" class="float">Pseudo :</label> <input type="text"  name="Pseudo" required id="Pseudo" size="30" placeholder="Pseudo" value="<?php if($_SESSION['pseudo_info'] !== '') echo htmlspecialchars($_SESSION['form_pseudo'], ENT_QUOTES) ? "class=erreur"; ?>" /> <em>(compris entre 3 et 32 caracteres)</em><br />


Merci
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
16 déc. 2013 à 11:00
j avais un probleme de connexion maintenant je suis la
0
Ok !
Alors en fait lorsque je mets la fonction 'required', c'est super beau en esthétique mais ca ne gère que le cas ou le champs est vide et pas les autres cas, longueur, différent caractères...
C'est bien dommage car c'est exactement ça que je voulais !
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
17 déc. 2013 à 09:27
essaie cette ligne en entier sans changer
<label for="Pseudo" class="float">Pseudo :</label> <input type="text" name="Pseudo"  id="Pseudo" size="30" placeholder="Pseudo" value="<?php echo isset($_SESSION['pseudo_info'] )? htmlspecialchars($_SESSION['form_pseudo'], ENT_QUOTES) : "" ;?>" class="<?php echo isset($_SESSION['erreur']['pseudo']) ? "erreur" ;?>" /><em>(compris entre 3 et 32 caracteres)</em><br />
0
J'ai la même erreur !
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
17 déc. 2013 à 09:45
<label for="Pseudo" class="float">Pseudo :</label> <input type="text" name="Pseudo"  id="Pseudo" size="30" placeholder="Pseudo" value="<?php echo isset($_SESSION['pseudo_info'] )? $_SESSION['form_pseudo'] : "" ;?>" class="<?php echo isset($_SESSION['erreur']['pseudo']) ? "erreur" ;?>" /><em>(compris entre 3 et 32 caracteres)</em><br />
0
Toujours la même erreur !
C'est l'appel au CSS qui fait planter !
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
17 déc. 2013 à 10:00
essaie d'enlever pour la class pour voir ok
0
en supprimant la class le code marche parfaitement !
Es tu sur que l'on appel le CSS comme ça en php?
Je ne trouve rien sur ça sur le net !
0
enqueteactualite Messages postés 70 Date d'inscription mercredi 11 décembre 2013 Statut Membre Dernière intervention 16 mai 2015 16
17 déc. 2013 à 15:17
Je te conseil pas d'utiliser des sessions car tu vas encombré ton serveur et réduire les performance si ton site à beaucoup de trafic....

Je te conseil de...

définir une variable $inputs['current']['pseudo'] (information original) et $inputs['erreur']['pseudo'] qui contient la valeur par défaut des champs du formulaire ainsi qu'un deuxième tableau qui contient éventuellement des erreurs en cas de saisie.

à la validation tu rempli le tableau erreur au besoin...
et sur le front coté formulaire et fait directement des echo $inputs['erreur']['pseudo'] <= par defaut la valeur est vide donc y'a rien à afficher et si y 'a une erreur alors elle s'affiche...

Tu peux même t'amuser à mettre
$inputs['erreur']['pseudo']['value']= '<span class="error">c pas bon blabla..</span>';
$inputs['erreur']['pseudo']['class'] = 'une class à mettre dans l'input concerné';
...

Je te conseil vraiment pas les sessions ... Tu dois retransmettre les données du $_POST à une variable qui sera utilisé sur le front...
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
17 déc. 2013 à 15:41
oui je crois que tu dois faire comme tu l 'as dit, et aussi dans ton isset de la class met d'abord , rouge avant blanche
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
17 déc. 2013 à 15:44
ne touche pas a ta configuration ok
0
Ok c'est fait !
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
17 déc. 2013 à 16:01
ok ta pu regler toutes tes soucis?
0
Non toujours pas de changement de couleur lorsque les champs sont valides grrrrrrrr
C'est bizarre puisque mon code est bon je pense.
Tu vois quelque chose de mauvais??
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
17 déc. 2013 à 16:15
verifie si la classe est bein celle que tu as definir dynamiquement? lorsque tu reviens sur la page du formulaire , ouvre l'inspecteur de code pour voir la classe est bien celle que tu as definir, et ensuite on va continuer
0