CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Traitement de formulaire en PHP (v2)

petit_poney_gay
petit_poney_gay
Niveau 10
08 décembre 2014 à 19:01:45

Rebonjour :hap:
Deja j'ai refais le topic car j'ai envoyé mon texte sans meme l'avoir fini (TAB :noel: ) Et en voulant l'editer j'ai du taper la suite mais comme il resté encore beaucoup de pavé en voulant le valider j'ai eu un "Le temps est dépasser " et l'icone d'edition a disparu en voulant la rééditer et en supprimant "Vous n'etes pas autorisé à le supprimé" Donc le modo si vous arrivez :hap:

Et maintenant mon probleme en esperant que c'est la bonne

Alors tout d'abord
arche.univ-lorraine.fr/course/view.php?id=5932
Autres utilisateurs :d) Connexion Annonyme :d) Mot de passe: web :d) exo 6 (C'est pour essayé la fonction spoil :hap: )
Dans l'exo 5 j'ai fais ce qui est demandé (en faite c'est surtout un exo pour nous faire utilisé les boucles et autres connerie du genre)

Donc sa donne http://pastebin.com/Ewqd7fHT + http://pastebin.com/HcNbebyH

Bref dans le 6 j'ai modifié l'action (#) comme decrit dans l'enoncé
Mon soucis est la
Lors du premier chargement, le programme doit uniquement afficher le formulaire ; aucun test ne doit être réalisé
et aucun message d’erreur ne doit être retourné à l’utilisateur.
Lorsque l’utilisateur valide le formulaire, il faut tester que les champs sont bien remplis (mêmes contraintes que
dans l’exercice précédent). Si tout est bien rempli, afficher uniquement « Formulaire bien rempli »

Je ne comprend pas comment faire. Ce que j'avais c'etait un truc du genre

Prénom :
<input type="text" name="prenom" value="<?php echo '$prenom' ?> />
<?php
if(isset($_POST['prenom']));
$prenom = $_POST['prenom'];
$prenom = true;
?>

J'ai fais ce qui est dans le spoil pour toute les saisies en changeant les variables
Et donc a la fin je me suis donc de faire une condition : if ($prenom == true) && ($nom == true).... echo "Formulaire rempli"

Et c'est la que sa foire
déjà Ecstasy php me dit qu'il y'a une erreur a niveau des booléens ( j'ai pas le droit de mettre des && )
et
sinon ré-afficher le formulaire (avec les champs déjà remplis) ainsi que ce qui est incorrect. Lister uniquement les champs à corriger

D’après mon cour (value="<?php echo '$prenom' ?>) permet de remplir ce champ si y'a une erreur dans le formulaire (sa evite au mec de tout retaper)
J'ai fais sa et quand je lance la page mon champ est déjà rempli avec un tout moche ".$prenom"
Et bien même en écrivant un truc dedans et en validant le texte ne reste pas et met a la place le ".$prenom"

Bref je ne vois pas et d’après mon prof il n'y a que peu de changement a faire / rajouter dans le fichier formulaireetverification.php (qui etait donc au depart http://pastebin.com/Ewqd7fHT )

Je vous remercie d'avance du temps que vous allez m'accordé

controleville
controleville
Niveau 10
08 décembre 2014 à 21:05:15

A mon avis le problème c'est cette ligne :
<input type="text" name="prenom" value="<?php echo '$prenom' ?> />

J'utiliserais plutôt ceci :
<input type="text" name="prenom" value="<?php echo $prenom ?>" />
ou ceci :
<input type="text" name="prenom" value="<?php echo($prenom); ?>" />

petit_poney_gay
petit_poney_gay
Niveau 10
08 décembre 2014 à 22:43:33

J'ai essayé tes 2 methodes mais rien
Ce que j'ai fais

Prénom : 
<input type="text" name="prenom" value="<?php echo $prenom ?>" />
 <?php 
         if(isset($_POST['prenom']));
                $prenom = $_POST['prenom'];
                $prenom = true;
 ?> 

J'ai dans mon input <br /><b>Notice</b>: Undefined variable: prenom in <b>C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\Formulaire.php</b> on line <b>23</b><br />
et en dessous Notice: Undefined index: prenom in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\Formulaire.php on line 26

Vous avez deja surment fais sa, vous pourriez me dire si au moins je dois faire ce que j'ai fais dans le code si dessus et aussi si je dois bien faire un ""si $variable == true alors afficher "c'est ok" ""

Je vois vraiment pas comment faire pour que ma variable reste après une erreur saisie et afficher quel sont les erreurs, je bloque vraiment ( Le php dans du html m'embrouille beaucoup)

Et aussi je ne veux pas de solution en un autre language car j'ai pas appris

Ah et juste au cas ou, c'est easy php et non Ecstasy php :hap:

Message édité le 08 décembre 2014 à 22:45:57 par petit_poney_gay
controleville
controleville
Niveau 10
09 décembre 2014 à 08:25:55

Oui il faut définir une valeur par défaut pour $prenom (pour le premier chargement de la page par exemple).
Donc tu mets en début de fichier :
$prenom = '';

Puis je ne comprend pas bien pourquoi tu modifies 2 fois $prenom ici :
$prenom = $_POST['prenom']; $prenom = true;

De plus ton bloc :
<?php if(isset($_POST['prenom'])) { $prenom = $_POST['prenom']; } ?>
Il faut le mettre avant la balise input prenom.

petit_poney_gay
petit_poney_gay
Niveau 10
10 décembre 2014 à 13:47:34

Désoler pour le temps de reponse

Alors pour la zone pre remplis c'est bon sa marche
En faite je modifie 2 fois la variable

  1. La premiere sert juste pour enlever le $_POST (sa me permet de mieux voir)
  2. Comme je l'ai dis c'est pour qu'elle soit vrai si la variable existe (car $_POST est un test d'existence)

Ensuite car dans l'exo on me dit si tout est rempli j'affiche 'Formulaire complet" vu que l'exi me dis pas de faire des verification (donc que le prenom contient que des lettres par exemple)
Donc j'en conclu que si toute les variables sont vrai alors j'affiche "formulaire ok"

Petite question
Vous êtes : <input type="radio" name="sexe" value="f"/> une femme <input type="radio" name="sexe" value="h"/> un homme <br />
Comment je fais pour pre-remplir vu que c'est un input de type radio je veux dire la la valeur me sert pour savoir ce que le mec a choisi lors de sa saisie mais comment faire pour que la valeur reste si le formulaire contient une erreur. J'ai essayé le php comme les input text mais sa fait rien :-(

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment