Conserver les valeurs de champs de formulaire

Répondre
mohaalba
le 23/02/2010 à 09:58
mohaalba
Bonjour,

je suis débutant en php et j'ai un souci que j'ai du mal à trouver la solution.
je suis en train de creer un espace membre, donc on peut modifier et gerer nos donnees personnelles(nom,prenom,pseudo,....) une fois c'est fait on valide et on se dirige vers la page de notre espace sinon s'il ya erreur dans un champ j'affiche l'erreur sur une nouvelle page, mais moi je voudrais rester sur la même page et afficher en entête l'erreur et entourer le champ en rouge et indiquer à coté l'erreur comme sur plusieurs site(cdiscount,...).

Aidez moi SVP car depuis des jours je tourne au rond sans trouver la solution

je vous remercie d'avance



voici mon code:(Note: j'ai pris un exemple sur internet et je l'ai adapter à mon probleme en rajoutant pas de choses)

profil.php
<?php

session_start();
require_once('verifications.php');
include_once('haut.php');
.......
<td><input name='email' type='text' id='email' value='". $email ."'></td>";
?>
</tr>

<?php
echo"<form action='profil2.php' method='post' enctype='multipart/form-data' name='form1'>
<tr>
<td><label for='pseudo'>Nouveau Pseudo(5 à 15 caractères)</label></td>
<td><input name='pseudo' type='text' id='pseudo' value='". $pseudo ."'></td>";?>
</tr>
........ pareil pour la suite

<tr>
<td> <input type="submit" name="Submit" value="Modifier"></td>
</tr>
</table>
</form>
<div align=center><a href="index.php" onClick="history.back()"> Retour</a></div>
<?php
include_once('bas.php');deconnexion
?>


profil2.php
<?php
session_start();
....
include_once('haut_color.php');

//récupération du formulaire
$passe_enc=formulaires($_POST['passe_enc']);
$nouv_passe=formulaires($_POST['nouv_passe']);

..................

if(!VerifierAdresseMail($email))
{

echo'<div align="center" ><p><strong>Veuillez entrer ou vérifier votre adresse e-mail</strong></p><br /><br /><a href="profil.php" onClick="history.back()">Retour</a>';
include_once('bas.php');
return FALSE;
}

.......................la meme chose pour le reste

if(isset($passe_enc)) {

if(!$nouv_passe || !$nouv_passe2 || strlen($nouv_passe) < 5 || strlen($nouv_passe) > 15)
{
echo'<div align="center" ><p><strong>Votre mot de passe ou sa confirmation est inexisant ou votre mot de passe n\'est pas compris entre 5 à 15 carractères</strong></p><br /><br /><a href="profil.php" onClick="history.back()">Retour</a>';
include_once('bas.php');
return FALSE;
}

...........
include_once('bas.php');
?>
LA GLOBULE
le 23/02/2010 à 12:24
LA GLOBULE
Il te suffit de faire la vérification du formulaire dans la même page que celle contenant le formulaire et de pré afficher la valeur des input si jamais elles existent.

Genre :

<?php
if (isset($_POST['submit'])) {
// si le formulaire est soumis, tu le traites et si c'est bon à la fin tu fais un header pour rediriger sur une autre page
}
?>

<!-- ici tu peux afficher les erreurs -->

<!-- tu affiches ton formulaire -->
<input type="text" name="toto" value="<?php if (isset($_POST['toto'])) echo htmlentities($_POST['toto']); ?>" />
<input type="submit" name="submit" value="Valider" />


Et pour afficher les champs en rouge, ben dans la partie de code qui teste le formuaire, tu peux stocker dans un tableau les champs qui ont des erreurs. Cela te permet ensuite de savoir quels champs doivent être rouge.
mohaalba
le 23/02/2010 à 14:01
mohaalba
je vous remercie infiniment pour votre réponse rapide.grâce à vous j'ai pu résoudre mon problème.
encore merci
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours