Voilà, je dois réaliser un projet mais je ne parvient pas à lier les données de mon formulaire avec ma base de donnée PHPmyadmin. :s Je souhaite récupérer les donnée saisies dans mon formulaire mais je n’y parvient pas. J’obtient l’erreur suivante:
Voici donc le code que j’ai réaliser:
Ce site est fictif et il est réaliser sur PHPmyadmin en local.
Par avance merci de m’apporter votre aide.
les noms de variables ne doivent pas contenir de caracteres spéciaux
c’est à dire pas de tiret, ni d’espace, et on évite aussi les accents.
ce qui donne :
fais un echo de ta ligne
$reqinsert=“insert into utilisateurs values (’$nom’,’$prenom’,’$email’,’$typedefilm’);”;
avant de l’envoyer, pour savoir si les données transmises sont compatibles avec ta table
<html?gt;
<head>
<title>
Inscription cinémathèque du Levant
</title>
<link rel="stylesheet" type="text/css" href="feuilledestyle.css"/>
</head>
<body>
<h1>
<marquee scrollamount="10" direction="right"><font size=5>Cinémathèque du Levant</font></marquee>
</h1>
<hr size=3 noshade>
<center><h2><u>Inscription</u></h2><br/><br/>
<form action="traitement.php" method="post">
<table width="100%">
<tr><td>
<p align = "right">nom: </p></td><td> <input type ="text" name="nom" maxlength ="15"></td> </tr> <tr> <td>
<p align = "right">prénom: </p> </td> <td> <input type ="text" name ="prenom" maxlength="10"></td> </tr> <tr> <td>
<p align = "right">e-mail: </p></td> <td><input type ="text" name ="email" maxlength ="35"><td> </tr> <tr> <td>
<p align = "right">mot de passe: </p></td> <td><input type ="password" name ="motdepasse" maxlength="10"></td> </tr> <tr> <td>
<p align = "right">type de film préféré: </p></td> <td>
<input type = "radio" name="typefilm" value = "action">action</br>
<input type = "radio" name= "typefilm" value = "anticipation">anticipation</br>
<input type = "radio" name= "typefilm" value = "fantastique">fantastique</br>
<input type = "radio" name= "typefilm" value = "policier">policier</br>
<input type = "radio" name= "typefilm" value = "suspense">suspense</br>
<input type = "radio" name= "typefilm" value = "autre">autre</br>
</td></tr>
</table>
</br>
<input type = "reset" name = "annul" value = "annuler">
<input type= "submit" name= "envoyer"/>
</br>
</form>
<a href ="Accueil.html?quot;> retour à l'accueil </a>
</center>
</body>
</html?gt;
Le Fichier Dde traitemnt des données et insertion dans la BDD
<?php
//appel du fichier de connexion à la base de données
mysql_connect("localhost", "cinema", "root");
mysql_select_db("utilisateurs");
//récupérations des valeurs saisies dans le formulaire
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$email=$_POST['email'];
$type=$_POST['typefilm'];
//affichage du contenu des variables
echo "Les données ont bien été transmisses.";
//insertion dans la base de données
$reqinsert="insert into utilisateurs values ('$nom','$prenom','$email','$type');";
mysql_query($reqinsert) or die("La requête ne fonctionne pas. La table n'a pas été mise à jour. <br />".mysql_error());
// fermeture de la connexion
mysql_close();
?>
merci beaucoup ludo 26000 d’avoir chercher et poster une correction
cependant, le transfert ne s’effectue pas vers la base de donnée. J’ai copié exactement le même code que celui donné. Quand je clique sur envoyer, j’ai une page erreur comme quoi la page est introuvable :s
as tu une idée?
c’est bien ce que j’ai fait, le code html est enregistrer dans un fichier appelé formulaire.html et le code php dans traitement.php
je ne comprend donc pas ce qui pourrait cloché, peut être dans la base de donnée?
As-tu vérifié tes données avant de les envoyer au SQL ?
Essaie le code ci dessous, et en fonction de ce tu obtiendras, tu pourras décommenter les deux dernieres lignes.
Si ton message d’erreur persiste, tu commentes les lignes une par une en partant de la fin (et tu retestes à chaque fois)
<?php
//appel du fichier de connexion à la base de données
mysql_connect("localhost", "cinema", "root");
mysql_select_db("utilisateurs");
//récupérations des valeurs saisies dans le formulaire
$nom=$_POST[‘nom’];
$prenom=$_POST[‘prenom’];
$email=$_POST[‘email’];
$type=$_POST[‘typefilm’];
//affichage du contenu des variables
echo "$nom vaut ".$nom."<br />\n";
echo "$prenom vaut ".$prenom."<br />\n";
echo "$email vaut ".$email."<br />\n";
echo "$type vaut ".$type."<br />\n";
echo "Les données ont bien été transmisses.";
//insertion dans la base de données
$reqinsert=“insert into utilisateurs values (’$nom’,’$prenom’,’$email’,’$type’);”;
echo “$reqinsert vaut “.$reqinsert.”<br />\n”;
// mysql_query($reqinsert) or die(“La requête ne fonctionne pas. La table n’a pas été mise à jour. <br />”.mysql_error());
// fermeture de la connexion
// mysql_close();
?>
Je n’ai rien de modifier dans PhpMyadmin, c’est donc le serveur localhost, l’utilisateur root@localhost et le mot de passe root non?
Dans PhpMyadmin, il n’y a aucune données dans la table utilisateurs. Je ne vois pas ou il peut y avoir un problème de conception dans la base. Une idée?
Merci en tout cas de l’aide ludo26000
Ps: merci de ton aide gcc mais cela n’affiche rien du tout