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

PHP & Base de données Discussion :

formulaire insertion avec requête


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 42
    Par défaut formulaire insertion avec requête
    Bonjour,

    Voilà j'ai créé un formulaire pour insérer des données dans une table id_coaching, seulement il ne marche pas et j'arrive pas à comprendre ce que j'ai fait de faux...

    Il ne me répond aucune erreur, il me renvoie sur ma page index mais les données ne s'enregistre pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <?php
    // Si les variables existent	
    if (isset($_POST['date']) AND isset($_POST['coach']) AND isset($_POST['duree']) AND isset($_POST['resume']) AND isset($_POST['pointmes']) AND isset($_POST['tarif'])) 
    {
    	// Si on a quelque chose à enregistrer
        if ($_POST['date'] != NULL AND $_POST['coach'] != NULL AND $_POST['duree'] != NULL AND $_POST['resume'] != NULL AND $_POST['pointmes'] != NULL AND $_POST['tarif'] != NULL) 
     
        {
            // On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table
            $date = htmlentities ($_POST['date'], ENT_QUOTES);
            $coach = htmlentities ($_POST['coach'], ENT_QUOTES);
    		$duree = htmlentities ($_POST['duree'], ENT_QUOTES);
    		$resume = htmlentities ($_POST['resume'], ENT_QUOTES);
            $pointmes = htmlentities ($_POST['pointmes'], ENT_QUOTES);
    		$tarif = htmlentities ($_POST['tarifs'], ENT_QUOTES);
     
    	// On enregistre le message
    	if(!empty($_GET['id_indep']))
    	{
    	mysql_query("INSERT INTO t_coaching (id_coaching, date, coach, duree, resume, pointmes, tarif) VALUES ('', '$date', '$coach', '$duree', '$resume', '$pointmes', '$tarif') WHERE ref_indep=".$_GET['id_indep']."");
    	}	
     
    	// On se déconnecte de MySQL
    	mysql_close();
    	}
    }
    ?>
     
    <form action="index.php" method="post">
    <table width="200" border="0">
      <tr>
        <td width="90" bgcolor="#5395f9"><center><b><u>Date</u></b></center></td>
        <td width="80" bgcolor="#5395f9"><center><b><u>Coach</u></b></center></td>
        <td width="70" bgcolor="#5395f9"><center><b><u>Durée</u></b></center></td>
        <td width="450" bgcolor="#5395f9"><center><b><u>Résumé</u></b></center></td>
        <td width="90" bgcolor="#5395f9"><center><b><u>Points MES</u></b></center></td>
        <td width="70" bgcolor="#5395f9"><center><b><u>Tarifs</u></b></center></td>
      </tr>
      <tr>
        <td><input type="text" name="date" size="9"/></td>
        <td><input type="text" name="coach" size="8"/></td>
        <td><input type="text" name="duree" size="7"/></td>
        <td><textarea name="resume" cols="50"/></textarea></td>
        <td><input type="text" name="pointmes" size="9"/></td>
        <td><input type="text" name="tarif" size="7"/></td>
      </tr>
    </table>
    <input name="submit" type="submit" value="Enregistrer"/><p><br />
     
    <form>
    <input type='button' value='Retour' onclick='location.href="index.php?page=index"'/></form>
    Quelqu'un voit pourquoi?

    merci

  2. #2
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Par défaut
    je vois pas le mysql_connect, c normal ?

    et dans ta requete, un INSERT INTO avec une clause WHERE ca fait tres... bizarre O_o je ne vois pas le pourquoi de la chose et c'est quoi ta variable GET id_indep, je ne la vois pas dans l'action de ton formulaire, je pense que ta condition aura du mal a etre respectée.

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Salut

    Vérifies que tu fais bien la connexion à la base de données à un moment ou à un autre.

    Sinon, essayes de décomposer l'écriture de la requête et ajoutes le retour d'erreur, ça nous aidra peut-être
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql="INSERT INTO t_coaching (id_coaching, date, coach, duree, resume, pointmes, tarif) VALUES ('', '$date', '$coach', '$duree', '$resume', '$pointmes', '$tarif') WHERE ref_indep=".$_GET['id_indep']."";
    mysql_query($sql) or die(" requete : ".$sql." erreur : ".mysql_error());
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 42
    Par défaut
    Oui c'est normal, il se fait plus haut car j'ai encore une autre requete.

    J'ai bien ajouté "or die (" requete : ".$sql." erreur : ".mysql_error());"

    mais ca ne me retourne toujours rien...

  5. #5
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    ton mysql_query() est situé dans un if. Es-tu sur que la condition pour ce if est bien rempli? Parce que tu testes que $_POST['id_indep'] est bien rempli mais je ne vois pas le champ id_indep dans ton formulaire.
    Fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_POST['id_indep'];
    avant ton if pour voir ce qu'il y a dedans

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 42
    Par défaut
    Le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo $_POST['id_indep'];
    ne me retourne rien, mais si je fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo $_GET['id_indep'];
    , il me reprend bien ma variable que j'ai passé depuis mon autre page

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    ça se complique...
    Ajoutes un echo de la requete, qu'on voit quelle tête elle a...
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql="INSERT....";
    echo $sql;
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. [PDO] Insert avec requête préparée, erreur champs datetime
    Par maxwell374 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/07/2011, 11h36
  2. Insert avec requête imbriquée
    Par kyra78 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 21/03/2008, 16h21
  3. Requête : Insert avec plusieurs tables
    Par bleu_ciel dans le forum Access
    Réponses: 4
    Dernier message: 01/06/2006, 21h42
  4. insertion avec requête imbriquées
    Par Manfried dans le forum Requêtes
    Réponses: 7
    Dernier message: 19/11/2005, 09h51
  5. Réponses: 4
    Dernier message: 04/08/2005, 08h23

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