Erreur pseudo/password/email inconnue ..

Résolu/Fermé
Legrandfifou Messages postés 109 Date d'inscription samedi 3 mai 2014 Statut Membre Dernière intervention 17 mars 2017 - Modifié par jordane45 le 30/07/2015 à 17:42
Legrandfifou Messages postés 109 Date d'inscription samedi 3 mai 2014 Statut Membre Dernière intervention 17 mars 2017 - 2 août 2015 à 00:26
Bonjour,
j'ai actuellement un code PHP qui sert a l'inscription des membres sur mon site WEB, il fonctionnait nickel mais je ne sais pas pourquoi lors de la mise en ligne sur l'hébergeur impossible , il ne fonctionne plus , il m'indique qu'une entrée du formulaire est vide et il ne veut rien placer dans la base de données voici le code :

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
   <title>Quad Dutch Clan - Joins us !</title>
     <link rel="stylesheet" type="text/css" title="style" href="style.css"/>
   
   
   </head>
 
 
 
    <body>
  
  
  <?php include("menu.php"); ?>
   
 <div id="corps"> 

    <div class="inscription_formulaire_html">

       <?php

  
   $bdd = new PDO ('mysql:host=mysql.hostinger.fr;dbname=**********', '**************', '********');

    // On vérifie que le formulaire à été complété et si les champs ne sont pas vides
    

    if(isset($_POST['submit']))

       {
        if (isset($_POST) && (empty($_POST['pseudo'])) OR (empty($_POST['password'])) OR (empty($_POST['email'])))
           {

           echo '<div class="error_message_pseudo_case"><img src="attention.png"/><div class="error_message_pseudo">Merci de renseigner un pseudo/mot de passe/email!</div></div>';
           }
  
        if (isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['password'])) && (!empty($_POST['email'])))
       {
   
        if(isset($_POST['CGU']) && $_POST['CGU'] == 'oui') 
         {      
           //On met le résultat pseudo du formulaire dans $pseudo
           $pseudo = addslashes($_POST["pseudo"]);
           $email = addslashes($_POST["email"]);
           $birthday = addslashes($_POST["bday"]);
           $country = addslashes($_POST["pays"]);
           $level = addslashes($_POST["lvl"]);
          
          

           //On sélectionne dans la table 'utilisateurs' les pseudo qui sont les mêmes que le pseudo tapé dans le formulaire
           $query = $bdd->query("SELECT pseudo FROM membres WHERE pseudo = '$pseudo' "); 
           $query2 = $bdd->query("SELECT email FROM membres WHERE email = '$email' ");
           //On compte le nombre de réponse
           $count = $query->rowCount();
           $count = $query2->rowCount();
           //Dans le cas où il y a une réponse, qu'un pseudo dans la table correspont au pseudo tapé
     
            if($count == 1) 
             { 
              // Pseudo déjà utilisé 
               echo '<div class="error_pseudo"><img src="refused.png"/><div class="refused_message">Ce pseudo/email est déjà utilisé</div></div>'; 
             } 

            else 
             { 
               // Pseudo libre, on l'insère dans la table
             $pass_hache = sha1($_POST['password']);

             $req = $bdd->prepare("INSERT INTO membres(pseudo, password, email, birthday, country, lvl) VALUES('$pseudo', '$pass_hache', '$email', '$birthday', '$country' , '$level') ");
             $req->execute(array(
                'pseudo' => $pseudo,
                'password' => $pass_hache,
                'email' => $email,
                'birthday' => $birthday,
                'country' => $country,
                'lvl' => $level
                
                ));
    
              echo '<div class="message_ok"><img src="granted.png"/><div class="granted_message">Vous êtes désormais inscris sur notre site web !</div></div>';
             

             } 

          }

         else 
         {
          echo '<div class="error_message_pseudo_case"><img src="attention.png" /><div class="error_message_pseudo">Merci d\'accepter les CGU !</div></div>';
         }

        
        }
       
      $email = $_POST['email'];
      
       $cle = md5(microtime(TRUE)*100000);

       $stmt = $bdd->prepare('UPDATE membres SET cle = :cle WHERE pseudo = :pseudo');
       $stmt->execute(array(
        'cle' => $cle,
        'pseudo' => $pseudo));

       $destinataire = $email;
       $sujet = "Activation de votre compte " . $pseudo . " sur QuadDutchClan.com" ;
       $entete = "From: activation@qdc.esy.es" ;

       // Le lien d'activation est composé du login(log) et de la clé(cle)
       $message = 'Bienvenue sur QuadDutchClan,
       Pour activer votre compte, veuillez cliquer sur le lien ci dessous
       ou copier/coller dans votre navigateur internet.
 
       www.qdc.esy.es/activation.php?pseudo='.urlencode($pseudo).'&cle='.urlencode($cle).'
       ---------------
       Ceci est un mail automatique, Merci de ne pas y répondre.';

       mail($destinataire, $sujet, $message, $entete) ; // Envoi du mail



     }


