Partage
  • Partager sur Facebook
  • Partager sur Twitter

récupérer l'id d'une table dans une variable

    11 septembre 2019 à 21:14:40

    J'aimerai récupérer l'id d'une table 1 pour l'insérer dans une table 2
    • Partager sur Facebook
    • Partager sur Twitter
      11 septembre 2019 à 21:53:17

      Salut,

      un peu de lecture, du code ;)

      • Partager sur Facebook
      • Partager sur Twitter
      "K.I.S.S." Keep It Simple Stupid - Utilisez la Doc - Activer les Exceptions PDO - SQL Formes Normales
        12 septembre 2019 à 1:15:47

        J'ai 2 table users et une table account maintenant j'ai récupéré les informations grâce à un formulaire dans la table usées et le reste dans la table account maintenant je veux récupérer la clé primaire de la usées et l'introduire dans la table account et j'y arrive pas j'ai déjà essayé $fk = MySQL_insert_id(); mais ça n'a pas marché j'ai essayé plein de truc aussi sans succès vous verrez dans mon code tout à l'heure en commentaire

        Voici le code

        <!--Page de creation de compte...-->

        <?php

            session_start();//Demarre une session

            include('bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD

            // S'il y a une session alors on ne retourne plus sur cette page

            if (isset($_SESSION['id'])){

                header('Location: index.php'); 

                exit;

            }

            // Si la variable "$_Post" contient des informations alors on les traitres

            if(!empty($_POST)){

                extract($_POST);

                $valid = true;

                // On se place sur le bon formulaire grâce au "name" de la balise "input"

                if (isset($_POST['register'])){

                    $lname  = htmlentities(trim($lname)); // On récupère le lname$lname

                    $fname = htmlentities(trim($fname)); // on récupère le prélname$lname

                    $mail = htmlentities(strtolower(trim($mail))); // On récupère le mail

                    $tel = $_POST['tel']; // On recupere le tel

                    $gender = $_POST['gender']; //gender

                    $dob = $_POST['dob']; //dob

                    $adress = htmlentities(trim($adress)); //adresse

                    $city = htmlentities(trim($city)); //city

                    $country = $_POST['country']; //country

                    $pass = trim($pass); // On récupère le mot de passe 

                    $confpass = trim($confpass); //  On récupère la confirmation du mot de passe

                    $type = $_POST['type'];

                    $currency = $_POST['currency'];

                    //  Vérification du nom

                    if(empty($lname)){

                        $valid = false;

                        $er_lname = ("Last name is required");

                    }       

                    //  Vérification du prénom

                    if(empty($fname)){

                        $valid = false;

                        $er_fname = ("First name is required");

                    }       

                    // Vérification du mail

                    if(empty($mail)){

                        $valid = false;

                        $er_mail = ("E-mail is required");

                        // On vérifit que le mail est dans le bon format

                        }elseif(!preg_match("/^[a-z0-9\-_.]+@[a-z]+\.[a-z]{2,3}$/i", $mail)){

                        $valid = false;

                        $er_mail = "Invalid E-mail";

                        }else{

                        // On vérifit que le mail est disponible

                        $req_mail = $DB->query("SELECT mail FROM users WHERE mail = ?",

                            array($mail));

                        $req_mail = $req_mail->fetch();

                        if ($req_mail['mail'] <> ""){

                            $valid = false;

                            $er_mail = "This mail is already registered";

                        }

                    }

                    //  Vérification du tel

                     if(empty($tel)){

                        $valid = false;

                        $er_tel = ("Phone number is required");

                    }  

                    // Vérification du mot de passe

                    if(empty($pass)) {

                        $valid = false;

                        $er_pass = "Password is required";

                    }elseif($pass != $confpass){

                        $valid = false;

                        $er_pass = "The two password do not match";

                    }

                    //  Vérification adress

                    if(empty($adress)){

                        $valid = false;

                        $er_adress = ("Adress is required");

                    } 

                    //  Vérification city

                    if(empty($city)){

                        $valid = false;

                        $er_city = ("City is required");

                    } 

                    // Si toutes les conditions sont remplies alors on fait le traitement

                    if($valid){

                        /*$pass = crypt($pass, "$6$rounds=5000$abcdefghi123456789$");*/ //Cryptage de mot de passe desactivé

                        $reg_date = date('Y-m-d H:i:s');

                        $account_number = "1234567890";

                        $bic_swift = "0987654321";

                        $iban = "ab12cd34ef56";

                        $solde = "0";

                        //$id_users_acc = "1";

                        // On insert nos données dans la table users

                        $DB->insert("INSERT INTO users (lname, fname, mail, tel, gender, dob, pass, adress, city, country, reg_date) VALUES 

                            (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", 

                            array($lname, $fname, $mail, $tel, $gender, $dob, $pass, $adress, $city, $country, $reg_date));

                        $fk_users_id = mysql_insert_id();

                        /*$req_users_id = "SELECT id_users FROM users WHERE mail='" . $mail . "'";

                        $result = $DB->query($req_users_id) or die ('ERREUR SQL !'.$req_users_id.'<br>'.mysql_error());

                        if ($result_users_id = mysql_fetch_array($result))

                        $id_users = $result_users_id['id_users'];*/

                        // On insert d'autres données dans la table account

                        $DB->insert("INSERT INTO account (acctype, currency, account_number, bic_swift, iban, solde, fk_users_id) VALUES 

                            (?, ?, ?, ?, ?, ?, ?)", 

                            array($type, $currency, $account_number, $bic_swift, $iban, $solde, $fk_users_id));

                           /* ALTER TABLE users

                            ADD CONSTRAINT fk_users_id FOREIGN KEY users REFERENCES

                            users(users_id);*/

                        header('Location: success.php');

                        exit;

                    }

                }

            }

        ?>

        <!--HTML-->

        <!DOCTYPE html>

        <html lang="en-US">

            <head>

                <?php

                    include('head.php'); //head

                ?>

                    <title>Create an account</title>

            </head>

            <body>      

                    <?php

                    include('header.php'); //header

                    ?>

                    <div>

                    <a href="index.php">Go back to Home Page</a>

                    </div>

            <div>

                <div>

                    <h1>Create an account</h1>

                </div>

                <form method="post">

                <fieldset>

                <legend>Personnal informations</legend>

                        <?php

                            // S'il y a une erreur sur fname alors on affiche

                            if (isset($er_fname)){

                        ?>

                            <div><?= $er_fname ?></div>

                        <?php   

                            }

                        ?>

                    <input type="text" placeholder="First name" name="fname" value="<?php if(isset($fname)){ echo $fname; }?>" required><br/><br/>

                        <?php

                            // S'il y a une erreur sur lname alors on affiche

                            if (isset($er_lname)){

                        ?>

                            <div><?= $er_lname ?></div>

                        <?php   

                            }

                        ?>

                    <input type="text" placeholder="Last name" name="lname" value="<?php if(isset($lname)){ echo $lname; }?>" required><br/><br/>   

                        <?php

                            // S'il y a une erreur sur mail alors on affiche

                            if (isset($er_mail)){

                        ?>

                            <div><?= $er_mail ?></div>

                        <?php   

                            }

                        ?>

                    <input type="email" placeholder="E-mail" name="mail" value="<?php if(isset($mail)){ echo $mail; }?>" required><br/><br/>

                        <?php

                        if (isset($er_tel)){

                        ?>

                            <div><?= $er_tel ?></div>

                        <?php   

                        }

                        ?>

                    <input type="tel" placeholder="Phone number" name="tel" value="<?php if(isset($tel)){ echo $tel; }?>" required><br/><br/>

                    <label for="gender">Select gender here :</label><br/>

                                <label  for="male">Male</label>

                                <input type="radio" name="gender" value="male" required />  <!--Male-->

                                <label  for="female">Female</label>

                                <input type="radio" name="gender" value="female" required />  <!--Female-->

                                <label  for="others">Others</label>

                                <input type="radio" name="gender" value="others" required />  <br/><br/>  <!--Others-->

                    <label for="dob">Choose your birth date here :</label><br/>

                    <input type="date" name="dob" value="dob" required/> </span><br/><br/> 

                        <?php

                            if (isset($er_pass)){

                        ?>

                            <div><?= $er_pass ?></div>

                        <?php   

                            }

                        ?>

                    <input type="password" placeholder="Password" name="pass" value="<?php if(isset($pass)){ echo $pass; }?>" required></span><br/><br/>

                    <input type="password" placeholder="Confirm password" name="confpass" required><br/><br/>

                    </fieldset>

                    <fieldset>

                        <legend>Location</legend>

                        <?php

                            if (isset($er_adress)){

                        ?>

                            <div><?= $er_adress ?></div>

                        <?php   

                            }

                        ?>

                    <input type="text" placeholder="Adress" name="adress" value="<?php if(isset($adress)){ echo $adress; }?>" required><br/><br/>

                        <?php

                            if (isset($er_city)){

                        ?>

                            <div><?= $er_city ?></div>

                        <?php   

                            }

                        ?>

                    <input type="text" placeholder="City" name="city" value="<?php if(isset($city)){ echo $city; }?>" required><br/><br/>

                    <label  for="country">Choose your country here :</label><br/>

                    <select name="country" required>

                            <option value="France" selected="selected">France </option> 

                            <option value="Afghanistan">Afghanistan </option>

                            <option value="Afrique_Centrale">Afrique_Centrale </option>

                            <option value="Afrique_du_sud">Afrique_du_Sud </option>

                            <option value="Albanie">Albanie </option>

                            <option value="Algerie">Algerie </option>

                            <option value="Allemagne">Allemagne </option>

                            <option value="Andorre">Andorre </option>

                            <option value="Angola">Angola </option>

                            <option value="Anguilla">Anguilla </option>

                            <option value="Arabie_Saoudite">Arabie_Saoudite </option>

                            <option value="Argentine">Argentine </option>

                            <option value="Armenie">Armenie </option>

                            <option value="Australie">Australie </option>

                            <option value="Autriche">Autriche </option>

                            <option value="Azerbaidjan">Azerbaidjan </option>

                            <option value="Bahamas">Bahamas </option>

                            <option value="Bangladesh">Bangladesh </option>

                            <option value="Barbade">Barbade </option>

                            <option value="Bahrein">Bahrein </option>

                            <option value="Belgique">Belgique </option>

                            <option value="Belize">Belize </option>

                            <option value="Benin">Benin </option>

                            <option value="Bermudes">Bermudes </option>

                            <option value="Bielorussie">Bielorussie </option>

                            <option value="Bolivie">Bolivie </option>

                            <option value="Botswana">Botswana </option>

                            <option value="Bhoutan">Bhoutan </option>

                            <option value="Boznie_Herzegovine">Boznie_Herzegovine </option>

                            <option value="Bresil">Bresil </option>

                            <option value="Brunei">Brunei </option>

                            <option value="Bulgarie">Bulgarie </option>

                            <option value="Burkina_Faso">Burkina_Faso </option>

                            <option value="Burundi">Burundi </option>

                            <option value="Caiman">Caiman </option>

                            <option value="Cambodge">Cambodge </option>

                            <option value="Cameroun">Cameroun </option>

                            <option value="Canada">Canada </option>

                            <option value="Canaries">Canaries </option>

                            <option value="Cap_vert">Cap_Vert </option>

                            <option value="Chili">Chili </option>

                            <option value="Chine">Chine </option>

                            <option value="Chypre">Chypre </option>

                            <option value="Colombie">Colombie </option>

                            <option value="Comores">Colombie </option>

                            <option value="Congo">Congo </option>

                            <option value="Congo_democratique">Congo_democratique </option>

                            <option value="Cook">Cook </option>

                            <option value="Coree_du_Nord">Coree_du_Nord </option>

                            <option value="Coree_du_Sud">Coree_du_Sud </option>

                            <option value="Costa_Rica">Costa_Rica </option>

                            <option value="Cote_d_Ivoire">Côte_d_Ivoire </option>

                            <option value="Croatie">Croatie </option>

                            <option value="Cuba">Cuba </option>

                            <option value="Danemark">Danemark </option>

                            <option value="Djibouti">Djibouti </option>

                            <option value="Dominique">Dominique </option>

                            <option value="Egypte">Egypte </option>

                            <option value="Emirats_Arabes_Unis">Emirats_Arabes_Unis </option>

                            <option value="Equateur">Equateur </option>

                            <option value="Erythree">Erythree </option>

                            <option value="Espagne">Espagne </option>

                            <option value="Estonie">Estonie </option>

                            <option value="Etats_Unis">Etats_Unis </option>

                            <option value="Ethiopie">Ethiopie </option>

                            <option value="Falkland">Falkland </option>

                            <option value="Feroe">Feroe </option>

                            <option value="Fidji">Fidji </option>

                            <option value="Finlande">Finlande </option>

                            <option value="France">France </option>

                            <option value="Gabon">Gabon </option>

                            <option value="Gambie">Gambie </option>

                            <option value="Georgie">Georgie </option>

                            <option value="Ghana">Ghana </option>

                            <option value="Gibraltar">Gibraltar </option>

                            <option value="Grece">Grece </option>

                            <option value="Grenade">Grenade </option>

                            <option value="Groenland">Groenland </option>

                            <option value="Guadeloupe">Guadeloupe </option>

                            <option value="Guam">Guam </option>

                            <option value="Guatemala">Guatemala</option>

                            <option value="Guernesey">Guernesey </option>

                            <option value="Guinee">Guinee </option>

                            <option value="Guinee_Bissau">Guinee_Bissau </option>

                            <option value="Guinee equatoriale">Guinee_Equatoriale </option>

                            <option value="Guyana">Guyana </option>

                            <option value="Guyane_Francaise ">Guyane_Francaise </option>

                            <option value="Haiti">Haiti </option>

                            <option value="Hawaii">Hawaii </option>

                            <option value="Honduras">Honduras </option>

                            <option value="Hong_Kong">Hong_Kong </option>

                            <option value="Hongrie">Hongrie </option>

                            <option value="Inde">Inde </option>

                            <option value="Indonesie">Indonesie </option>

                            <option value="Iran">Iran </option>

                            <option value="Iraq">Iraq </option>

                            <option value="Irlande">Irlande </option>

                            <option value="Islande">Islande </option>

                            <option value="Israel">Israel </option>

                            <option value="Italie">italie </option>

                            <option value="Jamaique">Jamaique </option>

                            <option value="Jan Mayen">Jan Mayen </option>

                            <option value="Japon">Japon </option>

                            <option value="Jersey">Jersey </option>

                            <option value="Jordanie">Jordanie </option>

                            <option value="Kazakhstan">Kazakhstan </option>

                            <option value="Kenya">Kenya </option>

                            <option value="Kirghizstan">Kirghizistan </option>

                            <option value="Kiribati">Kiribati </option>

                            <option value="Koweit">Koweit </option>

                            <option value="Laos">Laos </option>

                            <option value="Lesotho">Lesotho </option>

                            <option value="Lettonie">Lettonie </option>

                            <option value="Liban">Liban </option>

                            <option value="Liberia">Liberia </option>

                            <option value="Liechtenstein">Liechtenstein </option>

                            <option value="Lituanie">Lituanie </option>

                            <option value="Luxembourg">Luxembourg </option>

                            <option value="Lybie">Lybie </option>

                            <option value="Macao">Macao </option>

                            <option value="Macedoine">Macedoine </option>

                            <option value="Madagascar">Madagascar </option>

                            <option value="Madère">Madère </option>

                            <option value="Malaisie">Malaisie </option>

                            <option value="Malawi">Malawi </option>

                            <option value="Maldives">Maldives </option>

                            <option value="Mali">Mali </option>

                            <option value="Malte">Malte </option>

                            <option value="Man">Man </option>

                            <option value="Mariannes du Nord">Mariannes du Nord </option>

                            <option value="Maroc">Maroc </option>

                            <option value="Marshall">Marshall </option>

                            <option value="Martinique">Martinique </option>

                            <option value="Maurice">Maurice </option>

                            <option value="Mauritanie">Mauritanie </option>

                            <option value="Mayotte">Mayotte </option>

                            <option value="Mexique">Mexique </option>

                            <option value="Micronesie">Micronesie </option>

                            <option value="Midway">Midway </option>

                            <option value="Moldavie">Moldavie </option>

                            <option value="Monaco">Monaco </option>

                            <option value="Mongolie">Mongolie </option>

                            <option value="Montserrat">Montserrat </option>

                            <option value="Mozambique">Mozambique </option>

                            <option value="Namibie">Namibie </option>

                            <option value="Nauru">Nauru </option>

                            <option value="Nepal">Nepal </option>

                            <option value="Nicaragua">Nicaragua </option>

                            <option value="Niger">Niger </option>

                            <option value="Nigeria">Nigeria </option>

                            <option value="Niue">Niue </option>

                            <option value="Norfolk">Norfolk </option>

                            <option value="Norvege">Norvege </option>

                            <option value="Nouvelle_Caledonie">Nouvelle_Caledonie </option>

                            <option value="Nouvelle_Zelande">Nouvelle_Zelande </option>

                            <option value="Oman">Oman </option>

                            <option value="Ouganda">Ouganda </option>

                            <option value="Ouzbekistan">Ouzbekistan </option>

                            <option value="Pakistan">Pakistan </option>

                            <option value="Palau">Palau </option>

                            <option value="Palestine">Palestine </option>

                            <option value="Panama">Panama </option>

                            <option value="Papouasie_Nouvelle_Guinee">Papouasie_Nouvelle_Guinee </option>

                            <option value="Paraguay">Paraguay </option>

                            <option value="country_Bas">country_Bas </option>

                            <option value="Perou">Perou </option>

                            <option value="Philippines">Philippines </option>

                            <option value="Pologne">Pologne </option>

                            <option value="Polynesie">Polynesie </option>

                            <option value="Porto_Rico">Porto_Rico </option>

                            <option value="Portugal">Portugal </option>

                            <option value="Qatar">Qatar </option>

                            <option value="Republique_Dominicaine">Republique_Dominicaine </option>

                            <option value="Republique_Tcheque">Republique_Tcheque </option>

                            <option value="Reunion">Reunion </option>

                            <option value="Roumanie">Roumanie </option>

                            <option value="Royaume_Uni">Royaume_Uni </option>

                            <option value="Russie">Russie </option>

                            <option value="Rwanda">Rwanda </option>

                            <option value="Sahara Occidental">Sahara Occidental </option>

                            <option value="Sainte_Lucie">Sainte_Lucie </option>

                            <option value="Saint_Marin">Saint_Marin </option>

                            <option value="Salomon">Salomon </option>

                            <option value="Salvador">Salvador </option>

                            <option value="Samoa_Occidentales">Samoa_Occidentales</option>

                            <option value="Samoa_Americaine">Samoa_Americaine </option>

                            <option value="Sao_Tome_et_Principe">Sao_Tome_et_Principe </option>

                            <option value="Senegal">Senegal </option>

                            <option value="Seychelles">Seychelles </option>

                            <option value="Sierra Leone">Sierra Leone </option>

                            <option value="Singapour">Singapour </option>

                            <option value="Slovaquie">Slovaquie </option>

                            <option value="Slovenie">Slovenie</option>

                            <option value="Somalie">Somalie </option>

                            <option value="Soudan">Soudan </option>

                            <option value="Sri_Lanka">Sri_Lanka </option>

                            <option value="Suede">Suede </option>

                            <option value="Suisse">Suisse </option>

                            <option value="Surinam">Surinam </option>

                            <option value="Swaziland">Swaziland </option>

                            <option value="Syrie">Syrie </option>

                            <option value="Tadjikistan">Tadjikistan </option>

                            <option value="Taiwan">Taiwan </option>

                            <option value="Tonga">Tonga </option>

                            <option value="Tanzanie">Tanzanie </option>

                            <option value="Tchad">Tchad </option>

                            <option value="Thailande">Thailande </option>

                            <option value="Tibet">Tibet </option>

                            <option value="Timor_Oriental">Timor_Oriental </option>

                            <option value="Togo">Togo </option>

                            <option value="Trinite_et_Tobago">Trinite_et_Tobago </option>

                            <option value="Tristan da cunha">Tristan de cuncha </option>

                            <option value="Tunisie">Tunisie </option>

                            <option value="Turkmenistan">Turmenistan </option>

                            <option value="Turquie">Turquie </option>

                            <option value="Ukraine">Ukraine </option>

                            <option value="Uruguay">Uruguay </option>

                            <option value="Vanuatu">Vanuatu </option>

                            <option value="Vatican">Vatican </option>

                            <option value="Venezuela">Venezuela </option>

                            <option value="Vierges_Americaines">Vierges_Americaines </option>

                            <option value="Vierges_Britanniques">Vierges_Britanniques </option>

                            <option value="Vietnam">Vietnam </option>

                            <option value="Wake">Wake </option>

                            <option value="Wallis et Futuma">Wallis et Futuma </option>

                            <option value="Yemen">Yemen </option>

                            <option value="Yougoslavie">Yougoslavie </option>

                            <option value="Zambie">Zambie </option>

                            <option value="Zimbabwe">Zimbabwe </option>

                    </select>

                    </fieldset><br/>

                    <fieldset>

                    <legend>account informations</legend>

                    <label for="type">Select account type here :</label><br/>

                                <label  for="saving">Savings</label>

                                <input type="radio" name="type" value="savings" required />  

                                <label  for="current">Current</label>

                                <input type="radio" name="type" value="current" required /><br/><br/>

                                <label  for="country">Choose your currency here :</label><br/>

                    <select name="currency" required>

                            <option value="eur" selected="selected">EUR </option> 

                            <option value="USD">USD </option>

                            <option value="GBP">GBP </option>

                            <option value="JPY">JPY </option>

                            <option value="CHF">CHF </option>

                            <option value="CAD">CAD </option> 

                    </select> 

                    </fieldset><br/>

                    <!--Donnee complementaire-->

                    <!--Donnee complementaire-->

                    <button type="submit" name="register">Create account</button><br/><br/>

                    <div>

                    Already a client ? <a href="login.php">Log In</a>

                    </div>

                </form>

            </div>

            </body>

        </html>

        -
        Edité par GeorgeoAgbahungba1993 12 septembre 2019 à 1:20:52

        • Partager sur Facebook
        • Partager sur Twitter
          Staff 12 septembre 2019 à 7:58:57

          Bonjour,

          Merci de colorer votre code à l'aide du bouton Code

          Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: php;">Votre code ici</pre>.

          Manque de Politesse

          Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?

          Manque de recherche

          La question que vous posez est très fréquente, cela démontre un manque de recherche évident. Internet et ce forum fourmillent de ressources répondant à votre besoin.

          Je vous invite à effectuer de vraies recherches qui sont à la base d'un bon apprentissage… par exemple sur le sujet de la FAQ PHP, *épinglée* en haut de ce forum : https://openclassrooms.com/forum/sujet/foire-aux-questions-php

          • Partager sur Facebook
          • Partager sur Twitter
          Pas d'aide concernant le code par MP ni par mail, le forum est là pour ça :) Postez votre code html et css (bouton '</>') !!
            12 septembre 2019 à 9:09:21

            Quand tu auras répondu à la demande de Lamecarlate on pourra mieux t'aider, mais franchement tu devrais repartir de zéro, manifestement tu es parti d'un tuto ou code très ancien que tu as essayé d'adapter, mais il y a des incohérences.
            • Partager sur Facebook
            • Partager sur Twitter
              Staff 12 septembre 2019 à 9:23:44

              GeorgeoAgbahungba1993 a écrit:

              j'ai déjà essayé $fk = MySQL_insert_id(); mais ça n'a pas marché

              C'est bien cela l'idée, mais essaye plutôt PDO::lastInsertId() ...

              J'en rajoute une couche ... merci d'appliquer les remarques de Lamecarlate et de Philodick ...

              • Partager sur Facebook
              • Partager sur Twitter
              Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                12 septembre 2019 à 18:30:07

                Veuillez m'excuser svp. Si mon ton paraissait irrespectueux ou discourtois. Loin de moi cette idée. Je suis aussi très nouveau dans le développement web du coup je fais beaucoup de recherche mais je comprends pas tout. Là je m'exerce à pouvoir enregistrer des donnée issue d'un seul formulaire dans 2 table avec une relation entre ces tables j'ai vu sur beaucoup de forum lastinsertid() pour récupérer et la clé de la table 1 mais comment la stocker dans une variable pour l'introduire dans ma table 2 j'y arrive pas j'ai essayé beaucoup de choses déjà. Je sais pas si cela à quelque chose à voir avec la façon dont j'ai connecté ma bdd j'ai suivi un tutoriel et j'ai appliqué la méthode ça m'a facilité la vie même je l'ai pas toute comprise voici le tutoriel ici https://www.sitedudev.com/cours/creer-son-site/4f3fed186cd4472ca98413b476d18474 merci de m'aider

                philodick a écrit: >

                Oui t'as raison pour le code PHP je suis parti d'un tuto parce que je n'avais pas encore d'expérience en PHP jus qu'il y a peu je faisait que du WordPress. Puis que du HTML et css ensuite

                -
                Edité par GeorgeoAgbahungba1993 12 septembre 2019 à 18:36:33

                • Partager sur Facebook
                • Partager sur Twitter
                  12 septembre 2019 à 19:15:16

                  Mai ton code n'a pas grand chose à voir avec le tuto en question, d'où vient le mysql_fetch_array() par exemple ?

                  Et puis met en forme ton code avec le bouton </> comme demandé, ton code est illisible.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 septembre 2019 à 21:22:08

                    Je veux recuperer le id de users et le mettre dans account dans fk_users_id

                    <?php
                      // Déclaration d'une nouvelle classe
                      class connexionDB {
                        private $host    = 'localhost';   // nom de l'host
                        private $name    = 'db_bk';     // nom de la base de donnée
                        private $user    = 'root';        // utilisateur
                        private $pass    = '';        // mot de passe
                        //private $pass    = '';          // Ne rien mettre si on est sous windows
                        private $connexion;
                                        
                        function __construct($host = null, $name = null, $user = null, $pass = null){
                          if($host != null){
                            $this->host = $host;           
                            $this->name = $name;           
                            $this->user = $user;          
                            $this->pass = $pass;
                          }
                          try{
                            $this->connexion = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->name,
                              $this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES UTF8', 
                              PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
                          }catch (PDOException $e){
                            echo 'Erreur : Impossible de se connecter  à la BDD !';
                            die();
                          }
                        }
                        
                        public function query($sql, $data = array()){
                          $req = $this->connexion->prepare($sql);
                          $req->execute($data);
                          return $req;
                        }
                        
                        public function insert($sql, $data = array()){
                          $req = $this->connexion->prepare($sql);
                          $req->execute($data);
                        }
                        
                        
                      }
                    
                      
                      
                      // Faire une connexion à votre fonction
                      $DB = new connexionDB();
                    ?>
                    
                    
                    //Voici le code php
                    <?php
                        session_start(); //Session utilisateur
                    
                        include('bd/connexionDB.php'); //Connexion base de donnee
                    
                        // S'il y a une session alors on ne retourne plus sur cette page
                        if (isset($_SESSION['id'])){
                            header('Location: index.php'); 
                            exit;
                        }
                    
                        // Si la variable "$_Post" contient des informations alors on les traitres
                        if(!empty($_POST)){
                            extract($_POST);
                            $valid = true;
                    
                            // Recuperation des donnee du formulaire 'register'
                    
                            if (isset($_POST['register'])){
                                $lname  = htmlentities(trim($lname));
                                $fname = htmlentities(trim($fname)); 
                                $mail = htmlentities(strtolower(trim($mail))); 
                                $tel = $_POST['tel'];
                                $gender = $_POST['gender']; 
                                $dob = $_POST['dob'];
                                $adress = htmlentities(trim($adress)); 
                                $city = htmlentities(trim($city)); 
                                $country = $_POST['country'];
                                $pass = trim($pass);
                                $confpass = trim($confpass); 
                                $type = $_POST['type'];
                                $currency = $_POST['currency'];
                                
                    
                                //  Vérification du nom
                                if(empty($lname)){
                                    $valid = false;
                                    $er_lname = ("Last name is required");
                                }       
                    
                                //  Vérification du prénom
                                if(empty($fname)){
                                    $valid = false;
                                    $er_fname = ("First name is required");
                                }       
                    
                                // Vérification du mail
                                if(empty($mail)){
                                    $valid = false;
                                    $er_mail = ("E-mail is required");
                    
                                    // On vérifit que le mail est dans le bon format
                                    }elseif(!preg_match("/^[a-z0-9\-_.]+@[a-z]+\.[a-z]{2,3}$/i", $mail)){
                                    $valid = false;
                                    $er_mail = "Invalid E-mail";
                    
                                    }else{
                                    // On vérifit que le mail est disponible
                                    $req_mail = $DB->query("SELECT mail FROM users WHERE mail = ?",
                                        array($mail));
                    
                                    $req_mail = $req_mail->fetch();
                    
                                    if ($req_mail['mail'] <> ""){
                                        $valid = false;
                                        $er_mail = "This mail is already registered";
                                    }
                                }
                                //  Vérification du tel
                                 if(empty($tel)){
                                    $valid = false;
                                    $er_tel = ("Phone number is required");
                                }  
                    
                                // Vérification du mot de passe
                                if(empty($pass)) {
                                    $valid = false;
                                    $er_pass = "Password is required";
                    
                                }elseif($pass != $confpass){
                                    $valid = false;
                                    $er_pass = "The two password do not match";
                                }
                    
                                //  Vérification adress
                                if(empty($adress)){
                                    $valid = false;
                                    $er_adress = ("Adress is required");
                                } 
                                //  Vérification city
                                if(empty($city)){
                                    $valid = false;
                                    $er_city = ("City is required");
                                } 
                               
                    
                                // Si toutes les conditions sont remplies alors on fait le traitement
                                if($valid){
                    
                                   
                    
                                    $reg_date = date('Y-m-d H:i:s');
                                    $account_number = "1234567890";
                                    $bic_swift = "0987654321";
                                    $iban = "ab12cd34ef56";
                                    $solde = "0";
                                    
                    
                                    // On insert nos données dans la table users
                                    $DB->insert("INSERT INTO users (lname, fname, mail, tel, gender, dob, pass, adress, city, country, reg_date) VALUES 
                                        (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", 
                                        array($lname, $fname, $mail, $tel, $gender, $dob, $pass, $adress, $city, $country, $reg_date));
                    
                                
                                    // On insert d'autres données dans la table account
                                    $DB->insert("INSERT INTO account (acctype, currency, account_number, bic_swift, iban, solde, fk_id_users) VALUES 
                                        (?, ?, ?, ?, ?, ?, ?)", 
                                        array($type, $currency, $account_number, $bic_swift, $iban, $solde, $fk_users_id));
                    
                                    
                    
                                    header('Location: success.php');
                                    exit;
                                }
                            }
                        }
                    
                    
                    

                    -
                    Edité par GeorgeoAgbahungba1993 13 septembre 2019 à 0:27:23

                    • Partager sur Facebook
                    • Partager sur Twitter
                      Staff 16 septembre 2019 à 0:22:03

                      Benzouye a écrit:

                      GeorgeoAgbahungba1993 a écrit:

                      j'ai déjà essayé $fk = MySQL_insert_id(); mais ça n'a pas marché

                      C'est bien cela l'idée, mais essaye plutôt PDO::lastInsertId() ...

                      J'en rajoute une couche ... merci d'appliquer les remarques de Lamecarlate et de Philodick ...



                      • Partager sur Facebook
                      • Partager sur Twitter
                      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

                      récupérer l'id d'une table dans une variable

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      • Editeur
                      • Markdown