[PHP-JS] 1ere page = verif , deux = traiter le cas sur la base de donnée
Bonjour , je vous explique mon pb.
J'aimerai créer un formulaire en php:
_ sur la 1ère page du formulaire , des champs de demande d'un url, d'un titre et d'un nombre de mot clé
Quand on appuie sur le bouton submit , il vérifie si tous les champs ont bien été rempli , si c ok il va sur la "2ème page du formulaire" , et si c pas ok il réaffiche le formulaire avec les informations précédemment choisie et écrit en rouge a coté de chaque information pas remplis qu'elle n'a pas été rempli
_sur la 2ème page , il récupère ces informations et les envoies dans la base de donnée
J'ai aucun problème en tout ce qui concerne l'ouverture et l'écriture sur la base de donnée.
Mon problème est plutôt basé sur "la vérification des données" , puis sur le passage vers la 2ème page.
En effet , quand on utilise la méthode post :
_soit quand on fait un post il va vers la 2ème page directement donc je ne peut pas vérifié.
_soit on fait un post vers la 1ère page elle même , pour vérifier les donnée , et éventuellement la réafficher. mais si tt est ok , on peut pas aller directement vers la 2ème page
Voila le code de la 1ère page (sans aucune vérification)
Code:
1 2 3 4 5 6 7 8 9 10
| <html>
<body>
<form action="ajouterDocument.php" method="post">
Titre du site<input type="text" name="info[titre]"></br>
url du site<input type="text" name="info[url]"></br>
mot clé du site<input type="text" name="info[motcle]"></br>
<input type="submit" name="Ok">
</form>
</body>
</html> |
le code de la 2ème page est du type (je ne détaille pas tout ce qui relève de la connexion à la base de donnée , écriture .. etc, car ya aucun pb sur ça)
Code:
1 2 3 4 5 6 7 8
| <? php
$titre = $_POST['info']['titre'];
$url = $_POST['info']['url'];
// Connexion à la base de donnée
//Ecriture , modif ... ect sur la base de donnée
// Fermeture de la base de donnée
?> |
Si quelqu'un aurait quelque solution
_ il y en aurait une en Java script , mais je préfèrerait en php
_ il y a la solution de tout mettre dans une seule page , mais c'est un exercice de cour relevé , où ils exigent de séparer en 2 pages.
Autre technique préférable
Ben j'ai essayé avec rien dedans et ça bug, vu k'ils rajoutent des pubs dans mon code , jpense que c'est normal. Conclusion la redirection complique et engendre trop de problème , donc je v plutot tout mettre dans une seule page , et si jamé ça leurs convients pas , soit :
_ pas de vérification
_ utilisation du javascript (mais ça j'y connait pas grand chose , et je trouve moin efficace , et ça peut poser des problèmes pour ceux qui n'ont pas de javascript installé ou fonctionnel)
merçi quand même
Ou alors si kan tout est vérifié sur la première page , j'affiche un récapitulatif de la page , avec un post qui dirige vers la 2ème page (qui envoie les donnée à la base ) et un seul bouton submit avec du genre "confirmer les informations
Voici les 2 codes (en y mettant , sans détaillé , juste pour traiter le pb)
Code de la premère page (saisie.php) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <html>
<body>
if( //tout est ok)
{
<form action="ajouterDocument.php" method="post">
echo "votre titre est :";
echo $_POST['info']['titre'];
//etc pour tte les infos
<input type="submit" name="Valider">
}
else
{
//Je ne détaille pas les vérification et les réafichage , je montre
//juste le code nécessaire
<form action="saisie.php" method="post">
Titre du site<input type="text" name="info[titre]"></br>
url du site<input type="text" name="info[url]"></br>
mot clé du site<input type="text" name="info[motcle]"></br>
<input type="submit" name="Ok">
}
</form>
</body>
</html> |
Code de la 2ème page (ajouterDocument.php):
Code:
1 2 3 4 5 6 7 8
| <? php
$titre = $_POST['info']['titre'];
$url = $_POST['info']['url'];
// Connexion à la base de donnée
//Ecriture , modif ... ect sur la base de donnée
// Fermeture de la base de donnée
?> |
Mais es ce que cela fonctionne ? vu que j'accede à la page avec le 2ème post , qui n'a aucun input. Les infos du premier post sont elles récupérés ?? Ou alors dois je obligatoirement passé par une autre méthode pour aller à la 2ème page (variable de saision ???)