{MySQL} Ecrire dans une base a partir de variable
Mahara
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
Mahara Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Mahara Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je désire rajouter des données dans une table MySQL via une page PHP .
Pour résumer, l'utilisateur a accès a un formulaire , il remplis les champs après validation, il es emmené sur une nouvelle page ou il a un aperçu de ce qu'il a écris, a partir de la, il valide et j'aimerai que les données soit rajouter dans ma base.
Les pages sont affiché via un include dans le corp de la page1.
Voici le code de ma première page (celle ou les données sont rappelé sous forme de variable)
//page3.php
<div id="corps">
<form method="post" action="page1.php?page=page9.php">
<p>
<h1> Pour résumer </h1> <br/>
Voici le titre VO :<?php echo $_POST['Titre_VO']; ?> <br />
Voici le titre VF : <?php echo $_POST['Titre_VF']; ?> <br />
Le Type :<?php echo $_POST['Type']; ?> <br />
Le Genre :<?php echo $_POST['Genre']; ?> <br />
Il es sortie en :<?php echo $_POST['Annee_sortie']; ?> <br />
A etais tournée au :<?php echo $_POST['Lieux_Tournage']; ?> <br />
Voici le résumé :<?php echo $_POST['Resume']; ?> <br />
Et Pour finir l'auteur :<?php echo $_POST['Prenom_Rea']; echo $_POST['Nom_Rea']; ?> <br />
</p>
<p>
<input type="submit" value="Valider" />
<li><a href="page1.php?page=page2.html">Une erreur, recommencer ici!</a></li>
</p>
</div> // l'affichage se passe sans problème
--------------------------------------------------------------------------------------------------------------------------------------
---------------------------Ici le code de ma page censé écrire dans ma base-------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------
//ici page9.php
<div id="corps">
<?php
$info = '';
// Si le formulaire a été envoyé
if (isset ($_POST['valider']))
{
$Titre_VO = $_POST['Titre_VO'];
$Titre_VF = $_POST['Titre_VF'];
$Type = $_POST['Type'];
$Genre = $_POST['Genre'];
$Annee_sortie = $_POST['Annee_sortie'];
$Lieux_Tournage = $_POST['Lieux_Tournage'];
$Resume = $_POST['Resume'];
$Nom_Rea = $_POST['Nom_Rea'];
$Prenom_Rea = $_POST['Prenom_Rea'];
// Si l'un des champs est vide, lancer une erreur
if (empty ($Titre_VO) || empty($Titre_VF) || empty($Type) || empty ($Genre) || empty($Annee_sortie) || empty($Lieux_Tournage) || empty ($Resume) || empty($Nom_Rea) || empty($Prenom_Rea))
$info = 'Veuillez renseigner tous les champs';
else
{
// Connexion à la bdd
mysql_connect("localhost", "nom_ma_base","Mot_de_Passe") or die("Echec de connexion au serveur.");;
mysql_select_db("Navet_Paradise") or die("Echec de sélection de la base.");;
// Insertion dans la bdd
$query = "insert into news (Titre_VO,Titre_VF,Type,Genre,Annee_sortie,Lieux_Tournage,Resume,Nom_Rea,Prenom_Rea) values('$Titre_VO','$Titre_VF','$Type','$Genre','$Annee_sortie','$Lieux_Tournage','$Resume','$Nom_Rea','$Prenom_Rea')";
if (mysql_query($query))
$info = 'Succès';
else
$info = 'Erreur !';
//mysql_close();
}
}
?> </div>
Je n'obtiens ni erreur ni rajout ni même quoique ce soit d'ailleurs..... j'ai vraiment du mal a voir mon erreur ou si je me suis complètement planté dans le code.... D'ailleurs je ne me suis pas encore occuper de la sécurité mais il me semble que htmlentities devrait pas mal m'y aider...
Qu'en pensez vous?
Merci de votre aide!
Je désire rajouter des données dans une table MySQL via une page PHP .
Pour résumer, l'utilisateur a accès a un formulaire , il remplis les champs après validation, il es emmené sur une nouvelle page ou il a un aperçu de ce qu'il a écris, a partir de la, il valide et j'aimerai que les données soit rajouter dans ma base.
Les pages sont affiché via un include dans le corp de la page1.
Voici le code de ma première page (celle ou les données sont rappelé sous forme de variable)
//page3.php
<div id="corps">
<form method="post" action="page1.php?page=page9.php">
<p>
<h1> Pour résumer </h1> <br/>
Voici le titre VO :<?php echo $_POST['Titre_VO']; ?> <br />
Voici le titre VF : <?php echo $_POST['Titre_VF']; ?> <br />
Le Type :<?php echo $_POST['Type']; ?> <br />
Le Genre :<?php echo $_POST['Genre']; ?> <br />
Il es sortie en :<?php echo $_POST['Annee_sortie']; ?> <br />
A etais tournée au :<?php echo $_POST['Lieux_Tournage']; ?> <br />
Voici le résumé :<?php echo $_POST['Resume']; ?> <br />
Et Pour finir l'auteur :<?php echo $_POST['Prenom_Rea']; echo $_POST['Nom_Rea']; ?> <br />
</p>
<p>
<input type="submit" value="Valider" />
<li><a href="page1.php?page=page2.html">Une erreur, recommencer ici!</a></li>
</p>
</div> // l'affichage se passe sans problème
--------------------------------------------------------------------------------------------------------------------------------------
---------------------------Ici le code de ma page censé écrire dans ma base-------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------
//ici page9.php
<div id="corps">
<?php
$info = '';
// Si le formulaire a été envoyé
if (isset ($_POST['valider']))
{
$Titre_VO = $_POST['Titre_VO'];
$Titre_VF = $_POST['Titre_VF'];
$Type = $_POST['Type'];
$Genre = $_POST['Genre'];
$Annee_sortie = $_POST['Annee_sortie'];
$Lieux_Tournage = $_POST['Lieux_Tournage'];
$Resume = $_POST['Resume'];
$Nom_Rea = $_POST['Nom_Rea'];
$Prenom_Rea = $_POST['Prenom_Rea'];
// Si l'un des champs est vide, lancer une erreur
if (empty ($Titre_VO) || empty($Titre_VF) || empty($Type) || empty ($Genre) || empty($Annee_sortie) || empty($Lieux_Tournage) || empty ($Resume) || empty($Nom_Rea) || empty($Prenom_Rea))
$info = 'Veuillez renseigner tous les champs';
else
{
// Connexion à la bdd
mysql_connect("localhost", "nom_ma_base","Mot_de_Passe") or die("Echec de connexion au serveur.");;
mysql_select_db("Navet_Paradise") or die("Echec de sélection de la base.");;
// Insertion dans la bdd
$query = "insert into news (Titre_VO,Titre_VF,Type,Genre,Annee_sortie,Lieux_Tournage,Resume,Nom_Rea,Prenom_Rea) values('$Titre_VO','$Titre_VF','$Type','$Genre','$Annee_sortie','$Lieux_Tournage','$Resume','$Nom_Rea','$Prenom_Rea')";
if (mysql_query($query))
$info = 'Succès';
else
$info = 'Erreur !';
//mysql_close();
}
}
?> </div>
Je n'obtiens ni erreur ni rajout ni même quoique ce soit d'ailleurs..... j'ai vraiment du mal a voir mon erreur ou si je me suis complètement planté dans le code.... D'ailleurs je ne me suis pas encore occuper de la sécurité mais il me semble que htmlentities devrait pas mal m'y aider...
Qu'en pensez vous?
Merci de votre aide!
A voir également:
- {MySQL} Ecrire dans une base a partir de variable
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Base de registre - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Ecrire en gras sur whatsapp - Guide
- Comment écrire # sur pc - Guide
15 réponses
echo $info...
if (isset ($_POST['valider'])) c'est pas 'Valider' plutôt ? a moins que la casse ne compte pas
if (isset ($_POST['valider'])) c'est pas 'Valider' plutôt ? a moins que la casse ne compte pas
Pas trop! Alors j'ai décider de simplifier pour l'instant, mon formulaire envoi bien les variables (je peut les afficher dans ma page PHP via un <?php echo $_POST['Titre_VO']; ?> ) Mais ça ne vas pas plus loin ça ne rajoute rien dans ma base...
<div id="corps">
<?php
$info = '';
// Connexion à la bdd
mysql_connect("localhost","XX","XX") or die("Echec de connexion au serveur.");;
mysql_select_db("Navet_Paradise") or die("Echec de sélection de la base.");;
// Insertion dans Film
mysql_query("INSERT INTO Film VALUES
('','$_POST["Titre_VO"]','$_POST["Titre_VF"]','$_POST["Type"]','$_POST["Genre"]','$_POST["Annee_sortie"]','$_POST["Lieux_Tournage"]','$_POST["Resume"]','$_POST["Nom_Rea"]','$_POST["Prenom_Rea"]')";
if (mysql_query($query))
$info = 'Succès';
else
$info = 'Erreur !';
mysql_close();
?>
</div>
Si l'on vois une solution ça m'intéresse beaucoup!!!!!
Merci d'avance
<div id="corps">
<?php
$info = '';
// Connexion à la bdd
mysql_connect("localhost","XX","XX") or die("Echec de connexion au serveur.");;
mysql_select_db("Navet_Paradise") or die("Echec de sélection de la base.");;
// Insertion dans Film
mysql_query("INSERT INTO Film VALUES
('','$_POST["Titre_VO"]','$_POST["Titre_VF"]','$_POST["Type"]','$_POST["Genre"]','$_POST["Annee_sortie"]','$_POST["Lieux_Tournage"]','$_POST["Resume"]','$_POST["Nom_Rea"]','$_POST["Prenom_Rea"]')";
if (mysql_query($query))
$info = 'Succès';
else
$info = 'Erreur !';
mysql_close();
?>
</div>
Si l'on vois une solution ça m'intéresse beaucoup!!!!!
Merci d'avance
Pour bien identiffier ce qui ne va pas.
Peux-tu exécuter en base la partie SQL de ce code
mysql_query("INSERT INTO Film VALUES
('','$_POST["Titre_VO"]','$_POST["Titre_VF"]','$_POST["Type"]','$_POST["Genre"]','$_POST["Annee_sortie"]','$_POST["Lieux_Tournage"]','$_POST["Resume"]','$_POST["Nom_Rea"]','$_POST["Prenom_Rea"]')";
REmplace les variables par des valeurs existantes.
Si la requete répond c'eest un souci de PHP ...
Par contre tu utilise une des 2 méthodes d'insert qui implique de passer tous les champs de la table sinon ça bug..
J'attends ton test...
Peux-tu exécuter en base la partie SQL de ce code
mysql_query("INSERT INTO Film VALUES
('','$_POST["Titre_VO"]','$_POST["Titre_VF"]','$_POST["Type"]','$_POST["Genre"]','$_POST["Annee_sortie"]','$_POST["Lieux_Tournage"]','$_POST["Resume"]','$_POST["Nom_Rea"]','$_POST["Prenom_Rea"]')";
REmplace les variables par des valeurs existantes.
Si la requete répond c'eest un souci de PHP ...
Par contre tu utilise une des 2 méthodes d'insert qui implique de passer tous les champs de la table sinon ça bug..
J'attends ton test...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alors j'ai ecris
<div id="corps">
<?php
$info = '';
// Connexion à la bdd
mysql_connect("localhost","root","root") or die("Echec de connexion au serveur.");
mysql_select_db("Navet_Paradise") or die("Echec de sélection de la base.");
// Insertion dans Film
mysql_query("INSERT INTO Film VALUES
('','az','az','az','az','1985','az','az','az','az')";
mysql_close();
?>
</div>
Est ce bien ca que tu me demandé?
et j'ai eu droit a
Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /Applications/MAMP/htdocs/A travailler/page3.php on line 13
<div id="corps">
<?php
$info = '';
// Connexion à la bdd
mysql_connect("localhost","root","root") or die("Echec de connexion au serveur.");
mysql_select_db("Navet_Paradise") or die("Echec de sélection de la base.");
// Insertion dans Film
mysql_query("INSERT INTO Film VALUES
('','az','az','az','az','1985','az','az','az','az')";
mysql_close();
?>
</div>
Est ce bien ca que tu me demandé?
et j'ai eu droit a
Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /Applications/MAMP/htdocs/A travailler/page3.php on line 13
Oui mais ton code SQL est a exécuter directement en base de données sans passer par le programme (php).
Si ça fonctionne ça vaut dire que tout est ok pour mysql c'est que PHP n'a pas compris un truc... teste je t'attends.
Si ça fonctionne ça vaut dire que tout est ok pour mysql c'est que PHP n'a pas compris un truc... teste je t'attends.
Bon je viens de me rendre compte de ce que je viens de tester! vas falloir que je songe a dormir... Mais tant que ca ne marche pas le dodo est compromis....
Merci de vos aide
Mahara
Merci de vos aide
Mahara
J'ai l'erreur suivante
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql_query("INSERT INTO Film VALUES ('','$_POST["Titre_VO"]','$_POST["Titre_V' at line 1
enfin
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql_query("INSERT INTO Film VALUES ('','az','az','az','az','1985','az','az',' at line 1
MAhara
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql_query("INSERT INTO Film VALUES ('','$_POST["Titre_VO"]','$_POST["Titre_V' at line 1
enfin
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql_query("INSERT INTO Film VALUES ('','az','az','az','az','1985','az','az',' at line 1
MAhara
Si tu passes à ta base des trucs du style ,'$_POST["Titre_V'] elle ne pas FORCEMENT pas comprendre...
FAut remplacer par les bonnes valeur supposées...
FAut remplacer par les bonnes valeur supposées...
c'est mon copier coller que j'ai foiré... j'avais mis des valeurs "test"
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql_query("INSERT INTO Film VALUES ('','az','az','az','az','1985','az','az',' at line 1
Mahara
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql_query("INSERT INTO Film VALUES ('','az','az','az','az','1985','az','az',' at line 1
Mahara
Donc s'il ne fait pas l'insertion il y a un problème de syntaxe.
Peux tu me faire voir la structure de cette table ? Liste des champs...stp
Et puis c'est pas du SQL ça -->'mysql_query("
ça n'a rien à faire dans ton code de test faut juste mettre INSERT INTO...
essaye encore
Peux tu me faire voir la structure de cette table ? Liste des champs...stp
Et puis c'est pas du SQL ça -->'mysql_query("
ça n'a rien à faire dans ton code de test faut juste mettre INSERT INTO...
essaye encore