?>  
       <div class="inscription_formulaire_case">
        <form action="" method = "POST">
         <label for="pseudo"> Username : </label> </br>
          <input type="texte" name ="pseudo" class="inscription_formulaire_case_css" maxlength="12" /> </br>

          <label for="password"> Password : </label> </br>
          <input type="password" name = "password" class="inscription_formulaire_case_css" /> </br>

          <label for="email"> Email : </label> </br>
          <input type="email" name ="email" class="inscription_formulaire_case_css" /> </br>  
       </form> 
      </div> 

      
      <div class="inscription_formulaire_case_2">

      <form action="" method = "POST">
      Photos :
        <input type="file" name="image" accept="image/x-png, image/jpeg" class="photos">    
      Birthday : <input type="date" name="bday" class="bday"/>
      Country :   <select name="pays" class="pays"> 
        <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="Nigeria">Netherlands </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="Pays_Bas">Pays_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>
     Level : <br />  

        <select name="lvl" class="lvl"> 
        <option value="1">Level 1</option>
        <option value="2">Level 2</option>
        <option value="3">Level 3</option>
        <option value="4">Level 4</option>
        <option value="5">Level 5</option>
        <option value="6">Level 6</option>
        <option value="7">Level 7</option>
        <option value="8">Level 8</option>
        <option value="9">Level 9</option>
        <option value="10">Level 10</option>
        <option value="11">Level 11</option>
        <option value="12">Level 12</option>
        <option value="13">Level 13</option>
        <option value="14">Level 14</option>
        <option value="15">Level 15</option>
        <option value="16">Level 16</option>
        <option value="17">Level 17</option>
        <option value="18">Level 18</option>
        <option value="19">Level 19</option>
        <option value="20">Level 20</option>
        <option value="21">Level 21</option>
        <option value="22">Level 22</option>
        <option value="23">Level 23</option>
        <option value="24">Level 24</option>
        <option value="25">Level 25</option>
        <option value="26">Level 26</option>
        <option value="27">Level 27</option>
        <option value="28">Level 28</option>
        <option value="29">Level 29</option>
        <option value="30">Level 30</option>
        <option value="31">Level 31</option>
        <option value="32">Level 32</option>
        <option value="33">Level 33</option>
        <option value="34">Level 34</option>
        <option value="35">Level 35</option>
        <option value="36">Level 36</option>
        <option value="37">Level 37</option>
        <option value="38">Level 38</option>
        <option value="39">Level 39</option>
        <option value="40">Level 40</option>
        <option value="41">Level 41</option>
        <option value="42">Level 42</option>
        <option value="43">Level 43</option>
        <option value="44">Level 44</option>
        <option value="45">Level 45</option>
        <option value="46">Level 46</option>
        <option value="47">Level 47</option>
        <option value="48">Level 48</option>
        <option value="49">Level 49</option>
        <option value="50">Level 50</option>
        <option value="51">Level 51</option>
        <option value="52">Level 52</option>
        <option value="53">Level 53</option>
        <option value="54">Level 54</option>
        <option value="55">Level 55</option>
        <option value="56">Level 56</option>
        <option value="57">Level 57</option>
        <option value="58">Level 58</option>
        <option value="59">Level 59</option>
        <option value="60">Level 60</option>
        <option value="61">Level 61</option>
        <option value="62">Level 62</option>
        <option value="63">Level 63</option>
        <option value="64">Level 64</option>
        <option value="65">Level 65</option>
        <option value="66">Level 66</option>
        <option value="67">Level 67</option>
        <option value="68">Level 68</option>
        <option value="69">Level 69</option>
        <option value="70">Level 70</option>
        <option value="71">Level 71</option>
        <option value="72">Level 72</option>
        <option value="73">Level 73</option>
        <option value="74">Level 74</option>
        <option value="75">Level 75</option>
        <option value="76">Level 76</option>
        <option value="77">Level 77</option>
        <option value="78">Level 78</option>
        <option value="79">Level 79</option>
        <option value="80">Level 80</option>
        <option value="81">Level 81</option>
        <option value="82">Level 82</option>
        <option value="83">Level 83</option>
        <option value="84">Level 84</option>
        <option value="85">Level 85</option>
        <option value="86">Level 86</option>
        <option value="87">Level 87</option>
        <option value="88">Level 88</option>
        <option value="89">Level 89</option>
        <option value="90">Level 90</option>
        <option value="91">Level 91</option>
        <option value="92">Level 92</option>
        <option value="93">Level 93</option>
        <option value="94">Level 94</option>
        <option value="95">Level 95</option>
        <option value="96">Level 96</option>
        <option value="97">Level 97</option>
        <option value="98">Level 98</option>
        <option value="99">Level 99</option>
        <option value="100">Level 100</option>
        <option value="101">Level 101</option>
        <option value="102">Level 102</option>
        <option value="103">Level 103</option>
        <option value="104">Level 104</option>
        <option value="105">Level 105</option>
        <option value="106">Level 106</option>
        <option value="107">Level 107</option>
        <option value="108">Level 108</option>
        <option value="109">Level 109</option>
        <option value="110">Level 110</option>
        <option value="111">Level 111</option>
        <option value="112">Level 112</option>
        <option value="113">Level 113</option>
        <option value="114">Level 114</option>
        <option value="115">Level 115</option>
        <option value="116">Level 116</option>
        <option value="117">Level 117</option>
        <option value="118">Level 118</option>
        <option value="119">Level 119</option>
        <option value="120">Level 120</option>
        <option value="121">Level 121</option>
        <option value="122">Level 122</option>
        <option value="123">Level 123</option>
        <option value="124">Level 124</option>
        <option value="125">Level 125</option>
        <option value="126">Level 126</option>
        <option value="127">Level 127</option>
        <option value="128">Level 128</option>
        <option value="129">Level 129</option>
        <option value="130">Level 130</option>
        <option value="131">Level 131</option>
        <option value="132">Level 132</option>
        <option value="133">Level 133</option>
        <option value="134">Level 134</option>
        <option value="135">Level 135</option>
        <option value="136">Level 136</option>
        <option value="137">Level 137</option>
        <option value="138">Level 138</option>
        <option value="139">Level 139</option>
        <option value="140">Level 140</option>
        </select>
       </div>
      
   
       <div class="inscription_formulaire_case_CGU">
        <p>Acceptez-vous les conditions d'utilisations ?</p>
       <p><input type="radio" name="CGU" value="oui" /> Oui <input type="radio" name="CGU" value="non" /> Non</p>
          <br />
          <button type="submit" name="submit" class="submit">Inscription</button>
         </div>
        </form> 

     

  </body>
