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

Dreamweaver Discussion :

Insérer un enregistrement [DW 8 & antérieurs]


Sujet :

Dreamweaver

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Points : 9
    Points
    9
    Par défaut Insérer un enregistrement
    Bonjour à tous,
    Je suis entrain de développer un site en PHP / mysql avec dreamweaver, je suis débutante dans le domaine. Je suis entrain de faire un formulaire qui enregistre un nouveau contact. Dans la base de données , il y a la table principale « personne », vers laquelle d’autres tables pointes « coordonnees », « statut », « regime_matrimonial », « titre »…
    Ce formulaire est réparti sur 2 pages, car il y a beaucoup d’informations à enregistrer. Au pied de la première page, il y a un bouton « Etape suivante », qui renvoi vers la 2pages du formulaire. Au pied et cette 2e page, il y a un bouton « Submit », pour enregistrer les données dans la base de données.
    Lorsque j’appuie sur « submit » ca n’enregistre uniquement que les données de la 2e page !
    Pour créer le code de mon formulaire, je suis partie de la fenêtre "comportements du serveur" "+" "insérer un enregistrement.

    Je voudrais donc savoir comment, via dreamweaver, je peux stocker les éléments de la première page dans la 2e page, avant d’enregistrer ? Via une session ? Dans ce cas, comment dois-je procéder ?


    Un tout grand merci d’avance !
    Gofinha

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    Salut,
    le problème indiqué ne vient pas de dreamweaver mais d'une mauvaise(?) compréhension des formulaire et des langages utilisés.

    En tout cas, en principe ton formulaire 2 doit prendre en compte à l'aide de php la réception des éléments du formulaire précédent.

    Soit tu utilise des session soit tu utilise des données hidden.

    A savoir, dans ta seconde page tu va tester si tes variable sont bien saisie ($_POST["var"] ......) ou ($_GET[""] , ......) et tu les place dans des <input type='hidden' name... value=' .....' >

    Si mon post n'est pas assez clair je pense que tu devrais reformuler ta demande dans la section php.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Merci pour ta réponse Vil'Coyote,

    je vais essayer... et bien voir ce que ca donne!!

  4. #4
    Membre averti

    Inscrit en
    Mai 2008
    Messages
    348
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 348
    Points : 397
    Points
    397
    Par défaut
    Le coyotte a raison

    Tu crées autant de champs cachés de formulaires qu'il n'y a de valeurs envoyées par le formulaire 1.

    Tu récupères chaque valeur du formulaire 1 par la méthode POST et tu les transformes en variable simple.

    Exemple :

    un champ "nom" dans le formulaire 1 pourra être récupéré et transformé en variable simple de cette manière :

    Dans ton comportement insérer un enregistrement, tu affecteras à ton champ caché "nom" crée précédemment la valeur de la variable $nom et ainsi de suite pour tous tes champs.

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Tout d'abord, merci pour vos réponses! Ca m'éclaircis un peu... Je viens de modifier mon code, et je suis entrain d'essayer, mais ça ne fonctionne toujours pas! :-(
    - J'ai ouvert une session dans les 2 pages php
    - j'ai fait des input caché
    - j'ai créer des "insérer un enregistrement" en relation avec les input caché.

    Peut etre que j'ai toujours une erreur dans mon code?
    Il ressemble à ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input name="titre" type="hidden" id="titre" value='$titre=$_POST["titre"]'>
    <input name="nom" type="hidden" id="nom" value='$nom=$_POST["nom"]'>
    C'est correcte?

  6. #6
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bonsoir,
    Tu as deux solutions :
    1 - Soit tu déclares d'abord ta variable comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $titre = $_POST['titre'];
    $nom = $_POST['nom'];
    ?>
    <input name="titre" type="hidden" id="titre" value="<?php echo $titre ; ?>">
    <input name="nom" type="hidden" id="nom" value="<?php echo $nom ; ?>">
    2 - Soit tu fais directement un 'echo' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input name="titre" type="hidden" id="titre" value="<?php echo $_POST['titre'] ; ?>">
    <input name="nom" type="hidden" id="nom" value="<?php echo $_POST['nom'] ; ?>">

  7. #7
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Merci pour ta réponse Jumano: mais ca ne fonctionne tjs pas (
    J'ai l'impression que "insérer un enregistrement" dans "comportements de serveur" ne fonctionne pas.
    comme code j'ai
    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
    <?php session_start();?>
    <?php 
    $titre = $_POST['titre'];
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $reference = $_POST['reference'];
    $statut = $_POST['statut'];
    $regime_matrimonial = $_POST['regime_matrimonial'];
    $langue = $_POST['langue'];
    $no_compte = $_POST['no_compte'];
    $tva = $_POST['tva'];
    $url = $_POST['url'];
    $newsletter = $_POST['newsletter'];
    $rue = $_POST['rue'];
    $numero = $_POST['numero'];
    $code_postal = $_POST['code_postal'];
    $commune = $_POST['commune'];
    $pays = $_POST['pays'];
    $telephone_fixe = $_POST['telephone_fixe'];
    $gsm_prive = $_POST['gsm_prive'];					  
    $gsm_prof = $_POST['gsm_prof'];
    $fax = $_POST['fax'];
    $email = $_POST['email'];
    ?>
    <input name="titre" type="hidden" id="titre" value="<?php echo $titre ; ?>">
    <input name="nom" type="hidden" id="nom" value="<?php echo $nom ; ?>">
    ...
    comme tables j'ai: titre, personne, proprio, coordonnee, statut, regime_matrimonial.

    J'ai fait un jeu d'enregistrement pour lier les tables entres-elles (je ne sais pas si c'est nécessaire?)
    Et j'ai fait "insérer un enregistrement" pour chaque table.
    ce qui donne que ca n'enregistre tjs que la dernière table de ma 2e page php! (

    Aurais-je loupé une étape??

  8. #8
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    Salut,
    tes balises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input name="titre" type="hidden" id="titre" value="<?php echo $titre ; ?>">
    <input name="nom" type="hidden" id="nom" value="<?php echo $nom ; ?>">
    .......
    sont bien placé dans le formulaire de ta seconde page? comment récupères tu les données de ta seconde page pour la requête sql?
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  9. #9
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    mes données cachées sont dans une ligne d'un tableau qui se trouve dans le formulaire:
    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
    <form action="<?php echo $editFormAction; ?>" method="POST" name="formulaire_proprio">
                      <table width="561" border="0" align="center" class="Style_texte1">
                      <tr>
                        <td>
    <input name="titre" type="hidden" id="titre" value="<?php echo $titre ; ?>">
    <input name="nom" type="hidden" id="nom" value="<?php echo $nom ; ?>">
    ...
    				</td>
                        </tr>
                    </table>
                                     <a href="encodage_proprio0.php">&lt;Etape pr&eacute;c&eacute;dente</a>
                        <input type="submit" name="Submit" value="Sauvegarder">
                      <br>
                    </div>
                    <input type="hidden" name="MM_insert" value="formulaire_proprio">
    </form>
    Pour le reste je ne sais pas trop!!!
    J'ai fait insérer un enregistrement (pour chaque table: je sélectionne les colonnes et je les mets en rapport avec la valeur)

  10. #10
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    salut,

    ta variable $editFormAction est composé de quel façon?
    pourrais tu nous montrer le code de la page suivante?

    Merci.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  11. #11
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    sur la 2e page .php j'ai ceci:

    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    <?php
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
    
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formulaire_proprio")) {
      $insertSQL = sprintf("INSERT INTO coordonnee (rue, numero, code_postal, commune, pays) VALUES (%s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['rue'], "text"),
                           GetSQLValueString($_POST['numero'], "text"),
                           GetSQLValueString($_POST['code_postal'], "text"),
                           GetSQLValueString($_POST['commune'], "text"),
                           GetSQLValueString($_POST['pays'], "text"));
    
      mysql_select_db($database_connect, $connect);
      $Result1 = mysql_query($insertSQL, $connect) or die(mysql_error());
    
      $insertGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formulaire_proprio")) {
      $insertSQL = sprintf("INSERT INTO ident (email, responsable_dossier) VALUES (%s, %s)",
                           GetSQLValueString($_POST['email'], "text"),
                           GetSQLValueString($_POST['responsable_dossier'], "text"));
    
      mysql_select_db($database_connect, $connect);
      $Result1 = mysql_query($insertSQL, $connect) or die(mysql_error());
    
      $insertGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formulaire_proprio")) {
      $insertSQL = sprintf("INSERT INTO langue (langues) VALUES (%s)",
                           GetSQLValueString($_POST['langue'], "text"));
    
      mysql_select_db($database_connect, $connect);
      $Result1 = mysql_query($insertSQL, $connect) or die(mysql_error());
    
      $insertGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formulaire_proprio")) {
      $insertSQL = sprintf("INSERT INTO personne (nom, prenom, telephone_fixe, gsm_prive, gsm_prof, fax, email, reference, newsletter) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['nom'], "text"),
                           GetSQLValueString($_POST['prenom'], "text"),
                           GetSQLValueString($_POST['telephone_fixe'], "int"),
                           GetSQLValueString($_POST['gsm_prive'], "int"),
                           GetSQLValueString($_POST['gsm_prof'], "int"),
                           GetSQLValueString($_POST['fax'], "int"),
                           GetSQLValueString($_POST['email'], "text"),
                           GetSQLValueString($_POST['reference'], "text"),
                           GetSQLValueString($_POST['newsletter'], "text"));
    
      mysql_select_db($database_connect, $connect);
      $Result1 = mysql_query($insertSQL, $connect) or die(mysql_error());
    
      $insertGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formulaire_proprio")) {
      $insertSQL = sprintf("INSERT INTO proprio (no_compte, tva, url, commentaire, origine) VALUES (%s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['no_compte'], "text"),
                           GetSQLValueString($_POST['tva'], "text"),
                           GetSQLValueString($_POST['url'], "text"),
                           GetSQLValueString($_POST['commentaire'], "text"),
                           GetSQLValueString($_POST['origine'], "text"));
    
      mysql_select_db($database_connect, $connect);
      $Result1 = mysql_query($insertSQL, $connect) or die(mysql_error());
    
      $insertGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formulaire_proprio")) {
      $insertSQL = sprintf("INSERT INTO regime_matrimonial (regime_matrimonial) VALUES (%s)",
                           GetSQLValueString($_POST['regime_matrimonial'], "text"));
    
      mysql_select_db($database_connect, $connect);
      $Result1 = mysql_query($insertSQL, $connect) or die(mysql_error());
    
      $insertGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formulaire_proprio")) {
      $insertSQL = sprintf("INSERT INTO statut (statut) VALUES (%s)",
                           GetSQLValueString($_POST['statut'], "text"));
    
      mysql_select_db($database_connect, $connect);
      $Result1 = mysql_query($insertSQL, $connect) or die(mysql_error());
    
      $insertGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formulaire_proprio")) {
      $insertSQL = sprintf("INSERT INTO titre (titre) VALUES (%s)",
                           GetSQLValueString($_POST['titre'], "text"));
    
      mysql_select_db($database_connect, $connect);
      $Result1 = mysql_query($insertSQL, $connect) or die(mysql_error());
    
      $insertGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    ?>
    Botzouk : édition pour ajouter la balise FORM (meilleure lisibilité)

  12. #12
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bonjour,

    Le problème est qu'après chaque requête d'insertion tu est redirigé vers la page "index.php".
    Si Dreamweaver permet d'insérer des enregistrements par le biais des comportements serveurs, tu ne peux malheuresement le faire qu'une seule fois, puisqu'ensuite tu es redirigé vers une autre page. Ce qui entraine que les autres insertions ne soient pas prises en compte.
    Pour les autres requêtes d'insertion c'est à toi de tapper le code directement, entre le code d'insertion et la redirection.
    Voici ton code modifié, je l'ai également commenté pour tu comprennes mieux :
    Code php : 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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    <?php
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
     
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
     
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }
     
    // Si j'ai posté mon formulaire
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formulaire_proprio")) {
     
      // Insertion dans ma table "coordonnee"	
      $insertSQL = sprintf("INSERT INTO coordonnee (rue, numero, code_postal, commune, pays) VALUES (%s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['rue'], "text"),
                           GetSQLValueString($_POST['numero'], "text"),
                           GetSQLValueString($_POST['code_postal'], "text"),
                           GetSQLValueString($_POST['commune'], "text"),
                           GetSQLValueString($_POST['pays'], "text"));
     
      mysql_select_db($database_connect, $connect);
      $Result = mysql_query($insertSQL, $connect) or die(mysql_error());
     
      //Puis Insertion dans ma table "ident"
      $insertSQL1 = sprintf("INSERT INTO ident (email, responsable_dossier) VALUES (%s, %s)",
                           GetSQLValueString($_POST['email'], "text"),
                           GetSQLValueString($_POST['responsable_dossier'], "text"));
     
      mysql_select_db($database_connect, $connect);
      $Result1 = mysql_query($insertSQL1, $connect) or die(mysql_error());
     
      //Puis Insertion dans ma table "langue"
      $insertSQL2 = sprintf("INSERT INTO langue (langues) VALUES (%s)",
                           GetSQLValueString($_POST['langue'], "text"));
     
      mysql_select_db($database_connect, $connect);
      $Result2 = mysql_query($insertSQL2, $connect) or die(mysql_error());
     
      //Puis Insertion dans ma table "personne"
      $insertSQL3 = sprintf("INSERT INTO personne (nom, prenom, telephone_fixe, gsm_prive, gsm_prof, fax, email, reference, newsletter) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['nom'], "text"),
                           GetSQLValueString($_POST['prenom'], "text"),
                           GetSQLValueString($_POST['telephone_fixe'], "int"),
                           GetSQLValueString($_POST['gsm_prive'], "int"),
                           GetSQLValueString($_POST['gsm_prof'], "int"),
                           GetSQLValueString($_POST['fax'], "int"),
                           GetSQLValueString($_POST['email'], "text"),
                           GetSQLValueString($_POST['reference'], "text"),
                           GetSQLValueString($_POST['newsletter'], "text"));
     
      mysql_select_db($database_connect, $connect);
      $Result3 = mysql_query($insertSQL3, $connect) or die(mysql_error());
     
      //Puis Insertion dans ma table "proprio"
      $insertSQL4 = sprintf("INSERT INTO proprio (no_compte, tva, url, commentaire, origine) VALUES (%s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['no_compte'], "text"),
                           GetSQLValueString($_POST['tva'], "text"),
                           GetSQLValueString($_POST['url'], "text"),
                           GetSQLValueString($_POST['commentaire'], "text"),
                           GetSQLValueString($_POST['origine'], "text"));
     
      mysql_select_db($database_connect, $connect);
      $Result4 = mysql_query($insertSQL4, $connect) or die(mysql_error());
     
      //Puis Insertion dans ma table "regime_matrimonial"
      $insertSQL5 = sprintf("INSERT INTO regime_matrimonial (regime_matrimonial) VALUES (%s)",
                           GetSQLValueString($_POST['regime_matrimonial'], "text"));
     
      mysql_select_db($database_connect, $connect);
      $Result5 = mysql_query($insertSQL5, $connect) or die(mysql_error());
     
      //Puis Insertion dans ma table "statut"
      $insertSQL6 = sprintf("INSERT INTO statut (statut) VALUES (%s)",
                           GetSQLValueString($_POST['statut'], "text"));
     
      mysql_select_db($database_connect, $connect);
      $Result6 = mysql_query($insertSQL6, $connect) or die(mysql_error());
     
      //Puis Insertion dans ma table "titre"
      $insertSQL7 = sprintf("INSERT INTO titre (titre) VALUES (%s)",
                           GetSQLValueString($_POST['titre'], "text"));
     
      mysql_select_db($database_connect, $connect);
      $Result7 = mysql_query($insertSQL7, $connect) or die(mysql_error());
     
      // Maitenant je peux rediriger vers la page "index.php"
      $insertGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    ?>

  13. #13
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Waoo un tout grand merci.
    Je comprends ainsi tt le déroulement.
    Je viens d'essayer de le tester et il reste tjs un bug :-(, c'était au niveau de l'email. Donc j'ai regardé dans le code, et j'ai vu que pour la table "ident" je n'insérais pas d'email, donc j'ai retiré cette info là, ce qui me donne:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      //Puis Insertion dans ma table "ident"
      $insertSQL1 = sprintf("INSERT INTO ident (responsable_dossier) VALUES (%s)",
                           GetSQLValueString($_POST['responsable_dossier'], "text"));
     
      mysql_select_db($database_connect, $connect);
      $Result1 = mysql_query($insertSQL1, $connect) or die(mysql_error());

    mais quand je teste j'ai ceci comme erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Duplicate entry '0' for key 'PRIMARY'
    J'ai également essayé en modifiant l'ordre de mes requêtes:
    en insérant "titre" "coordonnee", personne", "statut", "regime_matrimonial", "langue", "ident, et "proprio"
    Et j'ai ce message d'erreur ci : Column 'titre' cannot be null

    Merci!

  14. #14
    Membre averti

    Inscrit en
    Mai 2008
    Messages
    348
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 348
    Points : 397
    Points
    397
    Par défaut
    1/ Ce message est simplement du au fait que ton champ faisant office de clé primaire doit avoir l'attribut d'auto increment, c'est à dire que la valeur va s'incrémenter de 1 à chaque enregistrement. Or pour le moment il ne l'a pas donc chaque enregistrement prend la valeur 0 et ce n'est pas possible.

    En effet une clé primaire doit être unique car c'est grâce à elle qu'on retrouve les enregistrements de la base de données.

    Va dans MySQL, vérifie la structure de ta table, au niveau de ton champ faisant office de clé primaire et ajoute cet attribut cela marchera nickel après

    2/ Pour le message
    Column 'titre' cannot be null
    apparemment aucun enregistrement n'est envoyé faisant référence à ton champ titre ce qui n'est pas possible puisque selon ton paramétrage le champ titre ne peut pas avoir la valeur NULL. Remet tes requêtes dans le bon ordre et teste ma première solution.

  15. #15
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Ca ne fonctionne tjs pas

    Voici la structure de ma table "titre":

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    id_titre[champ] int(10)[type] unsigned[attribut] NON[Null] Défaut[aucun]
    titre[champ] varchar(25)[type] Utf8[] unsigned[attribut] NON[Null] Défaut[aucun]

    et les données enregistrées dans mysql (puisque c'est un menu déroulant):
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    id_titre   titre
    0
    1           Mlle
    2           Mme
    3           M
    4           Mme&M
    5           Mmes
    6           Ms

    Dans mon code html de la première page du formulaire, j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <select name="id_titre" mode="multiple">
    <option value="1">Mademoiselle</option>
    <option value="2">Madame</option>
    <option value="3">Monsieur</option>
    <option value="4">Madame & Monsieur</option>
    <option value="5">Mesdames</option>
    <option value="6">Messieurs</option>
    </select>
    Dans le select name, est ce que je dois mettre "id_titre" ou "titre"?
    Merci

  16. #16
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    J'ai encore un peu modifier le code php, ca fonctionne maintenant.
    Merci pour votre aide!

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

Discussions similaires

  1. insérer plusieurs enregistrements simultanément
    Par Sheriff dans le forum Administration
    Réponses: 6
    Dernier message: 06/12/2006, 16h05
  2. Réponses: 5
    Dernier message: 27/10/2006, 08h43
  3. Insérer un enregistrement dans un fichier XML
    Par insane_fr dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 19/05/2006, 21h30
  4. boucle pour insérer des enregistrements
    Par roots_man dans le forum ASP
    Réponses: 7
    Dernier message: 05/10/2004, 09h28
  5. Insérer plusieurs enregistrements en une seule requête
    Par pyd001 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/02/2004, 10h38

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