Formulaire de modification

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire de modification

Re: Formulaire de modification

par NUAGE » 17 juin 2013, 16:57

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 :)

Re: Formulaire de modification

par yann18 » 17 juin 2013, 16:49

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

par NUAGE » 17 juin 2013, 13:06

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

par yann18 » 17 juin 2013, 12:38

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

par sirakawa » 17 juin 2013, 12:35

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" />

Formulaire de modification

par NUAGE » 17 juin 2013, 11:51

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.