</html>


J'ai chercher par moi même mais impossible de trouver :( ( Sachant qu'il vérifie si il n'y a pas deux fois le même pseudo )


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


EDIT2 : Infos de connexion à la BDD retirés.
Merci d'y penser dans tes prochains messages.
.
A voir également:

3 réponses

jordane45 Messages postés 38354 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
Modifié par jordane45 le 1/08/2015 à 13:51
Essayes ça :
$pass_hache = sha1($password);

$sql = "INSERT INTO membres(pseudo, password, email, birthday, country, lvl, groupe) 
  VALUES(:pseudo, :pass_hache, :email, :birthday, :country , :level, '1')";


$params = array(  ':pseudo' => $pseudo
                , ':pass_hache' => $pass_hache
                , ':email' => $email
                , ':birthday' => $birthday
                , ':country' => $country
                , ':level' => $level 
             );

$query = array($sql,$params); // pour le debug

try {
  $req = $bdd->prepare($sql);
  $req->execute($params);
  $new_id = $bdd->lastInsertId(); 
  echo "Insertion faite ! id :".$new_id ;
  
} catch(Exception $e) {
  echo "<pre><br>".$e->getMessage()."<br>";
  print_r($query);
  echo "</pre>";
} 


Edit : Code corrigé

Cordialement,
Jordane
1
Legrandfifou Messages postés 109 Date d'inscription samedi 3 mai 2014 Statut Membre Dernière intervention 17 mars 2017 5
Modifié par Legrandfifou le 1/08/2015 à 12:39
J'ai cet erreur de php ..

