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 :

[SQL] Récupération de données et Insert dans une table


Sujet :

PHP & Base de données

  1. #21
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql = "INSERT INTO t_demandes SET id_users='".$_SESSION["id"]."', 
    evenement='$evenement', date='$date' , commentaire='$commentaire'";
    En effet la synthaxe sql n'est pas correcte

    Le SET est utilisé pour l'update.

    Synthaxe de l'insert

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql = "INSERT INTO t_demandes (id_users,evenement,date,commentaire) VALUES 
    (".$_SESSION['id'].",'".$evenement."','".$date."','".$commentaire."')";

  2. #22
    Membre confirmé Avatar de heteroclite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Par défaut
    Merci !
    Alors voilà ...j'ai corrigé mon script en tenant compte de ta correction....et mes données "evenement, date, commentaire sont bien enregistrées dans la table t_demandes.....mais pas l'id (variable de session provenant de la table t_users)


    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
    <?php 
    // On commence par récupérer les champs 
    if(isset($_POST['evenement']))      $evenement=$_POST['evenement'];
    else      $evenement="";
     
    if(isset($_POST['date']))      $date=$_POST['date'];
    else      $date="";
     
    if(isset($_POST['commentaire']))      $commentaire=$_POST['commentaire'];
    else      $commentaire="";
     
     
        { 
           // connexion à la base
    $db = mysql_connect('*****', '****', '******')  or die('Erreur de connexion '.mysql_error());
    // sélection de la base  
     
        mysql_select_db(******,$db)  or die('Erreur de selection '.mysql_error()); 
     
        // requête sql
    $sql = "INSERT INTO t_demandes (id_users,evenement,date,commentaire) VALUES 
    ('".$_SESSION['id']."','".$evenement."','".$date."','".$commentaire."')";
     
        // on insère les informations du formulaire dans la table 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
     
        // on affiche le résultat pour le visiteur 
        echo 'votre demande a été enregistrée !.'; 
    include('http://************);
        }  
    ?>

  3. #23
    Invité
    Invité(e)
    Par défaut
    Les pages où tu utilises des variables session doivent tjrs commencer par session_start();

    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
    <?php 
    session_start();
    
    echo "DEBUG: ".$_SESSION['id']
    // On commence par récupérer les champs 
    if(isset($_POST['evenement']))      $evenement=$_POST['evenement'];
    else      $evenement="";
    
    if(isset($_POST['date']))      $date=$_POST['date'];
    else      $date="";
    
    if(isset($_POST['commentaire']))      $commentaire=$_POST['commentaire'];
    else      $commentaire="";
    
       
        { 
           // connexion à la base
    $db = mysql_connect('*****', '****', '******')  or die('Erreur de connexion '.mysql_error());
    // sélection de la base  
    
        mysql_select_db(******,$db)  or die('Erreur de selection '.mysql_error()); 
         
        // requête sql
    $sql = "INSERT INTO t_demandes (id_users,evenement,date,commentaire) VALUES 
    ('".$_SESSION['id']."','".$evenement."','".$date."','".$commentaire."')";
         
        // on insère les informations du formulaire dans la table 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    
        // on affiche le résultat pour le visiteur 
        echo 'votre demande a été enregistrée !.'; 
    include('http://************);
        }  
    ?>

  4. #24
    Invité
    Invité(e)
    Par défaut
    Les pages où tu utilises des variables session doivent tjrs commencer par session_start();

    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
    <?php 
    session_start();
    
    echo "DEBUG: ".$_SESSION['id'];
    // On commence par récupérer les champs 
    if(isset($_POST['evenement']))      $evenement=$_POST['evenement'];
    else      $evenement="";
    
    if(isset($_POST['date']))      $date=$_POST['date'];
    else      $date="";
    
    if(isset($_POST['commentaire']))      $commentaire=$_POST['commentaire'];
    else      $commentaire="";
    
       
        { 
           // connexion à la base
    $db = mysql_connect('*****', '****', '******')  or die('Erreur de connexion '.mysql_error());
    // sélection de la base  
    
        mysql_select_db(******,$db)  or die('Erreur de selection '.mysql_error()); 
         
        // requête sql
    $sql = "INSERT INTO t_demandes (id_users,evenement,date,commentaire) VALUES 
    ('".$_SESSION['id']."','".$evenement."','".$date."','".$commentaire."')";
         
        // on insère les informations du formulaire dans la table 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    
        // on affiche le résultat pour le visiteur 
        echo 'votre demande a été enregistrée !.'; 
    include('http://************);
        }  
    ?>

  5. #25
    Membre confirmé Avatar de heteroclite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Par défaut
    ok merci beaucoup...ça fonctionne !

  6. #26
    Membre confirmé Avatar de heteroclite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Par défaut
    Une dernière question sur ce script.
    Comment puis faire le renvoi vers une autre page ?
    je m'explique: j'aimerais par exemple que ça affiche le message " votre demande à été enregistrée" puis que ça aiguille apres quelques secondes vers une page de mon choix.

    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        // on affiche le résultat pour le visiteur 
        echo 'votre demande a été enregistrée !.'; 
    include('http://************);
        }  
    ?>

  7. #27
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    si tu veux que ca redirige apres x secondes, faut voir ca en html, avec la balise refresh dans les meta tag je crois, ou bien en javascript.

  8. #28
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      // on affiche le résultat pour le visiteur 
    echo 'votre demande a été enregistrée !.'; 
     
    sleep(5);//on arrête l'execution du script pdt 5 secondes
    header("Location: http://XXXXXXXXXX");
        }  
    ?>

  9. #29
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    -5 !!

    Quand on fait un header, il ne faut avoir rien envoyé au serveur.
    avec ton code, on a le droit à une belle erreur ...

  10. #30
    Invité
    Invité(e)
    Par défaut
    Il n'y a rien qui est envoyé au serveur Maxoo. demandes.php est un simple script php sans entête html.

    Je n'ai aucune erreur de mon côté.

  11. #31
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // on affiche le résultat pour le visiteur 
    echo 'votre demande a été enregistrée !.';
    et ca, c'est pas des trucs affichés

  12. #32
    Membre confirmé Avatar de heteroclite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Par défaut
    Bonjour,

    J'ai dû mettre le code simple suivant pour rediriger vers mon autre page


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    header("Location: http://XXXXXXXXXX");
        }  
    ?>
    // renvoi

    car lorsque je mettais le code ci-dessous, j'avais effectivement une erreur.
    Je perds donc l'affichage de l'information 'votre demande a été enregistrée'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo 'votre demande a été enregistrée !.'; 
     
    sleep(5);//on arrête l'execution du script pdt 5 secondes
    j'ai l'impression que c'est un peu compliqué de faire une redirection avec message temporaire ...je me trompe ? ou vous voyez une solution simple ?

    merci

  13. #33
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    j'ai l'impression que c'est un peu compliqué de faire une redirection avec message temporaire ...je me trompe ? ou vous voyez une solution simple ?
    Citation Envoyé par Maxoo
    si tu veux que ca redirige apres x secondes, faut voir ca en html, avec la balise refresh dans les meta tag je crois, ou bien en javascript.
    faut que je me répete ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/05/2008, 09h53
  2. Récupération de données de formulaire dans une fenetre fille
    Par xave dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 03/01/2008, 16h22
  3. Réponses: 2
    Dernier message: 05/10/2007, 23h49
  4. [ODBC] Récupération d'une donnée pour insertion dans une autre table
    Par rom950 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/03/2006, 17h13
  5. insertion dans une table en pl/sql
    Par jejam dans le forum PL/SQL
    Réponses: 9
    Dernier message: 24/08/2005, 18h06

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