Bonjour à tous ,
ayant un niveau zéro en php (j'attaque les cours et tutoriels), j'avais mis au point un fichier php pour rediriger l'utilisateur vers une page en fonction de la valeur qu'il entre dans le formulaire:
(voir plus bas si cela peut servir à quelqu'un)
Ce que je voudrais faire et que le code ne fait pas, serait de ne pas renvoyer vers une page d'erreur en cas de mauvaise saisie mais d'afficher un message d'erreur à coté du formulaire. Un peu comme les message d'erreur chez yahoo ou autre lorsqu'on se trompe de mot de passe pour consulter ses mails. Avec la fonction echo on renvoit un texte mais dans une nouvelle page. Je ne sais pas comment mettre la texte d'erreur à coté du formulaire . J'ai cherché sur les forums et les tutos de php mais j'en ressort plus embrouillé qu'autre chose.
Merci d'avance
EDIT: Je sais pas si c'est vrai mais je viens de lire qu'il faut faire un javascript sinon c'est obigatoirement un chagement de page qui a lieu. C'est vrai? Enfin je suis pas plus avancé
Extrait de la page Html:
Fichier php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <form method="post" action="redirection.php"> Ville: <input type="text" name="ville"> <input type="submit" value="Envoyer"> </form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php //ici tu récupères la valeur saisie $saisie = htmlspecialchars($_POST['ville']); $saisie = ucwords(strtolower($saisie)); // met tout en minuscules et la première lettre en majuscule Aaaaa $villes_array = array('Paris','Lyon','Aix-en-provence','Angers','Bordeaux','Clermont-ferrand','Dijon','Grenoble','Lehavre','Lemans','Lille','Marseille','Nice','Nimes','Reims','Rennes','Toulouse','Brest','Nantes','Strasbourg','Saintetienne, Valence');// Les marques s걡r꦳ par , et mis entre '', de la forme 'Marque' $redirection = urlencode("erreur.htm"); if(in_array($saisie, $villes_array)) { $redirection = "http://".strtolower($saisie).".site.fr"; } header('Location: '.$redirection); exit(); ?>
Partager