Parse error: syntax error, unexpected '$params' (T_VARIABLE) in /home/u588207568/public_html/inscription.php on line 80
0
jordane45 Messages postés 38354 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
1 août 2015 à 12:45
Oupss maque un point virgule apres la variable $sql
0
Legrandfifou Messages postés 109 Date d'inscription samedi 3 mai 2014 Statut Membre Dernière intervention 17 mars 2017 5
1 août 2015 à 12:50
^^ Erreur fréquente :p

Fatal error: Call to a member function lastInsertId() on a non-object in /home/u588207568/public_html/inscription.php on line 93
0
Legrandfifou Messages postés 109 Date d'inscription samedi 3 mai 2014 Statut Membre Dernière intervention 17 mars 2017 5
1 août 2015 à 13:26
J'ai enlever les last_id et ca n'insère toujours pas , désoler du double post mais c'est pour le confirmer :s
0
jordane45 Messages postés 38354 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719 > Legrandfifou Messages postés 109 Date d'inscription samedi 3 mai 2014 Statut Membre Dernière intervention 17 mars 2017
1 août 2015 à 13:49
Faut le laisser mais enlever le H a la variable $bdd
0
Utilisateur anonyme
30 juil. 2015 à 17:30
Alors déjà, il faut enlever lma ligne $bdd, car là tout le monde a accès à votre Base de donnée, vu qu'on à l'host, le username et password.

Sinon qu'elle est l'erreur exact, il doit bien afficher un message en disant la ligne.
0
Legrandfifou Messages postés 109 Date d'inscription samedi 3 mai 2014 Statut Membre Dernière intervention 17 mars 2017 5
30 juil. 2015 à 17:47
OOOuf oui , oups erreur de ma part pour la ligne BDD , je sais pas pourquoi j'y ai pas pensé .

Il n'y a pas d'erreur PHP mais lorsque j'essaye de m'inscrire sur le site https://www.hostinger.com/free-eol?utm_source=fri&utm_medium=www&utm_campaign=free_eol

Et que je remplis les 3 premiers champs , il m'indique que les champs sont vide et ne veut rien placer dans la base de données alors qu'il y a bien des données :/
0
jordane45 Messages postés 38354 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
Modifié par jordane45 le 30/07/2015 à 18:18
Bonjour,

