Page 1 sur 1

Formulaire de modification

Posté : 17 juin 2013, 11:51
par NUAGE
Bonjour,

J'ai un formulaire qui me permet de modifier un enregistrement.
Je modifie et affiche les modifications sur la même pas. Ce que je veux c'est pouvoir garder ce que j'ai modifié dans les input.
J'ai essayé avec ça sur tout les champs:

<input name="nom" type="text" required value="<?php echo $etudiants['nom']; if(isset($_POST['nom'])){ echo htmlentities($_POST['nom]);}?>">
</p>

Mais le problème c'est quand je valide, dans les input j'ai deux fois l'info dans les input non modifié.

Merci de votre aide.

Re: Formulaire de modification

Posté : 17 juin 2013, 12:35
par sirakawa
Ce serait plus clair ainsi:
if (isset($_POST['nom']))
 { 
        $nom_poste =  htmlentities($_POST['nom]);
}
else
{
     $nom_poste = ""; // ou  $nom_poste = $etudiants['nom'];
}
$nom_bdd = $etudiants['nom'];

print"
<input name="nom_nouveau" type="text" required value="$nom_poste"  />
<input name="nom_bdd" type="hidden"  value="$nom_bdd"  />
</p>";
si je comprends bien du moins.
ou
<input name="nom_nouveau" type="text" required value="$nom_poste;$nom_bdd" />

Re: Formulaire de modification

Posté : 17 juin 2013, 12:38
par yann18
bonjour,

tu peux essayer de distinguer les 2 cas (ajout et modification) avant de pouvoir affecter une valeur à l'attribut value de input.
Pa exemple:
<?
$data=array();
//le tableau $etudiant n'est pas vide alors on va chercher les données de ce tableau pour l'affecter dans le tableau $data
if(!empty($etudiants) ){
$data['nom'] = $etudiants['nom'];
//$data['prenom'] = $etudiants['prenom'];
}else{ //mode ajout , on vérifie que $_POST n'est pas vide
if(!empty($_POST)){
$data['nom'] = $_POST['nom'];
//$data['prenom'] = $_POST['prenom'];
}
}
?>
<input name="nom" type="text" required value="<?php echo $data['nom']?>" >

Re: Formulaire de modification

Posté : 17 juin 2013, 13:06
par NUAGE
Re,

Merci de vos réponses rapides.
J'ai essayé les deux méthodes, mais ça ne marche pas... une fois que je valide le formulaire les input ne sont pas gardés.

Re: Formulaire de modification

Posté : 17 juin 2013, 16:49
par yann18
Re,

Merci de vos réponses rapides.
J'ai essayé les deux méthodes, mais ça ne marche pas... une fois que je valide le formulaire les input ne sont pas gardés.
j'ai repris à peu près ton code de départ pour t'illustrer comment peupler un formulaire à la suite d'une mise à jour ou d'un ajout.Par ailleurs ta réponse ne me permet pas de savoir pourquoi ça ne marche.

Re: Formulaire de modification

Posté : 17 juin 2013, 16:57
par NUAGE
Re,

Mon formulaire en fait ne sert qu'à modifier, avec etudiants[] je récupère toutes les données de la base pour un etudiant que je met dans des input.
Comme le traitement je le fais sur la même page, je veux pouvoir garder d'afficher ce que j'ai modifier dans les input quand je valide.
Avec le code que tu as donné, ça ne marche pas cad que quand je valide, la valeur que j'ai mis dans le input disparaît.
J'espère que c'est assez clair cette fois-ci :)