[php-HTML] envoi formulaire vers BDD wamp
Résolumetra83 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
donc je dois faire un formulaire, et transmettre les données de ce formulaire vers une base de donnée, le tout sur wamp, le soucis étant que depuis le formulaire il doit être possible de retourner sur 2 autres formulaires et 2 autres pages html ... ça ok, mais je n'arrive pas a envoyer le contenu sur la base de donnée
actuellement j'ai ça :
un des 3 formulaires
<html> <head> <title>Formulaire bénévoles</title> </head> <body bgcolor='#90B0D0'> <form method='POST' action='validationdemande.php'> <table> <tr> <td><img src="logo1" /></td> <center> <td><h1>FORMULAIRE DE PROPOSITION D'AIDE<h3/></td> </tr> <tr> <td Valign=top> <br /><input type="submit" name="bouton1" value="Page d'accueil"> <br /><input type="submit" name="bouton2" value="Localisation"> <br /><input type="submit" name="bouton3" value="Demande d'aide"> <br /><input type="submit" name="bouton4" value="Proposition d'aide"> <br /><input type="submit" name="bouton5" value="Donations"> </td> <td Valign=top> <table> <tr> <td><h3>Nom :</td> <td><input type="text" name="nombenevole" value=""/></td> </tr> <tr> <td><h3>Prénom :</td> <th><input type="text" name="prenombenevole" value=""/></th> </tr> <tr> <td><h3>Adresse :</td> <td><input type="text" name="adressebenevole" value=""/></td> </tr> <tr> <td><h3>Téléphone :</td> <td><input type="text" name="télèphonebenevole" value=""/></td> </tr> <tr> <td><h3>E-mail :</td> <td><input type="text" name="e-mailbenevole" value=""/></td> </tr> <tr> <td><h3>Disponibilité :</td> <td> <table> <tr> <td><input type="checkbox" name="disponibilité1" value="lundi"> lundi</td> <td><input type="checkbox" name="disponibilité2" value="mardi"> mardi</td> </tr> <tr> <td><input type="checkbox" name="disponibilité3" value="mercredi"> mercredi</td> <td><input type="checkbox" name="disponibilité4" value="jeudi"> jeudi</td> </tr> <tr> <td><input type="checkbox" name="disponibilité5" value="vendredi"> vendredi</td> <td><input type="checkbox" name="disponibilité6" value="samedi"> samedi</td> </tr> </table> </table> <br/><br/> <input type="submit" name="bouton6" value="Envoyer"> </td> </tr> </table> </form> </body> </html>
avec tous les boutons, on atteint une page en php donc :
<?php
if(@ $_POST['bouton1']=="Page d'accueil")
{
header ("Location: http://localhost/progetgsi/page-acceuil.html");
}
?>
et donc le code est le meme pour les boutons 1 à 5, juste l'adresse qui change ;)
jusque là tout va a peu près bien (meme si j'ai été obligé de mettre le lien complet car sinon ça ne marchait pas non plus ! !
ensuite le code du bouton 6, il est idem, mais pour l'envoi du formulaire sur la base de donnée, rien ne veux fonctionner, je n'arrive a rien, tous les codes que j'ai pu tenter ne fonctionnent pas ! celui du bouton est ok, mais pas la suite
si un de vous a une idée, ça m'arrangerais bien !
je pourrais mettre le code que j'ai actuellement, mais entre nous il ne ressemble pas a grand chose !
12 réponses
Le problème central est l’envoi des données du formulaire bénévoles vers la base de données via PHP et MySQL, alors que les redirections des autres pages fonctionnent. Des éléments essentiels résident dans la gestion des disponibilités par cases à cocher et les variables POST dispo1 à dispo6, qu’il faut inclure ensuite dans l’insertion SQL. La solution consiste à récupérer les valeurs via $_POST et à les insérer avec une requête INSERT INTO table_benevole VALUES(...); le dernier champ doit être géré par une clé primaire AUTO_INCREMENT. En cas de test, il peut être utile de vérifier que les noms des champs coïncident et de tester la requête dans le gestionnaire SQL pour repérer les erreurs d’insertion.
-
Ben déjà ce serai bien de voir comment tu insère les données dans la base que je puisse te dire ou ça ne va pas
-
si t'es 5 1er bouton te servent de menu .. alr ils n'ont rien a faire ds le formulaire
de plus tu peux intégrer ton code js directement ds le bouton :
<input type="bouton" name="bouton1" value="Page d'accueil" onclick='javascript:window.location.href='page-accueil.html'" />
de plus un formulaire ne peut contenir qu'un seul input submit
( ou alr il faut passer par js pr verifier la valeur )-
ba en faite, pour les boutons submits .. il m'envoient tous sur la meme page, mais n'ont pas la meme valeur, et c'est cette valeur qui permet la redirection via une page php .. la mine de rien j'ai plusieurs heures de reflexion car je ne suis pas un expert en php, j'ai des 10aines et des 10aines de page blanches imprimées réécrites et griffonées pour en arriver a ça :D
je veux pas arreter a ce stade la, alors que je suis en ci bon chemin, enfin j'espère :D
-
-
vu que rien ne marchait, j'ai supprimé de colère :S
la j'en suis la, je suis reparti sur des bases "saines" enfin jespere
<html> <head> <title>new1</title> </head> <body> <?php $nom=$_POST['nombenevole']; $prenom=$_POST['prenombenevole']; $adresse=$_POST['adressebenevole']; $tel=$_POST['télèphonebenevole']; $email=$_POST['e-mailbenevole']; echo "<p>Nom : $nom</p>"; echo "<p>Prénom : $prenom</p>"; echo "<p>Adresse : $adresse</p>"; echo "<p>Téléphone : $tel</p>"; echo "<p>E-mail : $email</p>"; echo "<p>Vous avez étés enregistré en tant que bénévole </p>"; $db=mysql_connect ("localhost", "root", "") or die("Erreur de connexion à Mysql ".mysql_error); mysql_select_db("lerocher", $db) or die("Erreur de connexion à la base lerocher"); $sql="INSERT INTO benevole VALUES('$nom', '$prenom', '$adresse', '$tel', '$email', '', '', '', '', '', '', '') ?> </body> </html>
parmis les 7 "" il y en a 6 pour disponibilité 1 à 6 des jours de la semaine (qu'il faut que j'ajoute dans les cariables plus haut, et le dernier pour un numero autoincrémenté (je crois que c'est comme ça qu'on dit)-
où est le probleme et que veux tu faire ?
PS :$sql="INSERT INTO benevole VALUES('$nom', '$prenom', '$adresse', '$tel', '$email', '', '', '', '', '', '', '')il manque des caracteres ^^
il faut marquer :$sql="INSERT INTO benevole VALUES('$nom', '$prenom', '$adresse', '$tel', '$email', '', '', '', '', '', '', '')";- Oui mais ton systeme de bouton est vraiment tordu, faut vraiment eviter plusieurs submit dans un même formulaire, en fait je ne comprend pas vraiment l'interet de faire une redirection php pour chacuns de tes boutons.... Pourquoi pas simplement des liens ?
Concernant ton probleme de requete y a t'il une erreur ? Ou juste il n'insere rien - en faite c'est pour un proget scolaire, donc je dois faire avec ce qui est au programme, et utiliser des boutons c'est mieu que des liens hypertextes, et comme je suis le seul a avoir trouver comment faire de toute la classe, je compte bien garder l'avantage si possible :)
alors précédement, je n'arrivais pas a inserer, ça me mettait au mieu une page blanche, la avec le new code, je sais pas je suis en train d'essayer ;) - oublie ton systeme tordu ^^ tu encombre le serveur pr rien ^^
insere du javascript ds tes boutons comme je te l'ai montré tt a l'h ^^
ensuite concatènes ^^ c'est tjs préférable :)$sql="INSERT INTO benevole VALUES('".$nom."', '".$prenom."', '".$adresse."', '".$tel."', '".$email."', '', '', '', '', '', '', '')";
-
-
le truc c'est que c'est pour mon proget de bac, et que le javascript je ne l'ai jamais étudié car il n'est pas au programme .. je n'ai strictement aucune idée de comment il peut marcher ... je prefere faire avec ce que je connais ...
-
je comprends ^^ ( meme si c'est debile de devoir se torturer l'esprit alr qu'il y a vachement simple ^^ )
bn et sinon .. pr la concaténation ca donne quoi ?- en fait en php tu ne peux pas ecrire : echo "plop$variable";
car ton plop est de type text ^^ tu peux sois faire echo "plop $variable";
( cAd laisser un espace ^^ ) mais alrs un espace sera affiché ( logique Oo lol )
dc si tu veux absolument coller ta variable a ton texte tu toi concaténer :
echo "plop".$variable;
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
a ok, je vois, mais dans mon cas, je ne sais pas si c'est vraiment utile, ou alors j'ai manquer quelque chose en route (pas impossible)
j'en suis la, je vais changer mes titres et tenter en esperant que je me soit pas planter en route ^^
<html> <head> <title>new1</title> </head> <body> <?php $nom=$_POST['nombenevole']; $prenom=$_POST['prenombenevole']; $adresse=$_POST['adressebenevole']; $tel=$_POST['télèphonebenevole']; $email=$_POST['e-mailbenevole']; $dispo1=$_POST['disponibilite1']; $dispo2=$_POST['disponibilite2']; $dispo3=$_POST['disponibilite3']; $dispo4=$_POST['disponibilite4']; $dispo5=$_POST['disponibilite5']; $dispo6=$_POST['disponibilite6']; echo "<p>Nom : $nom</p>"; echo "<p>Prénom : $prenom</p>"; echo "<p>Adresse : $adresse</p>"; echo "<p>Téléphone : $tel</p>"; echo "<p>E-mail : $email</p>"; echo "<p>Vous avez étés enregistré en tant que bénévole </p>"; $db=mysql_connect ("localhost", "root", "") or die("Erreur de connexion à Mysql ".mysql_error); mysql_select_db("lerocher", $db) or die("Erreur de connexion à la base lerocher"); $sql="INSERT INTO table_benevole VALUES('$nom', '$prenom', '$adresse', '$tel', '$email', '$dispo1', '$dispo2', '$dispo3', '$dispo4', '$dispo5', '$dispo6', '')"; ?> </body> </html> -
bon ba ça marche toujours pas ... tester la requete directement dans la DB ? comment faire vu que les champs sont rentrés depuis le formulaire ?
la ça me met page blanche, comme si rien ne marchait .. pas d'erreur ni quoi ... -
ouai, je tente ça alors, je dis ça le temps de le faire ;)
-
alors ça marche, mais grace a toi j'ai trouver mon soucis ...
mon formulaire est fait de façon a ce que les jours de disponibilité se cochent (j'y tiens) et il faut que le fait de cocher une case assossi oui ou non (ou autre chose) et que le dernier champs apporte un chiffre donné automatiquement egal au précédent (c'est la clé primaire) ...
et je pense qu'après ça ça devrait etre bon
le code actuel :
<html> <head> <title>insertion_benevole</title> </head> <body> <?php $nom=$_POST['nombenevole']; $prenom=$_POST['prenombenevole']; $adresse=$_POST['adressebenevole']; $tel=$_POST['télèphonebenevole']; $email=$_POST['e-mailbenevole']; $dispo1=$_POST['disponibilite1']; $dispo2=$_POST['disponibilite2']; $dispo3=$_POST['disponibilite3']; $dispo4=$_POST['disponibilite4']; $dispo5=$_POST['disponibilite5']; $dispo6=$_POST['disponibilite6']; echo "<p>Nom : $nom</p>"; echo "<p>Prénom : $prenom</p>"; echo "<p>Adresse : $adresse</p>"; echo "<p>Téléphone : $tel</p>"; echo "<p>E-mail : $email</p>"; echo "<p>Vous avez étés enregistré en tant que bénévole </p>"; $db=mysql_connect ("localhost", "root", "") or die("Erreur de connexion à Mysql ".mysql_error); mysql_select_db("lerocher", $db) or die("Erreur de connexion à la base lerocher"); $sql="INSERT INTO table_benevole VALUES('$nom', '$prenom', '$adresse', '$tel', '$email', '$dispo1', '$dispo2', '$dispo3', '$dispo4', '$dispo5', '$dispo6', '')"; mysql_close() ?> </body> </html> -
alors ça semblait avoir marcher, j'ai bien eu le bon message qui est apparu ... mais vierge !
le code :
<html> <head> <title>Formulaire bénévoles</title> </head> <body bgcolor='#90B0D0'> <form method='POST' action='validationdemande.php'> <table> <tr> <td><img src="logo1" /></td> <center> <td><h1>FORMULAIRE DE PROPOSITION D'AIDE<h3/></td> </tr> <tr> <td Valign=top> <br /><input type="submit" name="bouton1" value="Page d'accueil" style="width:150px"> <br /><input type="submit" name="bouton2" value="Localisation" style="width:150px"> <br /><input type="submit" name="bouton3" value="Demande d'aide" style="width:150px"> <br /><input type="submit" name="bouton4" value="Proposition d'aide" style="width:150px"> <br /><input type="submit" name="bouton5" value="Donations" style="width:150px"> </td> <td Valign=top> <table> <tr> <td><h3>Nom :</td> <td><input type="text" name="nombenevole" value=""/></td> </tr> <tr> <td><h3>Prénom :</td> <th><input type="text" name="prenombenevole" value=""/></th> </tr> <tr> <td><h3>Adresse :</td> <td><input type="text" name="adressebenevole" value=""/></td> </tr> <tr> <td><h3>Téléphone :</td> <td><input type="text" name="télèphonebenevole" value=""/></td> </tr> <tr> <td><h3>E-mail :</td> <td><input type="text" name="e-mailbenevole" value=""/></td> </tr> <tr> <td><h3>Disponibilité :</td> <td> <table> <tr> <td><input type="checkbox" name="disponibilite1" value="oui"> lundi</td> <td><input type="checkbox" name="disponibilite2" value="oui"> mardi</td> </tr> <tr> <td><input type="checkbox" name="disponibilite3" value="oui"> mercredi</td> <td><input type="checkbox" name="disponibilite4" value="oui"> jeudi</td> </tr> <tr> <td><input type="checkbox" name="disponibilite5" value="oui"> vendredi</td> <td><input type="checkbox" name="disponibilite6" value="oui"> samedi</td> </tr> </table> </tr> </table> <br/><br/> <input type="submit" name="bouton6" value="Envoyer"> </td> </tr> </table> </form> </body> </html>
et ce qui est affiché en réponse :
Nom : Prénom : Adresse : Téléphone : E-mail : Vous avez étés enregistré en tant que bénévole
alors que j'aurais du avoir les valeurs rentrées a la places des blancs après les ":"
et il n'y a rien dans la base de donnée ...-
-
moi j'ai :
<?php if(@ $_POST['bouton1']=="Page d'accueil") { header ("Location: http://localhost/progetgsi/page-acceuil.html"); } if(@ $_POST['bouton2']=="Localisation") { header ("Location: http://localhost/progetgsi/page-acceuil.html"); } if(@ $_POST['bouton3']=="Demande d'aide") { header ("Location: http://localhost/progetgsi/page_eleves.html"); } if(@ $_POST['bouton4']=="Proposition d'aide") { header ("Location: http://localhost/progetgsi/page_benevoles.html"); } if(@ $_POST['bouton5']=="Donations") { header ("Location: http://localhost/progetgsi/page-dons.html"); } if(@ $_POST['bouton6']=="Envoyer") { header ("Location: http://localhost/progetgsi/insertion_benevole"); } ?>
le fichier insertion bénévole étant celui donné au dessus ;)
tu en a de la chance, moi je reçois rien du tout ^^ -
-
-
-
-
genre comme ça :
$nombenevole=$_POST['nombenevole']; $prenombenevole=$_POST['prenombenevole']; $adressebenevole=$_POST['adressebenevole']; $telephonebenevole=$_POST['telephonebenevole']; $e-mailbenevole=$_POST['e-mailbenevole']; $disponibilite1=$_POST['disponibilite1']; $disponibilite2=$_POST['disponibilite2']; $disponibilite3=$_POST['disponibilite3']; $disponibilite4=$_POST['disponibilite4']; $disponibilite5=$_POST['disponibilite5']; $disponibilite6=$_POST['disponibilite6'];
??-
genre :
<?php if(@ $_POST['bouton1']=="Page d'accueil"){ header ("Location: http://localhost/progetgsi/page-acceuil.html");} if(@ $_POST['bouton2']=="Localisation"){ header ("Location: http://localhost/progetgsi/page-acceuil.html");} if(@ $_POST['bouton3']=="Demande d'aide"){ header ("Location: http://localhost/progetgsi/page_eleves.html");} if(@ $_POST['bouton4']=="Proposition d'aide"){ header ("Location: http://localhost/progetgsi/page_benevoles.html");} if(@ $_POST['bouton5']=="Donations"){ header ("Location: http://localhost/progetgsi/page-dons.html");} if(@ $_POST['bouton6']=="Envoyer"){ ?> <html> <head> <title>insertion_benevole</title> </head> <body> <?php $nom=$_POST['nombenevole']; $prenom=$_POST['prenombenevole']; $adresse=$_POST['adressebenevole']; $tel=$_POST['télèphonebenevole']; $email=$_POST['e-mailbenevole']; $dispo1=$_POST['disponibilite1']; $dispo2=$_POST['disponibilite2']; $dispo3=$_POST['disponibilite3']; $dispo4=$_POST['disponibilite4']; $dispo5=$_POST['disponibilite5']; $dispo6=$_POST['disponibilite6']; echo "<p>Nom : $nom</p>"; echo "<p>Prénom : $prenom</p>"; echo "<p>Adresse : $adresse</p>"; echo "<p>Téléphone : $tel</p>"; echo "<p>E-mail : $email</p>"; echo "<p>Vous avez étés enregistré en tant que bénévole </p>"; $db=mysql_connect ("localhost", "root", "") or die("Erreur de connexion à Mysql ".mysql_error); mysql_select_db("lerocher", $db) or die("Erreur de connexion à la base lerocher"); $sql="INSERT INTO table_benevole VALUES('$nom', '$prenom', '$adresse', '$tel', '$email', '$dispo1', '$dispo2', '$dispo3', '$dispo4', '$dispo5', '$dispo6', '')"; mysql_close() ?> </body> </html> <?php } ?>
-
-
a ouai, bien ça ... et du coup, après je peut mettre bouton 7 qui correspond a un autre formulaire avec le meme code ?
t'es vraiment génial, y a pas d'autres mots !
tu me sauve la vie :)
je vais voir si ça marche comme ça, et si ça marche avec le non :)-
- alors, j'ai un peu galerer avec le code, finalement fallait le rentrer sans les balises html ni php ni rien, juste le contenu en faite
Nom : azerty Prénom : azerty Adresse : azerty Téléphone : E-mail : azerty@live.fr Vous avez été enregistré en tant que bénévole
mais le soucis c'est que ça a pas envoyer les données sur la bdd ... - je suis au moins aussi con que toi, parce que moi j'avais ça dans les notes prises au fur et a mesure des tatonnements ... j'AURAIS du y penser ... si on envoi pas les données a la bdd elle peut pas les recevoir, c'est nikel elle les as reçues ;) (et en plus j'avais pas recopier ton code, juste comparer avec ;) )
merci ! ça a marcher, je vérifi donc sans cocher ce que ça fait ^^
-
-
bon et bien dans ce cas la ça ne met rien .. ça reste un champs vierge, ce n'est pas ce que j'attendais, mais c'est pas grave, c'est pas plus mal, pour une requête pour oui ça change rien, et pour non au lieu de rechercher "non" je recherche "" ... MERCI !
main tenant je fais ça pour tous mes formulaires, et ensuite reste a faire la fonction mail sans passer par outlock (donc sans la fonction mailto: ... et la je sèche grave ^^