Voici déjà une partie de ton code corrigé et "amélioré"
<?php
//connexion à la BDD
$host = "mysql.hostinger.fr";
$dbName = "bdd";
$user = 'user';
$password = 'password';
try{
 $bdd = new PDO ('mysql:host='.$host.';dbname='.$dbName, $user, $password);
}catch (PDOException $e) {
  echo "<br>".$e."<br>";
  printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e));
}
 
 /**
 * Fonction pour faire les requêtes de type SELECT
 */
 function querySelect($sql,$params=null){
  global $bdd; // variable bdd de ta connexion
 $query=array("sql"=>$sql,"params"=>$params); // pour le debug en cas de pb
  try{
    $prepare = $bdd->prepare($sql);
    $prepare->execute($a_data); 
  //retourne le resultat sous forme d'array
    return $prepare->fetchAll();
 
 }catch(Exception $e) {
   echo "<pre><br>".$e->getMessage()."<br>";
   print_r($query);
   echo "</pre>";
  } 
 }
 
 
//Récupération "PROPRE" des variables 
// AVANT de les utiliser !
$pseudo = !empty($_POST['pseudo']) ? $_POST['pseudo'] : NULL;
$password = !empty($_POST['password']) ? $_POST['password'] : NULL;
$email = !empty($_POST['email']) ? $_POST['email'] : NULL;
$birthday = !empty($_POST['bday']) ? $_POST['bday'] : NULL;
$country = !empty($_POST['email']) ? $_POST['email'] : NULL;
$email = !empty($_POST['pays']) ? $_POST['pays'] : NULL;
$level = !empty($_POST['lvl']) ? $_POST['lvl'] : NULL;
$CGU = !empty($_POST['CGU']) ? $_POST['CGU'] : NULL;

