Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. Programmation
  3. Développement web
  4. PHP
  5. Créer un système de Connexion / Inscription en PHP

Créer un système de Connexion / Inscription en PHP

Scheduled Pinned Locked Moved PHP
32 Posts 13 Posters 64.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • vfrzV
    vfrzV
    vfrz
    wrote on last edited by
    #18

    <blockquote class="ipsQuote" data-ipsquote="" data-ipsquote-contentapp="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="17858" data-ipsquote-contentid="437" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1471210657" data-ipsquote-userid="1633" data-ipsquote-username="EyesGammer">
    <div class="ipsQuote_citation">
    Il y a 11 heures, EyesGammer a dit :
    </div>
    <div class="ipsQuote_contents">
    <p>
    <b>Salut vfrz, en gros je fait:</b>
    </p>
    <p>
    <b>$user = '#';</b>
    </p>
    <p>
    <b>et a la place du # je met mes informations?</b>
    </p>
    <p>
    <b>Et pour te répondre  va  sur mon site voir ce que j'ai reussi a faire: </b><a href="http://eyesgammer.pe.hu/" rel="external nofollow">http://eyesgammer.pe.hu/</a>
    </p>
    <p>
    (Evidemment le site n'est pas fini)
    </p>
    </div>
    </blockquote>
    <p>
    Oui c'est ça, mais si tu ne sais pas comment fonctionne les variables c'est inquiétant, tu as suivis un cours php ?
    </p>

    1 Reply Last reply
    0
    • E
      E
      EyesGammer
      wrote on last edited by
      #19

      <p>
      Oui j'ai suivis des cours sur internet (gratuit) de plusieurs sites, mais je sais comment les variables fonctionne.
      </p>
      <p>
      Mais voila encore un probleme; j'ai essayé du coup comme il faut, et il y a encore plus de messages d'erreurs....
      </p>
      <p>
      Donc pourrai-tu me dire le "risque" si je laisse ma connection mysql comme je l'ai actuellement?
      </p>

      1 Reply Last reply
      0
      • F
        F
        Fyshi
        wrote on last edited by
        #20

        <p>
        Hellow !
        </p>
        <p>
        Le risque que tu encours est que ton site ne fonctionne pas sous PHP 7.0, car cette fonction a était supprimer. Je vais te fait donc un petit cours de PDO. (Vraiment petit car c'est beaucoup plus subtil que ça)
        </p>
        <p>
        Pour te connecter à une base de données, la solution ta était donné plus haut, c'est bien:
        </p>
        <p>
         
        </p>
        <pre class="ipsCode prettyprint lang-php prettyprinted">
        <span class="pln">$dbh </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> PDO</span><span class="pun">(</span><span class="str">'mysql:host=localhost;dbname=LeNomDeTaBaseDeDonnées'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'TonNomDeCompte'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'TonMotDePasse'</span><span class="pun">);</span></pre>
        <p>
         
        </p>
        <p>
        Tu l'auras compris, tu dois modifier les "LeNomDeTaBaseDeDonnées", "TonNomDeCompte" et "TonMotDePasse" par ce qui est marqué.
        </p>
        <p>
        Ensuite, pour faire une requête dedans, rien de plus simple, on procède comme ça:
        </p>
        <p>
         
        </p>
        <pre class="ipsCode prettyprint lang-php prettyprinted">
        <span class="pln">$TaRequ</span><span class="pun">ê</span><span class="pln">teSql </span><span class="pun">=</span><span class="pln"> $dbh</span><span class="pun">-></span><span class="pln">prepare</span><span class="pun">(</span><span class="str">'SELECT * FROM NomDeTaTable'</span><span class="pun">);</span><span class="pln">
        $TaRequ</span><span class="pun">ê</span><span class="pln">teSql</span><span class="pun">-></span><span class="pln">execute</span><span class="pun">();</span></pre>
        <p>
        Tu peux modifier la requête sql par ce que tu veux, la j'ai mis un simple SELECT.
        </p>
        <p>
        Ensuite, si tu veux "manipuler" les données, tu dois faire:
        </p>
        <p>
         
        </p>
        <pre class="ipsCode prettyprint lang-php prettyprinted">
        <span class="pln">$TesDonn</span><span class="pun">é</span><span class="pln">es </span><span class="pun">=</span><span class="pln"> $TaRequ</span><span class="pun">ê</span><span class="pln">teSql</span><span class="pun">-></span><span class="pln">fetchAll</span><span class="pun">();</span></pre>
        <p></p><p>
        Enfin, je te renvoie à la documentation sur PDO pour le reste.
        </p>
        <p>
        <a href="http://php.net/manual/fr/book.pdo.php" rel="external nofollow">http://php.net/manual/fr/book.pdo.php</a>
        </p>
        <p>
        Et voici un très bon cours qui te permettras de comprendre PDO plus facilement:
        </p>
        <p>
        <a href="https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/lire-des-donnees-2" rel="external nofollow">https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/lire-des-donnees-2</a>
        </p>
        <p>
         
        </p>
        <p>
        Bonne chance. ^-^
        </p>

        1 Reply Last reply
        0
        • E
          E
          EyesGammer
          wrote on last edited by
          #21

          <p>
          Merci 🙂 Je vais tester et voir si j'ai un message d'erreur 🙂 </p>

          1 Reply Last reply
          0
          • Z
            Z
            zougui
            wrote on last edited by
            #22

            <p>
            bonjour,
            </p>
            <p>
            pour moi cela ne marche pas meme avec le copier coller et en modifiant les identifiants pour se connecter a la base de donner quand je met le login et le mot de passe sa refresh la page mais sa ne fait rien et dans la base de donner il n'y ya ni dans login ni mot de passe d'ajouter
            </p>
            <p>
             
            </p>

            1 Reply Last reply
            0
            • 4Spartan84
              4Spartan84
              4Spartan8
              wrote on last edited by
              #23

              <blockquote class="ipsQuote" data-ipsquote="" data-ipsquote-contentapp="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="17973" data-ipsquote-contentid="437" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1492538259" data-ipsquote-userid="1674" data-ipsquote-username="zougui">
              <div class="ipsQuote_citation">
              Le 18/04/2017 à 19:57, zougui a dit :
              </div>
              <div class="ipsQuote_contents">
              <p>
              bonjour,
              </p>
              <p>
              pour moi cela ne marche pas meme avec le copier coller et en modifiant les identifiants pour se connecter a la base de donner quand je met le login et le mot de passe sa refresh la page mais sa ne fait rien et dans la base de donner il n'y ya ni dans login ni mot de passe d'ajouter
              </p>
              <p>
               
              </p>
              </div>
              </blockquote>
              <p>
              Bonjour ! Je suis surpris que 3 ans après les messages sur ce tutoriel soient encore d'actualités, ça fait plaisir 😉 </p>
              <p>
              Malheureusement celui-ci est complètement dépassé et ne permet pas de créer un système correctement sécurisé puisque les fonctions de PHP ont évolué depuis pas mal de temps !
              </p>
              <p>
              Tu peux toujours envoyer le code et activer les erreurs pour voir d'ou le problème peut venir, une fois cela fait n'hésite pas à les partager ici pour qu'on puisse jeter un coup d'oeil ! Bonne chance pour la suite 😛  
              </p>

              Cordialement, 4Spartan8 - Codeur PHP, JAVA, HTML, CSS

              1 Reply Last reply
              0
              • Z
                Z
                zougui
                wrote on last edited by
                #24

                <p>
                les erreurs sont déjà activées... le code
                </p>
                <p>
                accueil.php
                </p>
                <pre class="ipsCode prettyprint lang-php prettyprinted">
                <span><!DOCTYPE html></span><span class="pln">

                </span><span class="tag"><HTML></span><span class="pln">

                </span><span class="tag">&lt;head&gt;</span><span class="pln">
                
                	</span><span class="tag">&lt;meta</span><span class="pln"> </span><span class="atn">content</span><span class="pun">=</span><span class="atv">"prototype crystalcraft"</span><span class="tag">&gt;</span><span class="pln">
                	</span><span class="tag">&lt;meta</span><span class="pln"> </span><span class="atn">charset</span><span class="pun">=</span><span class="atv">"utf-8"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
                	</span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">"shortcut icon"</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">"img/icon 1.png"</span><span class="pln"> </span><span class="atn">type</span><span class="pun">=</span><span class="atv">"image/x-icon"</span><span class="tag">/&gt;</span><span class="pln">
                	</span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">"apple-touch-icon"</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">"img/icon 1.png"</span><span class="pln"> </span><span class="atn">type</span><span class="pun">=</span><span class="atv">"image/x-icon"</span><span class="tag">/&gt;</span><span class="pln">
                	</span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">"stylesheet"</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">"prototype_1.css"</span><span class="tag">/&gt;</span><span class="pln">
                
                	</span><span class="tag">&lt;title&gt;</span><span class="pln">
                		accueil
                	</span><span class="tag">&lt;/title&gt;</span><span class="pln">
                
                </span><span class="tag">&lt;/head&gt;</span><span class="pln">
                
                </span><span class="tag">&lt;body&gt;</span><span class="pln">
                
                	</span><span class="pun">&lt;?</span><span class="pln">php 
                	$header </span><span class="pun">=</span><span class="pln"> file_get_contents</span><span class="pun">(</span><span class="str">'header.html'</span><span class="pun">);</span><span class="pln">
                	echo $header</span><span class="pun">;</span><span class="pln">
                 </span><span class="pun">?&gt;</span><span class="pln">
                
                 </span><span class="tag">&lt;section&gt;</span><span class="pln">
                 	</span><span class="tag">&lt;form</span><span class="pln"> </span><span class="atn">method</span><span class="pun">=</span><span class="atv">"post"</span><span class="pln"> </span><span class="atn">action</span><span class="pun">=</span><span class="atv">"inscription.php"</span><span class="tag">&gt;</span><span class="pln">
                		</span><span class="tag">&lt;legend&gt;</span><span class="pln">connexion au panel</span><span class="tag">&lt;/legend&gt;</span><span class="pln">
                		</span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"form-group"</span><span class="tag">&gt;</span><span class="pln">
                			</span><span class="tag">&lt;label</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"col-lg-2 control-label"</span><span class="tag">&gt;</span><span class="pln">login</span><span class="tag">&lt;/label&gt;</span><span class="pln">
                			</span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"col-lg10"</span><span class="tag">&gt;</span><span class="pln">
                				</span><span class="tag">&lt;input</span><span class="pln"> </span><span class="atn">type</span><span class="pun">=</span><span class="atv">"text"</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"form-control"</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"login"</span><span class="pln"> </span><span class="atn">placeholder</span><span class="pun">=</span><span class="atv">"login"</span><span class="tag">&gt;</span><span class="pln">
                			</span><span class="tag">&lt;/div&gt;</span><span class="pln">
                		</span><span class="tag">&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;</span><span class="pln">
                
                		</span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"form-group"</span><span class="tag">&gt;</span><span class="pln">
                			</span><span class="tag">&lt;label</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"col-lg-2 control-label"</span><span class="tag">&gt;</span><span class="pln">mot de passe</span><span class="tag">&lt;/label&gt;</span><span class="pln">
                			</span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"col-lg-10"</span><span class="tag">&gt;</span><span class="pln">
                				</span><span class="tag">&lt;input</span><span class="pln"> </span><span class="atn">type</span><span class="pun">=</span><span class="atv">"password"</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"form-control"</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"password"</span><span class="pln"> </span><span class="atn">placeholder</span><span class="pun">=</span><span class="atv">"mot de passe"</span><span class="tag">&gt;</span><span class="pln">
                			</span><span class="tag">&lt;/div&gt;</span><span class="pln">
                		</span><span class="tag">&lt;/div&gt;</span><span class="pln">
                
                	</span><span class="tag">&lt;br/&gt;&lt;br/&gt;&lt;center&gt;&lt;button</span><span class="pln"> </span><span class="atn">type</span><span class="pun">=</span><span class="atv">"submit"</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"submit"</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"btn btn-primary"</span><span class="tag">&gt;</span><span class="pln">connexion</span><span class="tag">&lt;/button&gt;&lt;/center&gt;</span><span class="pln">
                
                	</span><span class="tag">&lt;/form&gt;</span><span class="pln">
                	</span><span class="tag">&lt;/form&gt;</span><span class="pln">
                 </span><span class="tag">&lt;/section&gt;</span><span class="pln">
                
                 </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">id</span><span class="pun">=</span><span class="atv">"horloge"</span><span class="tag">&gt;</span><span class="pln"> </span><span class="tag">&lt;/div&gt;</span><span class="pln">
                
                
                 </span><span class="pun">&lt;?</span><span class="pln">php 
                	$header </span><span class="pun">=</span><span class="pln"> file_get_contents</span><span class="pun">(</span><span class="str">'footer.html'</span><span class="pun">);</span><span class="pln">
                	echo $header</span><span class="pun">;</span><span class="pln">
                 </span><span class="pun">?&gt;</span><span class="pln">
                	
                </span><span class="tag">&lt;/body&gt;</span><span class="pln">
                

                </span><span class="tag"></HTML></span></pre>
                <p>
                inscription.php
                </p>
                <pre class="ipsCode prettyprint lang-php prettyprinted">
                <span class="pln"> </span><span class="pun"><?</span><span class="pln">php
                </span><span class="com">//Connexion à la BDD</span><span class="pln">
                </span><span class="kwd">try</span><span class="pln">
                </span><span class="pun">{</span><span class="pln">

                $pdo_options</span><span class="pun">[</span><span class="pln">PDO</span><span class="pun">::</span><span class="pln">ATTR_ERRMODE</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> PDO</span><span class="pun">::</span><span class="pln">ERRMODE_EXCEPTION</span><span class="pun">;</span><span class="pln">
                $bdd </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> PDO</span><span class="pun">(</span><span class="str">'mysql:host=**;dbname=**;charset=utf8'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'**'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'**'</span><span class="pun">,</span><span class="pln">$pdo_options</span><span class="pun">);</span><span class="pln">
                

                </span><span class="pun">}</span><span class="pln">

                </span><span class="kwd">catch</span><span class="pun">(</span><span>Exception</span><span class="pln"> $e</span><span class="pun">)</span><span class="pln">
                </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">die</span><span class="pun">(</span><span class="str">'Erreur :'</span><span class="pun">.</span><span class="pln">$e</span><span class="pun">-></span><span class="pln">getMessage</span><span class="pun">());</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">

                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">ISSET</span><span class="pun">(</span><span class="pln">$_POST</span><span class="pun">[</span><span class="str">'submit'</span><span class="pun">]))</span><span class="pln">
                

                </span><span class="pun">{</span><span class="pln">

                </span><span class="com">//On créer les variables</span><span class="pln">
                $login </span><span class="pun">=</span><span class="pln"> $_POST</span><span class="pun">[</span><span class="str">'login'</span><span class="pun">];</span><span class="pln">
                $password </span><span class="pun">=</span><span class="pln"> $_POST</span><span class="pun">[</span><span class="str">'password'</span><span class="pun">];</span><span class="pln">
                $password </span><span class="pun">=</span><span class="pln"> hash</span><span class="pun">(</span><span class="str">"sha256"</span><span class="pun">,</span><span class="pln"> $password</span><span class="pun">);</span><span class="pln">

                $req </span><span class="pun">=</span><span class="pln"> $bdd</span><span class="pun">-></span><span class="pln">prepare</span><span class="pun">(</span><span class="str">'INSERT INTO MEMBRE(login, password) VALUES ($login, $password)'</span><span class="pun">);</span><span class="pln">

                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$login</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                </span><span class="pun">?></span><span class="pln">

                </span><span class="tag"><b></span><span class="pln">mot de passe vide !</span><span class="tag"></b></span><span class="pln">

                </span><span class="pun"><?</span><span class="pln">php
                </span><span class="pun">}</span><span class="pln">

                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$login</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&&</span><span class="pln"> empty</span><span class="pun">(</span><span class="pln">$password</span><span class="pun">))</span><span class="pln">
                </span><span class="pun">{</span><span class="pln">

                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">

                session_start</span><span class="pun">();</span><span class="pln">
                $_SESSION</span><span class="pun">[</span><span class="str">'login'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $_POST</span><span class="pun">[</span><span class="str">'login'</span><span class="pun">];</span><span class="pln">
                header</span><span class="pun">(</span><span class="str">'Location: accueil.php'</span><span class="pun">);</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">

                </span><span class="pun">?></span><span class="pln"> </span></pre>
                <p>
                une des erreurs venais de cette ligne
                </p>
                <pre class="ipsCode prettyprint lang-php prettyprinted">
                <span class="pln"> req</span><span class="pun">-></span><span class="pln">execute</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">"login"</span><span class="pln"> </span><span class="pun">=></span><span class="pln"> $login</span><span class="pun">,</span><span class="pln"> </span><span class="str">"password"</span><span class="pln"> </span><span class="pun">=></span><span class="pln"> $password</span><span class="pun">));</span><span class="pln">  </span></pre>
                <p>
                mais ce n'était pas la seul
                </p>
                <p></p>

                1 Reply Last reply
                0
                • 4Spartan84
                  4Spartan84
                  4Spartan8
                  wrote on last edited by
                  #25

                  <blockquote class="ipsQuote" data-ipsquote="" data-ipsquote-contentapp="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="17976" data-ipsquote-contentid="437" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1492694458" data-ipsquote-userid="1674" data-ipsquote-username="zougui">
                  <div class="ipsQuote_citation">
                  Il y a 2 heures, zougui a dit :
                  </div>
                  <div class="ipsQuote_contents">
                  <p>
                  ...
                  </p>
                  </div>
                  </blockquote>
                  <p>
                  D'accord, écoute je vais te renvoyer un code propre dans quelques minutes, tu l'essayera et me dira si ça marche (j'éditerai mon message).
                  </p>
                  <p>
                  J'ai une autre question, pourquoi faire ça ? :
                  </p>
                  <pre class="ipsCode prettyprint lang-php prettyprinted">
                  <span class="pln"> </span><span class="pun"><?</span><span class="pln">php
                  $header </span><span class="pun">=</span><span class="pln"> file_get_contents</span><span class="pun">(</span><span class="str">'footer.html'</span><span class="pun">);</span><span class="pln">
                  echo $header</span><span class="pun">;</span><span class="pln">
                  </span><span class="pun">?></span></pre>
                  <p>
                  Si tu veux inclure le code d'une autre page ici tu n'a qu'à faire un <u>include</u> :
                  </p>
                  <pre class="ipsCode prettyprint lang-php prettyprinted">
                  <span class="pun"><?</span><span class="pln">php
                  include</span><span class="pun">(</span><span class="str">'tapage.html'</span><span class="pun">);</span><span class="pln">
                  </span><span class="pun">?></span></pre>
                  <p>
                   
                  </p>

                  Cordialement, 4Spartan8 - Codeur PHP, JAVA, HTML, CSS

                  1 Reply Last reply
                  0
                  • Z
                    Z
                    zougui
                    wrote on last edited by
                    #26

                    <p>
                    ok merci, pour le </p>
                    <pre class="ipsCode"><?php $header = file_get_contents('footer.html'); echo $header;?>
                    </pre>
                    <p>
                    </p>

                    1 Reply Last reply
                    0
                    • 4Spartan84
                      4Spartan84
                      4Spartan8
                      wrote on last edited by
                      #27

                      <p>
                      Alors, voilà la page accueil.php :
                      </p>
                      <pre class="ipsCode prettyprint lang-html prettyprinted">
                      <span class="com"><!-- ACCUEIL --></span><span class="pln">
                      </span><span class="tag"><html</span><span class="pln"> </span><span class="atn">lang</span><span class="pun">=</span><span class="atv">"FR"</span><span class="tag">></span><span class="pln">
                      </span><span class="tag"><head></span><span class="pln">
                      </span><span class="tag"><meta</span><span class="pln"> </span><span class="atn">charset</span><span class="pun">=</span><span class="atv">"UTF-8"</span><span class="tag">/></span><span class="pln">
                      </span><span class="tag"><title></span><span class="pln">Accueil</span><span class="tag"></title></span><span class="pln">
                      </span><span class="tag"></head></span><span class="pln">

                      </span><span class="tag"><body</span><span class="pln"> </span><span class="atn">style</span><span class="pun">=</span><span class="atv">"</span><span class="pln">text</span><span class="pun">-</span><span class="pln">align</span><span class="pun">:</span><span class="pln">center</span><span class="pun">;</span><span class="atv">"</span><span class="tag">></span><span class="pln">

                      </span><span class="com">&lt;!-- FORMULAIRE HTML BASIQUE --&gt;</span><span class="pln">
                      </span><span class="tag">&lt;form</span><span class="pln"> </span><span class="atn">method</span><span class="pun">=</span><span class="atv">"post"</span><span class="pln"> </span><span class="atn">action</span><span class="pun">=</span><span class="atv">"inscription.php"</span><span class="tag">&gt;</span><span class="pln">
                      	</span><span class="tag">&lt;p&gt;</span><span class="pln">Pseudo : </span><span class="tag">&lt;input</span><span class="pln"> </span><span class="atn">type</span><span class="pun">=</span><span class="atv">"text"</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"login"</span><span class="pln"> </span><span class="atn">placeholder</span><span class="pun">=</span><span class="atv">"Identifiant"</span><span class="tag">/&gt;&lt;/p&gt;</span><span class="pln">
                      	</span><span class="tag">&lt;p&gt;</span><span class="pln">Mot de passe : </span><span class="tag">&lt;input</span><span class="pln"> </span><span class="atn">type</span><span class="pun">=</span><span class="atv">"password"</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"password"</span><span class="pln"> </span><span class="atn">placeholder</span><span class="pun">=</span><span class="atv">"Mot de passe"</span><span class="tag">/&gt;&lt;/p&gt;</span><span class="pln">
                      	</span><span class="tag">&lt;input</span><span class="pln"> </span><span class="atn">type</span><span class="pun">=</span><span class="atv">"submit"</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"submit"</span><span class="pln"> </span><span class="atn">value</span><span class="pun">=</span><span class="atv">"Connexion"</span><span class="tag">/&gt;</span><span class="pln">
                      	
                      </span><span class="tag">&lt;/form&gt;</span><span class="pln">
                      

                      </span><span class="tag"></body></span><span class="pln">
                      </span><span class="tag"></html></span></pre>
                      <p>
                      Et voilà la page inscription.php :
                      </p>
                      <pre class="ipsCode prettyprint lang-php prettyprinted">
                      <span class="pun"><?</span><span class="pln">php

                      </span><span class="com">/* CONNEXION A LA BASE DE DONNEE /</span><span class="pln">
                      </span><span class="kwd">try</span><span class="pln">
                      </span><span class="pun">{</span><span class="pln">
                      $bdd </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> PDO</span><span class="pun">(</span><span class="str">'mysql:host=localhost;dbname=test;charset=utf8'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'root'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'
                      **'</span><span class="pun">);</span><span class="pln">
                      $bdd</span><span class="pun">-></span><span class="pln">setAttribute</span><span class="pun">(</span><span class="pln">PDO</span><span class="pun">::</span><span class="pln">ATTR_ERRMODE</span><span class="pun">,</span><span class="pln"> PDO</span><span class="pun">::</span><span class="pln">ERRMODE_EXCEPTION</span><span class="pun">);</span><span class="pln">
                      </span><span class="pun">}</span><span class="pln">
                      </span><span class="kwd">catch</span><span class="pln"> </span><span class="pun">(</span><span>Exception</span><span class="pln"> $e</span><span class="pun">)</span><span class="pln">
                      </span><span class="pun">{</span><span class="pln">
                      </span><span class="kwd">die</span><span class="pun">(</span><span class="str">'Erreur : '</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $e</span><span class="pun">-></span><span class="pln">getMessage</span><span class="pun">());</span><span class="pln">
                      </span><span class="pun">}</span><span class="pln">

                      </span><span class="com">/* ON CREER NOS VARIABLES */</span><span class="pln">
                      $login </span><span class="pun">=</span><span class="pln"> htmlspecialchars</span><span class="pun">(</span><span class="pln">$_POST</span><span class="pun">[</span><span class="str">'login'</span><span class="pun">]);</span><span class="pln">
                      $password </span><span class="pun">=</span><span class="pln"> htmlspecialchars</span><span class="pun">(</span><span class="pln">$_POST</span><span class="pun">[</span><span class="str">'password'</span><span class="pun">]);</span><span class="pln"> </span><span class="com">//Variable qui ne nous servira qu'une seule fois</span><span class="pln">
                      $password_hash </span><span class="pun">=</span><span class="pln"> sha1</span><span class="pun">(</span><span class="pln">$password</span><span class="pun">);</span><span class="pln"> </span><span class="com">//On créer une nouvelle variable qui comprend le mot de passe entré mais hashé en SHA1</span><span class="pln">

                      </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$_POST</span><span class="pun">[</span><span class="str">'submit'</span><span class="pun">])){</span><span class="pln"> </span><span class="com">//Si on a soumi le formulaire</span><span class="pln">

                      </span><span class="com">//Ici on va lister les erreurs dans un tableau, pour chaque nouvelle erreur on créer une case dans le tableau</span><span class="pln">
                      </span><span class="com">//On part de 0 donc -&gt; $error[0] PUIS ENSUITE $error[1] etc ..</span><span class="pln">
                      
                      </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$login</span><span class="pun">)){</span><span class="pln">
                      	$error</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Login vide'</span><span class="pun">;</span><span class="pln"> </span><span class="com">//La première entrée du tableau sera = au message 'Login vide'</span><span class="pln">
                      </span><span class="pun">}</span><span class="pln">
                      
                      </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$password</span><span class="pun">)){</span><span class="pln">
                      	$error</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Password vide'</span><span class="pun">;</span><span class="pln"> </span><span class="com">//Pareil que plus haut</span><span class="pln">
                      </span><span class="pun">}</span><span class="pln">
                      
                      
                      </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">count</span><span class="pun">(</span><span class="pln">$error</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">){</span><span class="pln"> </span><span class="com">//Cette fonction compte le nombre d'entrée dans le tableau (attention $error[0] compte comme une entrée. Ici on dit que si le nombre d'entrée dans le tableau est égale à 0 alors on peut faire l'insertion car aucune erreur</span><span class="pln">
                      	$req </span><span class="pun">=</span><span class="pln"> $bdd</span><span class="pun">-&gt;</span><span class="pln">prepare</span><span class="pun">(</span><span class="str">'INSERT INTO members(login, password) VALUES(:login, :password)'</span><span class="pun">);</span><span class="pln">
                      	$req</span><span class="pun">-&gt;</span><span class="pln">execute</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="pln">
                      			</span><span class="str">'login'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $login</span><span class="pun">,</span><span class="pln">
                      			</span><span class="str">'password'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $password_hash</span><span class="pun">));</span><span class="pln">
                      	echo </span><span class="str">'Inscription validée !'</span><span class="pun">;</span><span class="pln"> </span><span class="com">//On affiche un message quand l'utilisateur est inscrit correctement</span><span class="pln">
                      </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln"> </span><span class="com">//Par contre si le nombre d'entrée est supérieur à zéro alors on fait une boucle et on affiche les erreurs avec la variable $list</span><span class="pln">
                      	</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$error </span><span class="kwd">as</span><span class="pln"> $list</span><span class="pun">){</span><span class="pln">
                      		echo $list </span><span class="pun">.</span><span class="pln"> </span><span class="str">'&lt;br/&gt;'</span><span class="pun">;</span><span class="pln">
                      	</span><span class="pun">}</span><span class="pln">
                      </span><span class="pun">}</span><span class="pln">
                      

                      </span><span class="pun">}</span><span class="pln">
                      </span><span class="pun">?></span></pre>
                      <p>
                      Le code de la page d'inscription est assez compliqué, si tu as des questions n'hésite pas, une fois que tu as essayé donne moi un retour 😉 </p>
                      <p>
                      <strong>Je n'ai pas inclue le code pour la connexion par contre ! 😛  </strong>
                      </p>

                      Cordialement, 4Spartan8 - Codeur PHP, JAVA, HTML, CSS

                      1 Reply Last reply
                      0
                      • Z
                        Z
                        zougui
                        wrote on last edited by
                        #28

                        <p>
                        ok merci c'est rare de nos jours les gens aussi sympas 😉  je te dirais des nouvelles une fois que se seras importer dans mon site j'ai 500 fichiers en cours donc faut patienter 😕 tinquiète je vais essayer de me bébrouiller pour la connexion, 
                        </p>
                        <p>
                        <strong>EDIT</strong>
                        </p>
                        <p>
                        ok c'est cool merci maintenant je vais améliorer sa avec une confirmation du mot de passe, mais une question a quoi servent les placeholders ?
                        </p>
                        <pre class="ipsCode prettyprint lang-html">
                        <p>Mot de passe : <input type="password" name="password" placeholder="Mot de passe"/></p></pre>

                        1 Reply Last reply
                        0
                        • 4Spartan84
                          4Spartan84
                          4Spartan8
                          wrote on last edited by
                          #29

                          <blockquote class="ipsQuote" data-ipsquote="" data-ipsquote-contentapp="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="17980" data-ipsquote-contentid="437" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1492706378" data-ipsquote-userid="1674" data-ipsquote-username="zougui">
                          <div class="ipsQuote_citation">
                          il y a 47 minutes, zougui a dit :
                          </div>
                          <div class="ipsQuote_contents">
                          <p>
                          ok merci c'est rare de nos jours les gens aussi sympas 😉  je te dirais des nouvelles une fois que se seras importer dans mon site j'ai 500 fichiers en cours donc faut patienter 😕 tinquiète je vais essayer de me bébrouiller pour la connexion, 
                          </p>
                          <p>
                          <strong>EDIT</strong>
                          </p>
                          <p>
                          ok c'est cool merci maintenant je vais améliorer sa avec une confirmation du mot de passe, mais une question a quoi servent les placeholders ?
                          </p>
                          <pre class="ipsCode prettyprint lang-html prettyprinted">

                          <span class="tag"><p></span><span class="pln">Mot de passe : </span><span class="tag"><input</span><span class="pln"> </span><span class="atn">type</span><span class="pun">=</span><span class="atv">"password"</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"password"</span><span class="pln"> </span><span class="atn">placeholder</span><span class="pun">=</span><span class="atv">"Mot de passe"</span><span class="tag">/></p></span></pre>
                          </div>
                          </blockquote>
                          <p>
                          Pas de soucis, c'est normal ! 😉 </p>
                          <p>
                          Les placeholder servent à afficher un message dans le fond de ton input, regarde ton formulaire sur ta page HTML, tu devrais voir écris "Mot de passe". Bien sur ils ne sont pas indispensables, tu peux très bien les enlever ! 🙂  
                          </p>

                          Cordialement, 4Spartan8 - Codeur PHP, JAVA, HTML, CSS

                          1 Reply Last reply
                          0
                          • R
                            R
                            RedRaven
                            wrote on last edited by
                            #30

                            <p>
                            Petit probleme tout bete, je suis débutant et je ne sais pas du tout ou et dans quel circonstance placer ce morceaux de code
                            </p>
                            <p>
                            Merci d'avance
                            </p>
                            <pre class="ipsCode prettyprint prettyprinted" style="font-family:monospace, monospace;font-size:14px;background:rgb(250,250,250);clear:both;padding:2px;border:1px solid rgb(136,136,136);color:rgb(39,42,52);font-style:normal;font-weight:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;">
                            <span class="pln" style="color:rgb(0,0,0);">CREATE TABLE membre </span><span class="pun" style="color:rgb(102,102,0);">(</span><span class="pln" style="color:rgb(0,0,0);">
                            id </span><span class="kwd" style="color:rgb(0,0,136);">int</span><span class="pun" style="color:rgb(102,102,0);">(</span><span class="lit" style="color:rgb(0,102,102);">11</span><span class="pun" style="color:rgb(102,102,0);">)</span><span class="pln" style="color:rgb(0,0,0);"> NOT NULL auto_increment</span><span class="pun" style="color:rgb(102,102,0);">,</span><span class="pln" style="color:rgb(0,0,0);">
                            login varchar</span><span class="pun" style="color:rgb(102,102,0);">(</span><span class="lit" style="color:rgb(0,102,102);">8</span><span class="pun" style="color:rgb(102,102,0);">)</span><span class="pln" style="color:rgb(0,0,0);"> NOT NULL</span><span class="pun" style="color:rgb(102,102,0);">,</span><span class="pln" style="color:rgb(0,0,0);">
                            password varchar</span><span class="pun" style="color:rgb(102,102,0);">(</span><span class="lit" style="color:rgb(0,102,102);">8</span><span class="pun" style="color:rgb(102,102,0);">)</span><span class="pln" style="color:rgb(0,0,0);"> NOT NULL</span><span class="pun" style="color:rgb(102,102,0);">,</span><span class="pln" style="color:rgb(0,0,0);">
                            PRIMARY KEY </span><span class="pun" style="color:rgb(102,102,0);">(</span><span class="pln" style="color:rgb(0,0,0);">id</span><span class="pun" style="color:rgb(102,102,0);">),</span><span class="pln" style="color:rgb(0,0,0);">
                            KEY ID_2 </span><span class="pun" style="color:rgb(102,102,0);">(</span><span class="pln" style="color:rgb(0,0,0);">id</span><span class="pun" style="color:rgb(102,102,0);">)</span><span class="pln" style="color:rgb(0,0,0);">
                            </span><span class="pun" style="color:rgb(102,102,0);">);</span></pre>

                            1 Reply Last reply
                            0
                            • SoulalexS
                              SoulalexS
                              Soulalex
                              wrote on last edited by
                              #31

                              <p>
                              Tu exécutes ce bout de code sur ton serveur SQL.
                              </p>

                              Soulalex, Administrateur de Melinyel+ E-Mail : [email protected]+ GitHub : https://github.com/Soualex

                              1 Reply Last reply
                              0
                              • R
                                R
                                Robinvtn
                                wrote on last edited by
                                #32

                                <p>
                                Bonjour! Quant à moi tout fonctionne, sauf la page de connexion, soit la page de connexion ne fonctionne pas (pour moi) soit le code sur les pages spécificiques pour rediriger les utilisateurs si ils ne sont pas connecté ne fonctionne pas, je sais pas quel est le problème .. Quelqu'un pourrait m'aider ?
                                </p>

                                1 Reply Last reply
                                0

                                Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                With your input, this post could be even better 💗

                                Register Login
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                • Login

                                • Login or register to search.
                                Powered by NodeBB Contributors
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • World
                                • Users
                                • Groups