A voir également:
- Notice: Undefined index: pass in C:\wamp\www\modele01\inscriptio
- Notice d'utilisation - Guide
- Notice chromecast - Guide
- Montre louis pion camille notice - Forum Accessoires & objets connectés
- Télécommande universelle grundig 8 en 1 notice en francais - Forum Téléviseurs
- Notice radio réveil hoe siplec ✓ - Forum Audio
1 réponse
Utilisateur anonyme
12 mai 2017 à 07:59
12 mai 2017 à 07:59
Bonjour
D'abord, ta balise <html> devrait être avant la balise <head>, mais ça n'est pas ça qui provoque ton erreur.
Il ne faut pas croire que ton script, après avoir affiché le formulaire, attend qu'il soit rempli et que l'utilisateur clique sur "envoyer" pour passer à la suite.
Non, le script continue jusqu'à la fin. Et comme l'utilisateur ne l'a pas encore rempli, $_POST['pass'] n'est pas encore défini, ce que te dit ton message d'erreur.
C'est seulement quand l'utilisateur cliquera sur "envoyer" que ton script sera à nouveau appelé, et s'exécutera à nouveau depuis le début. C'est ce que signifie le action="" dans ta balise form.
Il ne faut donc exécuter la partie du php qui traite le formulaire que si le formulaire a été envoyé. En général, on teste l'existence d'un des champs du formulaire pour ça, par exemple :
Normalement, on met ce traitement php AVANT l'envoi du formulaire. Comme ça, si le formulaire est bien rempli, on peut rediriger vers une autre page avant d'avoir renvoyé le formulaire.
Tu peux aussi faire le traitement dans un autre fichier (il faut alors changer : action="autre fichier.php").
D'abord, ta balise <html> devrait être avant la balise <head>, mais ça n'est pas ça qui provoque ton erreur.
Il ne faut pas croire que ton script, après avoir affiché le formulaire, attend qu'il soit rempli et que l'utilisateur clique sur "envoyer" pour passer à la suite.
Non, le script continue jusqu'à la fin. Et comme l'utilisateur ne l'a pas encore rempli, $_POST['pass'] n'est pas encore défini, ce que te dit ton message d'erreur.
C'est seulement quand l'utilisateur cliquera sur "envoyer" que ton script sera à nouveau appelé, et s'exécutera à nouveau depuis le début. C'est ce que signifie le action="" dans ta balise form.
Il ne faut donc exécuter la partie du php qui traite le formulaire que si le formulaire a été envoyé. En général, on teste l'existence d'un des champs du formulaire pour ça, par exemple :
if (isset($_POST['envoyer'])) { try ... ... }
Normalement, on met ce traitement php AVANT l'envoi du formulaire. Comme ça, si le formulaire est bien rempli, on peut rediriger vers une autre page avant d'avoir renvoyé le formulaire.
Tu peux aussi faire le traitement dans un autre fichier (il faut alors changer : action="autre fichier.php").