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 :

[Conception] Problème avec INSERT dans une TABLE


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut [Conception] Problème avec INSERT dans une TABLE
    Bonjour,
    J'ai un formulaire sur mon site qui fonctionne correctement, je viens d'installer Wamp pour des modifs et j'ai comme problème quand je valide le formulaire il insère des ligne vide dans ma TABLE et j'ai beaucoup de mal à comprend pourquoi en local il ne fonctionne pas et sur mon site il fonctionne il y aurais (encore une fois !) une bonne âme pour me guider ???
    Voici mon fichier validation.php
    <?PHP
    session_start();
    if (!isset($_SESSION['login'])) {
    header ('Location: ../index.php');
    exit();
    }

    include "../connect/fc-phpconnect.php";

    // 1 ligne du form//


    if ($ref_1 != '' && $nom_1 != '' && $adr_1 != '' && $rem_1 != '' && $tech_1 != '' && $date_1 != '' && $tel_1) {
    }
    $base = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($ref_1)."', '".mysql_escape_string($nom_1)."', '".mysql_escape_string($adr_1)."', '".mysql_escape_string($rem_1)."', '".mysql_escape_string($tech_1)."', '".mysql_escape_string($date_1)."', '".mysql_escape_string($tel_1)."')";
    mysql_query($base)or die('Erreur SQL !'.$base.''.mysql_error());

    //ligne 2 du form//

    if ($ref_2 != '' && $nom_2 != '' && $adr_2 != '' && $rem_2 != '' && $tech_2 != '' && $date_2 != '' && $tel_2)
    {
    $base = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($ref_2)."', '".mysql_escape_string($nom_2)."', '".mysql_escape_string($adr_2)."', '".mysql_escape_string($rem_2)."', '".mysql_escape_string($tech_2)."', '".mysql_escape_string($date_2)."', '".mysql_escape_string($tel_2)."')";
    mysql_query($base)or die('Erreur SQL !'.$base.''.mysql_error());
    }


    //ligne 3 du form//

    if ($ref_3 != '' && $nom_3 != '' && $adr_3 != '' && $rem_3 != '' && $tech_3 != '' && $date_3 != '' && $tel_3)
    {
    $base = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($ref_3)."', '".mysql_escape_string($nom_3)."', '".mysql_escape_string($adr_3)."', '".mysql_escape_string($rem_3)."', '".mysql_escape_string($tech_3)."', '".mysql_escape_string($date_3)."', '".mysql_escape_string($tel_3)."')";
    mysql_query($base)or die('Erreur SQL !'.$base.''.mysql_error());
    }

    //ligne 4 du form//

    if ($ref_4 != '' && $nom_4 != '' && $adr_4 != '' && $rem_4 != '' && $tech_4 != '' && $date_4 != '' && $tel_4)
    {
    $base = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($ref_4)."', '".mysql_escape_string($nom_4)."', '".mysql_escape_string($adr_4)."', '".mysql_escape_string($rem_4)."', '".mysql_escape_string($tech_4)."', '".mysql_escape_string($date_4)."', '".mysql_escape_string($tel_4)."')";
    mysql_query($base)or die('Erreur SQL !'.$base.''.mysql_error());
    }


    //ligne 5 du form//

    if ($ref_5 != '' && $nom_5 != '' && $adr_5 != '' && $rem_5 != '' && $tech_5 != '' && $date_5 != '' && $tel_5)
    {
    $base = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($ref_5)."', '".mysql_escape_string($nom_5)."', '".mysql_escape_string($adr_5)."', '".mysql_escape_string($rem_5)."', '".mysql_escape_string($tech_5)."', '".mysql_escape_string($date_5)."', '".mysql_escape_string($tel_5)."')";
    mysql_query($base)or die('Erreur SQL !'.$base.''.mysql_error());
    }


    //ligne 6 du form//

    if ($ref_6 != '' && $nom_6 != '' && $adr_6 != '' && $rem_6 != '' && $tech_6 != '' && $date_6 != '' && $tel_6)
    {
    $base = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($ref_6)."', '".mysql_escape_string($nom_6)."', '".mysql_escape_string($adr_6)."', '".mysql_escape_string($rem_6)."', '".mysql_escape_string($tech_6)."', '".mysql_escape_string($date_6)."', '".mysql_escape_string($tel_6)."')";
    mysql_query($base)or die('Erreur SQL !'.$base.''.mysql_error());
    }
    mysql_close($link);

    echo 'merci beaucoup, vos infos ont été enregistrées.';

    ?>
    <html>
    <head></head>
    <body>
    <body background="../img/grd-4px.gif">

    <a href="../deconnexion.php"><font color="#FF0000">Déconnexion</font></a>

    </body>
    </html>
    D'avance merci

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    
    if ($ref_1 != '' && $nom_1 != '' && $adr_1 != '' && $rem_1 != '' && $tech_1 != '' && $date_1 != '' && $tel_1) {
    }
    $base = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES etc...
    mysql_query($base)or die('Erreur SQL !'.$base.''.mysql_error());
    ton acolade ferme le if, et ta requete viens après... donc elle sera executer a chaque fois que le script sera exécuter... ça explique peut être tes enregistrements vides !

  3. #3
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par gloubi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    
    if ($ref_1 != '' && $nom_1 != '' && $adr_1 != '' && $rem_1 != '' && $tech_1 != '' && $date_1 != '' && $tel_1) {
    }
    $base = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES etc...
    mysql_query($base)or die('Erreur SQL !'.$base.''.mysql_error());
    ton acolade ferme le if, et ta requete viens après... donc elle sera executer a chaque fois que le script sera exécuter... ça explique peut être tes enregistrements vides !
    Salut
    Merci pour cette réponse mais même si je suprime if cela ne change rien, mais se que je ne comprend pas c'est que cela fonctionne sur mon WebSite et pas en Local

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    faut pas supprimer le if, mais mettre l'acolade fermante } a la fin du bloc d'instruction...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    
    if ($ref_1 != '' && $nom_1 != '' && $adr_1 != '' && $rem_1 != '' && $tech_1 != '' && $date_1 != '' && $tel_1) {
    $base = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($ref_1)."', '".mysql_escape_string($nom_1)."', '".mysql_escape_string($adr_1)."', '".mysql_escape_string($rem_1)."', '".mysql_escape_string($tech_1)."', '".mysql_escape_string($date_1)."', '".mysql_escape_string($tel_1)."')";
    mysql_query($base)or die('Erreur SQL !'.$base.''.mysql_error());
    }
    ensuite, en explication a pourquoi ca fonctionne dans un cas et pas dans l'autre, il suffit que sur l'un ta base accepete des parametres null et pas sur l'autre...

    Disons qu'avant de rentrer dans le détail, il faut que tu règle ton problème de IF, et pas en le supprimant, car dans l'état actuel des choses, le supprimer revient EXACTEMENT au même que de ne pas toucher à ton code original.

  5. #5
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par gloubi
    faut pas supprimer le if, mais mettre l'acolade fermante } a la fin du bloc d'instruction...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    
    if ($ref_1 != '' && $nom_1 != '' && $adr_1 != '' && $rem_1 != '' && $tech_1 != '' && $date_1 != '' && $tel_1) {
    $base = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($ref_1)."', '".mysql_escape_string($nom_1)."', '".mysql_escape_string($adr_1)."', '".mysql_escape_string($rem_1)."', '".mysql_escape_string($tech_1)."', '".mysql_escape_string($date_1)."', '".mysql_escape_string($tel_1)."')";
    mysql_query($base)or die('Erreur SQL !'.$base.''.mysql_error());
    }
    ensuite, en explication a pourquoi ca fonctionne dans un cas et pas dans l'autre, il suffit que sur l'un ta base accepete des parametres null et pas sur l'autre...

    Disons qu'avant de rentrer dans le détail, il faut que tu règle ton problème de IF, et pas en le supprimant, car dans l'état actuel des choses, le supprimer revient EXACTEMENT au même que de ne pas toucher à ton code original.
    Salut et merci pour vos réponses,
    Alors voici mon code modifier et cela ne change rien ....

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     <?PHP
    session_start();
    if (!isset($_SESSION['login'])) {
        header ('Location: ../index.php');
        exit();
    }
    ?>
    <?PHP
     
    include "../connect/fc-phpconnect.php";
     
    //  ligne 1 du form//
     
     
    if ($IDClient != '' && $ref_1 != '' && $nom_1 != '' && $adr_1 != '' && $rem_1 != '' && $tech_1 != '' && $date_1 != '' && $tel_1) {
    $sql = "INSERT INTO prestation_juillet_2006 (IDClient,ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($IDClient)."','".mysql_escape_string($ref_1)."','".mysql_escape_string($nom_1)."','".mysql_escape_string($adr_1)."','".mysql_escape_string($rem_1)."','".mysql_escape_string($tech_1)."','".mysql_escape_string($date_1)."','".mysql_escape_string($tel_1)."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
    }
    // ligne 2 fu form//
     
    if ($ref_2 != '' && $nom_2 != '' && $adr_2 != '' && $rem_2 != '' && $tech_2 != '' && $date_2 != '' && $tel_2){
    $sql = "INSERT INTO prestation_juillet_2006 (IDClient,ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($IDClient)."','".mysql_escape_string($ref_2)."','".mysql_escape_string($nom_2)."','".mysql_escape_string($adr_2)."','".mysql_escape_string($rem_2)."','".mysql_escape_string($tech_2)."','".mysql_escape_string($date_2)."','".mysql_escape_string($tel_2)."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
    }
     
     
    // ligne 3 du form//
     
    if ($ref_3 != '' && $nom_3 != '' && $adr_3 != '' && $rem_3 != '' && $tech_3 != '' && $date_3 != '' && $tel_3){
    $sql = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($IDClient)."','".mysql_escape_string($ref_3)."','".mysql_escape_string($nom_3)."','".mysql_escape_string($adr_3)."','".mysql_escape_string($rem_3)."','".mysql_escape_string($tech_3)."','".mysql_escape_string($date_3)."','".mysql_escape_string($tel_3)."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
    }
     
    // ligne 4 du form//
     
    if ($ref_4 != '' && $nom_4 != '' && $adr_4 != '' && $rem_4 != '' && $tech_4 != '' && $date_4 != '' && $tel_4){
    $sql = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($IDClient)."','".mysql_escape_string($IDClient)."','".mysql_escape_string($ref_4)."','".mysql_escape_string($nom_4)."','".mysql_escape_string($adr_4)."','".mysql_escape_string($rem_4)."','".mysql_escape_string($tech_4)."','".mysql_escape_string($date_4)."','".mysql_escape_string($tel_4)."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
    }
     
     
    // ligne 5 du form//
     
    if ($ref_5 != '' && $nom_5 != '' && $adr_5 != '' && $rem_5 != '' && $tech_5 != '' && $date_5 != '' && $tel_5){
    $sql = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($IDClient)."','".mysql_escape_string($ref_5)."','".mysql_escape_string($nom_5)."','".mysql_escape_string($adr_5)."','".mysql_escape_string($rem_5)."','".mysql_escape_string($tech_5)."','".mysql_escape_string($date_5)."','".mysql_escape_string($tel_5)."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
    }
     
     
    //ligne 6 du form//
     
    if ($ref_6 != '' && $nom_6 != '' && $adr_6 != '' && $rem_6 != '' && $tech_6 != '' && $date_6 != '' && $tel_6) {
    $sql = "INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($IDClient)."','".mysql_escape_string($ref_6)."','".mysql_escape_string($nom_6)."','".mysql_escape_string($adr_6)."','".mysql_escape_string($rem_6)."','".mysql_escape_string($tech_6)."','".mysql_escape_string($date_6)."','".mysql_escape_string($tel_6)."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
    }
    mysql_close($link);
     
    echo 'merci beaucoup, vos infos ont été enregistrées.';
     
    ?>
    <html>
    <head></head>
    <body>
    <body background="../img/grd-4px.gif">
     
    <a href="../deconnexion.php"><font color="#FF0000">Déconnexion</font></a>
     
    </body>
    </html>
    Merci d'avance

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    comment s'appel ton fichier ?

    edit : validation.php

    pardon, j'avais pas vu... du coup, essaye ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <?PHP
    session_start();
    if (!isset($_SESSION['login'])) {
    //header ('Location: ../index.php');
    echo "paf";
    exit();
    } 
     
    ect....
    et dis nous si ca change kkchose

  7. #7
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par gloubi
    comment s'appel ton fichier ?

    edit : validation.php

    pardon, j'avais pas vu... du coup, essaye ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <?PHP
    session_start();
    if (!isset($_SESSION['login'])) {
    //header ('Location: ../index.php');
    echo "paf";
    exit();
    } 
     
    ect....
    et dis nous si ca change kkchose
    Non rien sorry et j'avais déjà vérifier que j'étais bien logué, de plus si cela n'avait pas été le cas je n'aurais pas d'enregistrement vide
    Merci

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    tu veux dire qu'en faisant cette modif, tu as toujours une page blanche avec rien écrit dessus ? même pas "paf" ?

  9. #9
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par gloubi
    tu veux dire qu'en faisant cette modif, tu as toujours une page blanche avec rien écrit dessus ? même pas "paf" ?
    Non j'ai ma page avec "merci les infos sont enregistrées" mais dans ma TABLE j'ai des lignes vide, et mon tableau nouvelle ligne MAIS vide......
    Je comprend rien dutout
    Le paf ne serais venu que si je n'étais pas logué mais la session login fonctionne.

    Je répéte mon problème, a la fin de la validation du form j'ai le messsage Merci vos .... etc, mais dans ma table une nouvelle ligne se crée mais elle est vide..

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    bon bha la, faut "debugger"... methode simple et rapide, rajoute echo '#ligne : ' . $sql; avant CHAQUE mysql_query en remplacant #ligne par le numéro que tu appels //ligne # du forum, histoire de voir d'ou ca vient.

  11. #11
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par gloubi
    bon bha la, faut "debugger"... methode simple et rapide, rajoute echo '#ligne : ' . $sql; avant CHAQUE mysql_query en remplacant #ligne par le numéro que tu appels //ligne # du forum, histoire de voir d'ou ca vient.
    Le débug ne donne rien sorry

  12. #12
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    si ça ça donne rien, c'est que t'es rentré dans aucun des if()...

    auquel cas, ton problème viens d'ailleur

  13. #13
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par gloubi
    si ça ça donne rien, c'est que t'es rentré dans aucun des if()...

    auquel cas, ton problème viens d'ailleur
    Eventuellement mais alors ci le les supprime cela devrais fonctionner et c'est pas le cas

    Merci

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 29
    Points
    29
    Par défaut
    As-tu vérifié que tes variables
    $IDClient, $ref_1, $nom_1, $adr_1 etc....
    contiennent quelquechose ?
    Parce que ton script ne les définie pas. Peut être que la définition est dans le fichier que tu inclues, "../connect/fc-phpconnect.php" ?
    Si tu récupères ces variables par la métohde POST ou GET alors il faut utiliser les tableaux superglobaux correspondants ($_POST['ref_1'] par exemple au lieu de $ref_1). Peut être que ça marche sur un autre serveur web parce que celui-ci est configuré pour définir automatiquemment les variables reçues dans ton script.

    Enfin, ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'merci beaucoup, vos infos ont été enregistrées.';
    est écrit dans la page renvoyée au client avant la balise <html> c'est quelque peu embettant ^^

  15. #15
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par Thuliad
    As-tu vérifié que tes variables
    $IDClient, $ref_1, $nom_1, $adr_1 etc....
    contiennent quelquechose ?
    Parce que ton script ne les définie pas. Peut être que la définition est dans le fichier que tu inclues, "../connect/fc-phpconnect.php" ?
    Si tu récupères ces variables par la métohde POST ou GET alors il faut utiliser les tableaux superglobaux correspondants ($_POST['ref_1'] par exemple au lieu de $ref_1). Peut être que ça marche sur un autre serveur web parce que celui-ci est configuré pour définir automatiquemment les variables reçues dans ton script.

    Enfin, ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'merci beaucoup, vos infos ont été enregistrées.';
    est écrit dans la page renvoyée au client avant la balise <html> c'est quelque peu embettant ^^
    Salut
    Voilà je pense que a mis le doigt dessus pas effectivement mes variable ne sont déffinie, je les déclare dans mon fichier index j'imagine ???

    <?php
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion'){
    if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

    include "connect/fc-phpconnect.php";
    // on teste si une entrée de la base contient ce couple login / pass
    $sql = 'SELECT url,nom FROM membre WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'"';
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $data = mysql_fetch_array($req);
    $nom = $data['nom'];
    mysql_close();
    // si on obtient une réponse, alors l'utilisateur est un membre
    if (mysql_num_rows($req) == 1){
    session_start();
    $_SESSION['login'] = $_POST['login'];
    $_SESSION['nom'] = $nom;
    //'url' = adresse du champ "nom" correspondant au login de session de la TABLE membre
    $url = $data['url'];
    header('Location:'.$url);
    exit();
    }

    // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
    elseif ($data[0] == 0) {
    $erreur = 'Compte non reconnu.';
    }

    // sinon, alors la, il y a un gros problème
    else {
    $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
    }
    }
    else {
    $erreur = 'Au moins un des champs est vide.';
    }
    }
    ?>
    Et ci tu pouvais me donner un exemple j'apprécirais beaucoup
    D'avance merci

  16. #16
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Ok voilà ça fonctionne enfin merci a toi tu ma donner la bonne direction
    <?php
    session_start();
    if (!isset($_SESSION['login'])) {
    header ('Location: ../index.php');
    exit();
    }
    include "../connect/fc-phpconnect.php";


    // ligne 1 du form//

    if ($ref_1 != '' && $nom_1 != '' && $adr_1 != '' && $rem_1 != '' && $tech_1 != '' && $date_1 != '' && $tel_1) {
    }

    $sql="INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($_POST['ref_1'])."','".mysql_escape_string($_POST['nom_1'])."','".mysql_escape_string($_POST['adr_1'])."','".mysql_escape_string($_POST['rem_1'])."','".mysql_escape_string($_POST['tech_1'])."','".mysql_escape_string($_POST['date_1'])."','".mysql_escape_string($_POST['tel_1'])."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());


    // ligne 2 fu form//

    if ($ref_2 != '' && $nom_2 != '' && $adr_2 != '' && $rem_2 != '' && $tech_2 != '' && $date_2 != '' && $tel_2){

    }
    $sql="INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($_POST['ref_2'])."','".mysql_escape_string($_POST['nom_2'])."','".mysql_escape_string($_POST['adr_2'])."','".mysql_escape_string($_POST['rem_2'])."','".mysql_escape_string($_POST['tech_2'])."','".mysql_escape_string($_POST['date_2'])."','".mysql_escape_string($_POST['tel_2'])."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());



    // ligne 3 du form//

    if ($ref_3 != '' && $nom_3 != '' && $adr_3 != '' && $rem_3 != '' && $tech_3 != '' && $date_3 != '' && $tel_3){

    }
    $sql="INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($_POST['ref_3'])."','".mysql_escape_string($_POST['nom_3'])."','".mysql_escape_string($_POST['adr_3'])."','".mysql_escape_string($_POST['rem_3'])."','".mysql_escape_string($_POST['tech_3'])."','".mysql_escape_string($_POST['date_3'])."','".mysql_escape_string($_POST['tel_3'])."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());


    // ligne 4 du form//

    if ($ref_4 != '' && $nom_4 != '' && $adr_4 != '' && $rem_4 != '' && $tech_4 != '' && $date_4 != '' && $tel_4){

    }
    $sql="INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($_POST['ref_4'])."','".mysql_escape_string($_POST['nom_4'])."','".mysql_escape_string($_POST['adr_4'])."','".mysql_escape_string($_POST['rem_4'])."','".mysql_escape_string($_POST['tech_4'])."','".mysql_escape_string($_POST['date_4'])."','".mysql_escape_string($_POST['tel_4'])."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());



    // ligne 6 du form//

    if ($ref_5 != '' && $nom_5 != '' && $adr_5 != '' && $rem_5 != '' && $tech_5 != '' && $date_5 != '' && $tel_5){

    }
    $sql="INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($_POST['ref_5'])."','".mysql_escape_string($_POST['nom_5'])."','".mysql_escape_string($_POST['adr_5'])."','".mysql_escape_string($_POST['rem_5'])."','".mysql_escape_string($_POST['tech_5'])."','".mysql_escape_string($_POST['date_5'])."','".mysql_escape_string($_POST['tel_5'])."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());



    //ligne 6 du form//

    if ($ref_6 != '' && $nom_6 != '' && $adr_6 != '' && $rem_6 != '' && $tech_6 != '' && $date_6 != '' && $tel_6) {

    }
    $sql="INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) VALUES ('".mysql_escape_string($_POST['ref_6'])."','".mysql_escape_string($_POST['nom_6'])."','".mysql_escape_string($_POST['adr_6'])."','".mysql_escape_string($_POST['rem_6'])."','".mysql_escape_string($_POST['tech_6'])."','".mysql_escape_string($_POST['date_6'])."','".mysql_escape_string($_POST['tel_6'])."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());

    ?>
    <html>
    <head></head>
    <body>
    <body background="../img/grd-4px.gif">
    <?php
    echo 'merci beaucoup, vos infos ont été enregistrées.';
    ?>
    <a href="../deconnexion.php"><font color="#FF0000">Déconnexion</font></a>

    </body>
    </html>
    Par contre je me retrouve avec un autre problème mes IF ne fonctionne plus quand j'introduit 1 lignes les 5 autre s'enregistre vide dans ma TABLE
    Pour mes if ne fonctionne plus, et surtout POURQUOI y a t'il autant de différence en Local avec le serveur ?????

    Merci

  17. #17
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    Je vais peut être me répéter, mais avec ton dernier exemple, avec ou sans if(), c'est EXACTEMENT pareil !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(condition) { } instruction
    est strictement égale à

    un if(), ca fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(condition) { instructions }

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 29
    Points
    29
    Par défaut
    Oki.
    Je te suggère d'utiliser une boucle au lieu de réécrire cinq fois les mêmes choses pour validation.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    for ($i = 5; $i--; )
    {
      $sql="INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) 
            VALUES ('".mysql_escape_string($_POST['ref_'.$i])."','".mysql_escape_string($_POST['nom_'.$i])."',.........;
      mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
    }
    qui inserera de la cinquième à la première ligne.

    Et en effet pour les IF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ($ref_1 != '' && $nom_1 != '' && $adr_1 != '' && $rem_1 != '' && $tech_1 != '' && $date_1 != '' && $tel_1) {
    }
    signifie que
    SI $ref_1 n'est pas vide et que $nom_1 n'est pas vide et...etc
    ALORS faire {}

    et {} ne fais rien donc tes if ne servent à rien.

  19. #19
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par Thuliad
    Oki.
    Je te suggère d'utiliser une boucle au lieu de réécrire cinq fois les mêmes choses pour validation.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    for ($i = 5; $i--; )
    {
      $sql="INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) 
            VALUES ('".mysql_escape_string($_POST['ref_'.$i])."','".mysql_escape_string($_POST['nom_'.$i])."',.........;
      mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
    }
    qui inserera de la cinquième à la première ligne.

    Et en effet pour les IF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ($ref_1 != '' && $nom_1 != '' && $adr_1 != '' && $rem_1 != '' && $tech_1 != '' && $date_1 != '' && $tel_1) {
    }
    signifie que
    SI $ref_1 n'est pas vide et que $nom_1 n'est pas vide et...etc
    ALORS faire {}

    et {} ne fais rien donc tes if ne servent à rien.
    Merci ta boucle est en effet BEAUCOUP plus simple que ma méthode de réecrire 6 x la même requete, par contre je voulais de if pour qu'il n'enregistre pas dans la TABLE les lignes vide de mon formulaire avec ta méthode cela fonctionne mais il enregistre même les lignes vide ???
    Qustion comment je place mes if dans ta méthode ?

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 29
    Points
    29
    Par défaut
    Tu aurais pu trouver ça tout seul



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for ($i = 5; $i--; )
    {
      if (!$_POST['ref_'.$i] || !$_POST['nom_'.$i] || !$_POST['adr_'.$i].............) continue;
      $sql="INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) 
            VALUES ('".mysql_escape_string($_POST['ref_'.$i])."','".mysql_escape_string($_POST['nom_'.$i])."',.........;
      mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
    }
    l'opérateur || signifie OU
    l'opérateu ! est l'opérateur logique de négation (en gros dans ton cas remplacerait un == '')
    continue passe directement à l'itération suivante

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [MySQL-5.5] Problème d'insertion dans une table avec un fichier externe
    Par tabony dans le forum Requêtes
    Réponses: 0
    Dernier message: 26/11/2013, 12h55
  2. [MySQL] problème avec insert dans une table
    Par berti dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 04/07/2008, 15h30
  3. Problème avec Insert dans une table contenant deux clés
    Par pure_blue dans le forum Accès aux données
    Réponses: 5
    Dernier message: 23/10/2006, 19h32
  4. [MySQL] Problème d'insertion dans une table
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/03/2006, 17h43
  5. Problème d'insertion dans une table MYSQL
    Par greg69 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/10/2005, 11h34

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