IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

insertion de donnée d'un formulaire dans un base mysql


Sujet :

SQL Procédural MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Points : 6
    Points
    6
    Par défaut insertion de donnée d'un formulaire dans un base mysql
    Bonjour, jai un problème pour insérer des donnée dans ma base de donnée Mysql avec un script php

    Voila le code:

    <?
    //ajout_cours_traitm.php
    $sql = "insert into cours (intitule, pk_prof) values ($_POST[intitule], $_POST[nom_prof])";
    mysql_connect("localhost","root", "");
    mysql_select_db("webfiches");
    mysql_query($sql) or die("L'insertion d'un enregistrement n'a pu avoir lien pour la raison suivante: <br>".mysql_error());
    mysql_close();
    echo "Le cours ".$_POST[nom_prof]." a bien été inséré dans la base de données";
    echo "<a href=\"voir_cours.php\">Retour<\a>";
    ?>

    Voila l'autre code:

    <?
    //ajoutcours.php
    echo "<html><head><title>Webfiches_Ajoutcours</title>";
    //<link rel=\"stylesheet\" type=\texte/css\" href=\"Webfiches.css\">
    echo "</head>";
    echo "<body><h1>Ajout d'un cours</H1><br><br>
    <form name=\"formu\" methode=\"post\" action=\"ajout_cours_traitm.php\">
    <table>
    <tr><td>Intitulé :</td><td><input type=\"text\" name=\"intitule\" maxlength=\"40\" size=\"40\"></td></tr>
    <tr><td>Professeur</td><td><select name=\"nom_prof\">";
    mysql_connect("localhost","root","");
    mysql_select_db("webfiches");
    $sql = "select pk_prof, nom, prenom from professeur order by nom, prenom";
    $resultat = mysql_query($sql);
    while ($prof = mysql_fetch_object($resultat))
    {
    echo "<option value=\"pk_prof\">$prof->nom $prof->prenom</option>";
    }
    mysql_close();
    echo "</select></td></tr>
    <tr><td colspan=\"2\"> </td></tr>
    <tr><td colspan=\"2\"><input type=\"submit\" value=\"Enregistrement\"></td></tr>
    </table></form></body></html>";
    ?>


    et j'ai le message d'erreur suivant:

    Notice: Undefined index intitule in d:\... .php on line 3

    Notice: Undefined index nom_prof in d:\... .php on line 3
    L'insertion d'un enregistrement n'a pu avoir lien pour la raison suivante:
    Erreur de syntaxe près de ')' à la ligne 1

    Merci d'avance pour vos réponse.

  2. #2
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut
    mysql_connect("localhost","root", "");

    il te faut respecter un odre precis, en plus nom de base identifiant, pass....

  3. #3
    Membre averti
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Points : 330
    Points
    330
    Par défaut


    Il faut mettre des guillemets autour de intitule et nom_prof à la ligne 1 entre les crochets...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    cela ne règle pas ton problème (mais les réponses précédentes le devraient) mais faire des echo avec des paramètres fixes sans variable, c'et pas génial
    autant faire directement en html
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo "</head>"; 
    echo "<body><h1>Ajout d'un cours</H1><br><br> 
    <form name=\"formu\" methode=\"post\" action=\"ajout_cours_traitm.php\"> 
    <table> 
    <tr><td>Intitulé :</td><td><input type=\"text\" name=\"intitule\" maxlength=\"40\" size=\"40\"></td></tr> 
    <tr><td>Professeur</td><td><select name=\"nom_prof\">";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    </head> 
    <body><h1>Ajout d'un cours</H1><br><br> 
    <form name="formu" methode="post" action="ajout_cours_traitm.php"> 
    <table> 
    <tr><td>Intitul&eacute; :</td><td><input type="text" name="intitule" maxlength="40" size="40"></td></tr> 
    <tr><td>Professeur</td><td><select name="nom_prof">
    et pense à remplacer les caractères spécifiques français ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Insertion des données de 2 checkbow dans ma base mysql
    Par snorky94 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/08/2012, 16h13
  2. Insertion des données d'un formulaire dans une base
    Par youssef222 dans le forum Langage
    Réponses: 3
    Dernier message: 22/10/2008, 00h16
  3. Insérer les données d'un formulaire dans ma base
    Par vrze95 dans le forum Langage
    Réponses: 5
    Dernier message: 05/03/2008, 21h20
  4. Insertion de données d'un formulaire dans une table
    Par manu971 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 06/11/2007, 19h22
  5. [MySQL] Insérer des données d'un formulaire dans la base
    Par ciel65 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/01/2007, 09h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo