Mysql, php, html FORMULAIRE
Babriehead
Messages postés
63
Date d'inscription
Statut
Membre
Dernière intervention
-
Babriehead Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
Babriehead Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
Bonjour, débutant en php et sql je test quelque petite chose et j'aimerais comprendre le problème de """""""(gros gros guillemet)mon"""""""""" code
Je voudrais, grace a un formulaire (html) récupérer les données insérer par l'utilisateur (php) dans une base de donnée sous mySql.
Mon problème est que le formulaire une fois valider renvoie sur la page qui traite le formulaire (donc page blanche), aucun message d'erreur sauf que dans mysql, dans ma table,//// SELECT * FROM `eleve`////// N'affiche rien, si quelqu'un pouvais me donner 1/2 conseils et m'aider a trouver le problème.
phpsqlform.php
<?php
global $host, $db,$id, $prenom ,$nom, $sexe, $dateNaiss, $adresse, $telP, $telF, $mail, $lycee, $permisE, $dispo; // Si c'est dans une fonction
$bdd = new PDO('mysql:localhost='.$host.'dbname='.$db);
$req = $bdd->prepare('INSERT INTO eleve(id, prenom, nom, sexe, dateNaiss, adresse, telP, telF, mail, lycee,permisE, dispo) VALUES(:id, :prenom, :nom, :sexe, :dateNaiss, :adresse, :telP, :telF, :mail, :lycee, :permisE, :dispo)');
$req->execute(array(
'id' => $id,
'prenom' => $prenom,
'nom' => $nom,
'sexe' => $sexe,
'dateNaiss' => $dateNaiss,
'adresse' => $adresse,
'telP' => $telP,
'telF' => $telF,
'mail' => $mail,
'lycee' => $lycee,
'permisE' => $permisE,
'dispo' => $dispo,
));
?>
Inscription.php
<html>
<body>
<form action="phpsqlform.php" method="post">
Numéro : <input type="text" name="id"><br>
Prénom : <input type="text" name="prenom"><br>
Nom : <input type="text" name="nom"><br>
Sexe : <input type="text" name="sexe"><br>
Date de naissance : <input type="date" name="dateNaiss"><br>
Adresse : <input type="text" name="adresse"><br>
Téléphonne Portable 1 : <input type="number" name="telP"><br>
Téléphonne Portable 2 : <input type="text" name="telF"><br>
Email : <input type="text" name="mail"><br>
Lycée (si vous êtes lycéen) : <input type="text" name="lycee"><br>
Permis voulus : <input type="checkbox" name="permisE" value ="AAC">Conduite accompagné<br>
<input type="checkbox" name="permisE" value ="supervise">Conduite supervisé<br>
Dispo : <input type="text" name="dispo"><br>
<input type="submit" name="bt" value="valider"><br>
</form>
</body>
</html>
Je suis débutant, merci beaucoup.
Je voudrais, grace a un formulaire (html) récupérer les données insérer par l'utilisateur (php) dans une base de donnée sous mySql.
Mon problème est que le formulaire une fois valider renvoie sur la page qui traite le formulaire (donc page blanche), aucun message d'erreur sauf que dans mysql, dans ma table,//// SELECT * FROM `eleve`////// N'affiche rien, si quelqu'un pouvais me donner 1/2 conseils et m'aider a trouver le problème.
phpsqlform.php
<?php
global $host, $db,$id, $prenom ,$nom, $sexe, $dateNaiss, $adresse, $telP, $telF, $mail, $lycee, $permisE, $dispo; // Si c'est dans une fonction
$bdd = new PDO('mysql:localhost='.$host.'dbname='.$db);
$req = $bdd->prepare('INSERT INTO eleve(id, prenom, nom, sexe, dateNaiss, adresse, telP, telF, mail, lycee,permisE, dispo) VALUES(:id, :prenom, :nom, :sexe, :dateNaiss, :adresse, :telP, :telF, :mail, :lycee, :permisE, :dispo)');
$req->execute(array(
'id' => $id,
'prenom' => $prenom,
'nom' => $nom,
'sexe' => $sexe,
'dateNaiss' => $dateNaiss,
'adresse' => $adresse,
'telP' => $telP,
'telF' => $telF,
'mail' => $mail,
'lycee' => $lycee,
'permisE' => $permisE,
'dispo' => $dispo,
));
?>
Inscription.php
<html>
<body>
<form action="phpsqlform.php" method="post">
Numéro : <input type="text" name="id"><br>
Prénom : <input type="text" name="prenom"><br>
Nom : <input type="text" name="nom"><br>
Sexe : <input type="text" name="sexe"><br>
Date de naissance : <input type="date" name="dateNaiss"><br>
Adresse : <input type="text" name="adresse"><br>
Téléphonne Portable 1 : <input type="number" name="telP"><br>
Téléphonne Portable 2 : <input type="text" name="telF"><br>
Email : <input type="text" name="mail"><br>
Lycée (si vous êtes lycéen) : <input type="text" name="lycee"><br>
Permis voulus : <input type="checkbox" name="permisE" value ="AAC">Conduite accompagné<br>
<input type="checkbox" name="permisE" value ="supervise">Conduite supervisé<br>
Dispo : <input type="text" name="dispo"><br>
<input type="submit" name="bt" value="valider"><br>
</form>
</body>
</html>
Je suis débutant, merci beaucoup.
A voir également:
- Mysql, php, html FORMULAIRE
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Editeur html - Télécharger - HTML
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
2 réponses
Bonjour,
Il vous manque la récupération des données de votre formulaire.
Sachant que votre formulaire est en POST vous devez récupérer les données de cette manière.
Ça permet de récupérer les données du formulaire qui ont pour nom "id" et "prenom".
une fois récupérer ça pourra les mettre dans votre base
Il vous manque la récupération des données de votre formulaire.
Sachant que votre formulaire est en POST vous devez récupérer les données de cette manière.
$id=$_POST['id']
$prenom=$_POST['prenom']
Ça permet de récupérer les données du formulaire qui ont pour nom "id" et "prenom".
une fois récupérer ça pourra les mettre dans votre base
Pas de message d'erreur sur la première partie de code?
Bien sur quand je vous met du code il faut l'adapter. Si vous mettez par exemple:
dbname='nom_de_la_bdd'
Ça ne peut pas marcher
Pouvez-vous m'envoyer vos fichier de votre site? ( en privée par exemple grace a http://cjoint.com)
Bien sur quand je vous met du code il faut l'adapter. Si vous mettez par exemple:
dbname='nom_de_la_bdd'
Ça ne peut pas marcher
Pouvez-vous m'envoyer vos fichier de votre site? ( en privée par exemple grace a http://cjoint.com)
https://www.cjoint.com/c/FFnmKA3v5kq
https://www.cjoint.com/c/FFnmLnteMHq
Voila, désolé pour l'attente
https://www.cjoint.com/c/FFnmLnteMHq
Voila, désolé pour l'attente
C'est juste que vous vous connectez a une base de données vide. ( C'est d’ailleurs bien ce qui me semblait en voyant votre fichier mais je voulais être sur)
Certes l'idée de connexion est bonne et la syntaxe correct ( a 2 paramètre près ) Cependant vous devez indique les chemin de votre base de données
essayer avec ce code de connexion
Remplacer eleve par le nom de votre bdd dans phpmyadmin
Certes l'idée de connexion est bonne et la syntaxe correct ( a 2 paramètre près ) Cependant vous devez indique les chemin de votre base de données
essayer avec ce code de connexion
$bdd = new PDO('mysql:localhost=localhost;dbname=eleve';'admin';'root');
Remplacer eleve par le nom de votre bdd dans phpmyadmin
Je vais essayer cela, merci beaucoup
Voici comment vous pouvez reprendre votre code.
PS : if (isset($_POST['id'])){ , je ne comprend pas l'utilité de ceci, concrètement c'est juste pour vérifier que le formulaire a bien été remplis au quel cas la "fonction" continus et sinon s'arrête ?
'id' => string '2' (length=1)
'prenom' => string '***' (length=3)
'nom' => string '***' (length=9)
'sexe' => string '**' (length=1)
'dateNaiss' => string '***' (length=10)
'adresse' => string '***' (length=17)
'telP' => string '***' (length=10)
'telF' => string '**' (length=10)
'mail' => string '***' (length=22)
'lycee' => string '***' (length=7)
'permisE' => string '***' (length=3)
'dispo' => string 'tout les jours' (length=14)
'bt' => string 'valider' (length=7)
J'ai l'impression que tout fonctionne correctement, les données sont bien envoyé dans le script mais depuis mySql, SELECT * FROM eleve ne renvois toujours rien
Voila avec ce que vous récupérer du formulaire Vous avez de quoi faire un Insert , et derrière récupérer afficher votre bdd avec un select. Cependant faite attention , si dans votre BDD L'id est en auto incrément ( ce qui est le cas dans 99% cas ) Votre insert ne doit pas lui donner de valeur .
Comme ceci.