// On vérifie que le formulaire à été complété et si les champs ne sont pas vides
if(isset($_POST['submit'])) {
  if (!$user && !$password && !$email){
    echo '<div class="error_message_pseudo_case">
            <img src="attention.png"></img>
            <div class="error_message_pseudo">
              Merci de renseigner un pseudo/mot de passe/email!
            </div>
          </div>';
  
 }else{
     
    if($CGU && $CGU == 'oui'){
     
      $sql =  "SELECT pseudo FROM membres WHERE pseudo = :pseudo ";
      $params = array(":pseudo"=>$pseudo);
   $query = querySelect($sql,$params);
       
   $sql = "SELECT email FROM membres WHERE email = :email "; 
   $params = array(":email"=>$email);
   $query2 =  querySelect($sql,$params);
   
   $count1 = count($query);
   $count2 = count($query2);
   
    if($count1 || $count2){
       // Pseudo ou email déjà utilisé 
     echo "<div class='error_pseudo'>
               <img src='refused.png'></img>
               <div class='refused_message'>
            Ce pseudo/email est déjà utilisé
            </div>
          </div>"; 
   
    }else{
       // Pseudo libre, on l'insère dans la table
     $pass_hache = sha1($password);

     $req = $bdd->prepare("INSERT INTO membres(pseudo, password, email, birthday, country, lvl) 
                            VALUES(:pseudo, :pass_hache, :email, :birthday, :country , :level) ");
     $params = array(
         ':pseudo' => $pseudo,
         ':pass_hache' => $pass_hache,
         ':email' => $email,
         ':birthday' => $birthday,
         ':country' => $country,
         ':level' => $level
         );
     try{
        $query = array($req,$params); 
        $req->execute($params);
        }catch(Exception $e) {
       echo "<pre><br>".$e->getMessage()."<br>";
       print_r($query);
       echo "</pre>";
     } 
    }//Fin du IF COUNT
  
   } else {
     echo '<div class="error_message_pseudo_case">
         <img src="attention.png" />
         <div class="error_message_pseudo">
          Merci d\'accepter les CGU !
         </div>
        </div>';
   }// Fin du IF CGU  

 }

 
  $cle = md5(microtime(TRUE)*100000);

  try{
   $sql = 'UPDATE membres SET cle = :cle WHERE pseudo = :pseudo ';
    $stmt = $bdd->prepare($sql);
    $stmt->execute(array(
           ':cle' => $cle,
           ':pseudo' => $pseudo));
   }catch(Exception $e) {
   echo "<pre><br>".$e->getMessage()."<br>";
   echo "</pre>";
  }
  
  $destinataire = $email;
  $sujet = "Activation de votre compte " . $pseudo . " sur QuadDutchClan.com" ;
  $entete = "From: activation@qdc.esy.es" ;

  // Le lien d'activation est composé du login(log) et de la clé(cle)
  $message = 'Bienvenue sur QuadDutchClan,
  Pour activer votre compte, veuillez cliquer sur le lien ci dessous
  ou copier/coller dans votre navigateur internet.

  www.qdc.esy.es/activation.php?pseudo='.urlencode($pseudo).'&cle='.urlencode($cle).'
  ---------------
  Ceci est un mail automatique, Merci de ne pas y répondre.';

  mail($destinataire, $sujet, $message, $entete) ; // Envoi du mail

 
} // Fin du IF SUBMIT 

  



Au passage ... pour tes "level" plutot que d'écrire manuellement tes 150 lignes.... tu aurais pu faire une simple boucle en php ..
<select name="lvl" class="lvl"> 
  <?php
   for($i=1;$i<=140;$i++){
    echo "<option value='$i'>Level $i</option>";
   }
  ?>
</select>




Dernier point .. tu as DEUX balises
<form action="" method = "POST"> ... </form>

alors qu'une seule est nécessaire.... pour qu'elle englobe l'ensemble des champs que tu souhaites récupérer via ton submit.






Cordialement,
Jordane
0
Legrandfifou Messages postés 109 Date d'inscription samedi 3 mai 2014 Statut Membre Dernière intervention 17 mars 2017 5
30 juil. 2015 à 23:12
Merci , le problème est réglé dans le code que tu m'as donné ? Si oui quel était l'erreur ?
0
jordane45 Messages postés 38354 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
30 juil. 2015 à 23:36
Ta requête d'insertion. ...
0
Legrandfifou Messages postés 109 Date d'inscription samedi 3 mai 2014 Statut Membre Dernière intervention 17 mars 2017 5
31 juil. 2015 à 01:49
Ah oui merci j'avais pas remarqué dans ton code , j'ai une question 'bête' avec le php j'ai des valeurs inconnues que je reprend du formulaire et que j'insère dans ma table quand toute les conditions sont remplies mais j'aimerais ajouter une nouvelle valeur qui est la valeur "group" , pas de soucis pour l'insert mais il faudrait que cet valeur soit par défaut '1' , je n'arrive pas a trouver comment je dois faire , des indications ?
0
jordane45 Messages postés 38354 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
31 juil. 2015 à 09:40
cette valeur 'group' ... tu la sors d'où ? de ton formulaire ?
Si oui.. tu peux, au moment de la récupération des variables faire :
$group = !empty($_POST['group']) ? $_POST['group'] : 1 ;


Sinon.. tu peux aussi, dans ta BDD.. définir des valeurs par défaut sur tes champs....
0
Legrandfifou Messages postés 109 Date d'inscription samedi 3 mai 2014 Statut Membre Dernière intervention 17 mars 2017 5
31 juil. 2015 à 10:29
Non justement elle n'est pas accessible par le joueur car par défaut elle a 1

0 = visiteur
1 = membre
2 = admin

Donc quand il s'inscris il faut que directement sa mette 1 dans la table de donnée si toutes les conditions sont remplie j'ai essayé en mettant la valeur de $group : 1; Mais si je fait ca il n'insert plus rien dans la table :/
0