Partage
  • Partager sur Facebook
  • Partager sur Twitter

[PHP] 2 Problèmes sur deux scripts

Sujet résolu
    21 mai 2006 à 18:34:37

    :) Bonjour tout le monde ! :)

    Voila plusieurs jours que je ne suis plus trop venu sur le SdZ. Cela est justifié par le fait que j'étais entrain de coder mon site web mais je me heurte à deux problèmes (pour éviter de faire 2 sujets je les exposes ici :) )

    Le Premier : Il s'agit d'une ligne de formulaire. Je me suis dis qu'il était interessant de pouvoir recevoir son mot de pass et son pseudo grace a son adresse mail. J'ai tout créé moi même et ça marche sauf que je ne reçoit pas mon email contenant mes identifiants. J4ai beau retourner le tout dans tous les sens .... Rien ! :euh:

    Voici mon code :

    mot_de_pass_perdu.php


    <center><form method="post" action="index.php?page=mot_de_pass_perdu.php">
    <label for="mdp_perdu" >Veuillez taper votre email pour recevoir vos identifiants de connection :</label></br>
    <input type="text" name="mdp_perdu"></br>
    <input type="submit" value="Envoyer">
    </form></center>
    <?php
    function redirect($url, $time=0)
    {
            echo'<meta http-equiv="refresh" content="',$time,'; url=',$url,'" />';
            if (empty($time)) exit();
    }
    mysql_connect("localhost","XXXXX","XXXX");
    mysql_select_db("XXXXX");
    $email = htmlentities($_POST['mdp_perdu']);
    if (isset ($_POST['mdp_perdu']) AND !empty($_POST['mdp_perdu']))
    {
    $retour = mysql_query("SELECT * FROM membres WHERE email='".$email."'");
    $donnees = mysql_fetch_array($retour);
    if (preg_match("!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!",$email))
    {
    if ($donnees['email'] == $email)
    {

    //--- les variables ---// 
    $sujet = 'Identifiants' ;

    //--- la structure du mail ----// 

    $from  = "From:guillaume_ruchon@hotmail.com\n";
    $from .= "MIME-version: 1.0\n";
    $from .= "Content-type: text/html; charset= iso-8859-1\n";

    //--- corps en html ---// 
    $message='Une demande d\'identification a été faite sur http://www.charlesG.com. <br/>
    Si vous n\'avez pas demandé d\'identifiants veuillez ignorer ce message s\'il vous plait. <br/>
    <br/>
    Voici vos identifiants :
    pseudo : '
    .$donnees['pseudo'].'<br/>
    Mot de passe : '
    .$donnees['mdp'].'<br/> <center>A bientot sur CharlesG.com</center>'

    //--- on envoie l'email ---// 
    mail($email,$sujet,$message,$from);

    echo 'Un mail a été envoyé à '.$email.' <p> Vous allez etre redirigé sur la page d\'acceuil dans 2 secondes </p>';
    redirect('
    index.php',2);
    mysql_close();
    }
    else
    {
    echo '
    Email inexistant dans la Base de donnée, veuillez vous réeinscrire.;
    <p> Vous allez etre redirigé sur la page d\'acceuil dans 2 secondes </p>';
    redirect('index.php',2);
    }
    }
    else
    {
    echo ' Veuillez rentrer des valeurs valides ! SVP' ;
    }
    }
    else
    {
    echo ' Veuillez rentrer des valeurs SVP ';
    }
    ?>
    </span>

    EDIT : Merci Zeclon

    Le Deuxième problème : Il s'agit d'une page de connection, lorsqu'on coche une case pour se souvenir normalement un cookie devrait etre créé, mais depuis que j'ai voulu modifier le code, le cookie ne se crée plus ... :euh: Et là aussi j'ai retourné le sujet dnas tous les sens mais Rien du tout ... :( .

    Voici le code :

    connection.php


    <?php
    mysql_connect("localhost","XXXXXX","XXXXX");
    mysql_select_db("XXXXX");
           
    $pseudo = htmlentities($_POST['pseudo']);
    $mdp = htmlentities($_POST['mdp']);

    if (isset($pseudo) AND isset($mdp) AND !empty($pseudo) AND !empty($mdp))
    {

    $retour = mysql_query("SELECT * FROM membres WHERE pseudo='".$pseudo."'");
    $donnees = mysql_fetch_array($retour);

            if ($mdp == $donnees['mdp'] AND $donnees['validation'] == 1)
            {
            session_start();
            $_SESSION['pseudo'] = $pseudo;
            $_SESSION['mdp'] = $mdp;
           
    if ($_POST['souvenir'] == true)
            {
            $time_expire = time() + 365*24*3600 ;
            setcookie('pseudo',$pseudo,$time_expire);
            setcookie('mdp',$mdp,$time_expire);
            }
            redirect('index.php',0);
            }
            else if ($pseudo != $donnees['pseudo'] OR $mdp != $donnees['mdp'] OR $donnees['validation'] != 1)
            {
            echo '<center><color="red">identifiants non valides OU vous n\'avez pas activé votre compte</color></center>';
            redirect('
    index.php',1);
            }
            else if (empty($pseudo) OR empty($mdp))
            {
            echo'
    <center>Veuillez rentrer des valeurs  SVP</center>';
            redirect('
    index.php',1);
            }
            }
            else
            {
            echo '
    Vueillez rentrer des valeurs valides.</br> Si vous n\'ètes pas membres, inscrivez-vous ';
            redirect('index.php',1);
            }
            mysql_close();
            function redirect($url, $time=0)
    {
            echo'<meta http-equiv="refresh" content="',$time,'; url=',$url,'" />';
            if (empty($time)) exit();
    }
    ?>


    Merci à ceux qui arriveront au bout de cette lecture et qui pourront m'aider a résoudre mon problème ... :)


    Bye ! ;)
    • Partager sur Facebook
    • Partager sur Twitter
      21 mai 2006 à 20:02:23

      Citation : NotPerfect

      function redirect($url, $time=0)
      {
              echo'<meta http-equiv="refresh" content="',$time,'; url=',$url,'" />';
              if (empty($time)) exit();
      }
      [..]
      redirect('index.php',2);

      ??
      Je comprends pas ....
      Soit tu met ds la fonction :
      function redirect($url)
      {
              echo'<meta http-equiv="refresh" content="0; url=',$url,'" />';
              if (empty($time)) exit();
      }


      et donc : redirect('index.php');

      Ou alors :
      function redirect($url, $time)
      {
              echo'<meta http-equiv="refresh" content="'.$time.'; url=',$url,'" />';
              if (empty($time)) exit();
      }


      Sinon, j'ai pas regardé .... j'édite si je trouve une erreur ;)

      EDIT1 : pour le deuxieme pb :
      $time_expire = time() + 365*24*3600 ;
      " setcookie('pseudo',$pseudo,$time_expire);
      setcookie('mdp',$mdp,$time_expire); "
      doit se mettre avt tout code ...


      EDIT2 :

      Citation

      //--- les variables ---//
      $sujet = 'Identifiants' ;

      //--- la structure du mail ----//

      $from  = "From:guillaume_ruchon@hotmail.com\n";
      $from .= "MIME-version: 1.0\n";
      $from .= "Content-type: text/html; charset= iso-8859-1\n";

      //--- corps en html ---//
      $message='Une demande d\'identification a été faite sur http://www.charlesG.com. <br/>
      Si vous n\'avez pas demandé d\'identifiants veuillez ignorer ce message s\'il vous plait. <br/>
      <br/>
      Voici vos identifiants :
      pseudo : '
      .$donnees['pseudo'].'<br/>
      Mot de passe : '
      .$donnees['mdp'].'<br/> <center>A bientot sur CharlesG.com</center>';

      //--- on envoie l'email ---//
      mail($email,$sujet,$message,$from);

      Remplace voir par :
      //--- les variables ---//
      $sujet = 'Identifiants' ;

      //--- corps en html ---//
      $message='Une demande d\'identification a été faite sur http://www.charlesG.com. <br/>
      Si vous n\'avez pas demandé d\'identifiants veuillez ignorer ce message s\'il vous plait. <br/>
      <br/>
      Voici vos identifiants :
      pseudo : '
      .$donnees['pseudo'].'<br/>
      Mot de passe : '
      .$donnees['mdp'].'<br/> <center>A bientot sur CharlesG.com</center>';

      //--- on envoie l'email ---//
      mail($email,$sujet,$message);
      • Partager sur Facebook
      • Partager sur Twitter
        21 mai 2006 à 22:03:36

        MErci pour tes réponses. Grace a toi, le deuxième problème est réglé.
        Cependant, comment faire pour les cookies ?

        Merci pour vos réponses !
        • Partager sur Facebook
        • Partager sur Twitter
          22 mai 2006 à 7:28:26

          pour les cookies, j'ai le meme probleme pour des scripts ... je n'ai pas trouvé de solution :/
          • Partager sur Facebook
          • Partager sur Twitter
            22 mai 2006 à 7:45:04

            En fait j'ai réussit à mettre du html dans mes email donc ça c'est fiat mais pour les cookies ... o_O
            Personne ne sait comment faire pour savoir si le memmbre a coché la case :euh: ?

            MErci de vos réponses :)
            • Partager sur Facebook
            • Partager sur Twitter
              22 mai 2006 à 12:04:26

              Tu peux essayé avc une table SQL
              connexion_auto "1" = oui
              connexion_auto "0" = non
              si c'est pas 1 et pas 0 => tu le mets a 0
              • Partager sur Facebook
              • Partager sur Twitter
                22 mai 2006 à 12:28:26

                EDIT : C'est bon j'ai trouvé tout seul :p tou marche comme il le faut ! Merci zeclon pour tes services ! EN cadeau je te donne mes scripts qui marchent nikel chez moi :) Les 3 ^^



                index.php



                <div align="center">
                <?php
                //////index.php par NotPerfect ////
                //////Merci de respecter le code des autres ////
                if (isset ($_SESSION['pseudo']) AND !empty($_SESSION['pseudo']) AND isset($_SESSION['mdp']) AND !empty ($_SESSION['mdp']))
                {                                                        echo 'Bonjour '.$_SESSION['pseudo'].' ! </br>
                <a href="deconnection.php" >Se déconnecter</a></br>
                <a href="index.php?page=changer_mdp.php"> Changer de mot de passe</a></br>
                <a href="index.php?page=telechargement.php"> Acceder à la page privilégiée :)</a>'
                ;
                }
                else if (isset($_COOKIE['pseudo'])AND isset($_COOKIE['mdp']))
                {
                echo'Bonjour '.$_COOKIE['pseudo'].' ! </br>
                <a href="deconnection.php" >Se déconnecter</a></br>
                <a href="index.php?page=changer_mdp.php"> Changer de mot de passe</a></br>
                <a href="index.php?page=telechargement.php"> Acceder à la page privilégiée :)</a>'
                ;
                }
                                                                                       
                else
                {?>                                        
                <p align="center" class="Style5"><label for="pseudo"><span class="title Style6"><em>Pseudo</em></span> :</label></p>
                <form action="connection.php" method="post"
                <center><input name="pseudo" type="text" value=""  ></center>
                <p align="center" class="Style3"><strong><label for="mdp"><span class="title Style6"><em>Mot de passe</em></span> :</label> </strong></p>
                <p align="center" class="Style3">
                <input type="password" name="mdp" >
                <div align="center">
                <p><span class="Style5">Se souvenir de moi ?</span>
                                                                                          <input type="checkbox" name="souvenir" checked="checked" /></p></div>
                <div align="center">
                <p>
                                                                                            <input name="Envoyer" type="submit" class="Style3" value="Se connecter" />
                </p>
                                                                                        </div></form>
                                                                               
                                                                                        <blockquote>
                <p align="center" class="Style4"><a href="index.php?page=inscription.php" </blockquote>
                <p align="center" class="Style4"><a href="index.php?page=mot_de_pass_perdu.php" class="subtitle Style1">Mot de passe perdu ?</a></p>
                <?php
                }
                ?>
                </div>


                LE deuxième :

                connection.php



                <?php //////connection.php par NotPerfect ////
                //////Merci de respecter le code des autres ////
                mysql_connect("localhost","Et ba non tu l'auras pas","hehe t'as révé :p ");
                mysql_select_db("Et ba non tu l'auras pas");
                       
                $pseudo = htmlentities($_POST['pseudo']);
                $mdp = htmlentities($_POST['mdp']);

                if (isset($pseudo) AND isset($mdp) AND !empty($pseudo) AND !empty($mdp))
                {

                $retour = mysql_query("SELECT * FROM membres WHERE pseudo='".$pseudo."'");
                $donnees = mysql_fetch_array($retour);

                        if ($mdp == $donnees['mdp'] AND $donnees['validation'] == 1)
                        {
                        if ($_POST['souvenir'] == true)
                        {
                        setcookie('pseudo', $pseudo, time() + 365*24*3600);
                        setcookie('mdp', $mdp, time() + 365*24*3600);
                        session_start();
                        $_SESSION['pseudo'] = $pseudo;
                        $_SESSION['mdp'] = $mdp;
                        redirect('index.php',0);
                        }
                        else
                        {
                        session_start();
                        $_SESSION['pseudo'] = $pseudo;
                        $_SESSION['mdp'] = $mdp;
                        redirect('index.php',0);
                        }
                        }
                        else if ($pseudo != $donnees['pseudo'] OR $mdp != $donnees['mdp'] OR $donnees['validation'] != 1)
                        {
                        echo '<center>identifiants non valides OU vous n\'avez pas activé votre compte</center>';
                        redirect('
                index.php',1);
                        }
                        }
                        else
                        {
                        echo'
                <center>Veuillez rentrer des valeurs  SVP</center>';
                        redirect('
                index.php',1);
                        }
                        mysql_close();
                        function redirect($url, $time)
                {
                        echo'
                <meta http-equiv="refresh" content="',$time,'; url=',$url,'" />';
                        if (empty($time)) exit();
                }
                ?>


                Et enfin le dernier :) pour le mail :p

                mot_de_pass_perdu.php


                <?php
                //////mot_de_pass_perdu.php par NotPerfect ////
                //////Merci de respecter le code des autres ////
                mysql_connect("localhost","et ba non","paencore");
                mysql_select_db("toujours pas :p ");
                if (isset ($_POST['mdp_perdu']) AND !empty($_POST['mdp_perdu']))
                {
                $email = htmlentities($_POST['mdp_perdu']);
                $retour = mysql_query("SELECT * FROM membres WHERE email='".$email."'");
                $donnees = mysql_fetch_array($retour);
                if (preg_match("!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!",$email))
                {
                if ($donnees['email'] == $email)
                {

                //--- les variables ---// 
                $eemail = $donnees['email'];
                $sujet = 'Identifiants' ;
                $from  = "From:webmaster@charlesg.goldzoneweb.info\n";
                $from .= "MIME-version: 1.0\n";
                $from .= "Content-type: text/html; charset= iso-8859-1\n";

                //--- corps en html ---//
                $message="<center>Une demande d'identification a été faite sur <lien url="www.charlesG.goldzoneweb.info</br>www.charlesG.goldzoneweb.info</br></lien>
                Si vous n'avez pas demandé d'identifiants veuillez ignorer ce message s'il vous plait.</br></br>
                Voici vos identifiants :</br></br>
                pseudo :"
                .$donnees['pseudo']."</br>
                Mot de passe : "
                .$donnees['mdp']."</br></br>
                A bientot sur CharlesG.com.</center>"
                ;

                //--- on envoie l'email ---//
                mail($eemail, $sujet, $message, $from);

                echo '<center>Un mail a été envoyé à '.$email.' <p> Vous allez etre redirigé sur la page d\'acceuil dans 2 secondes </p></center>';
                redirect('
                index.php',2);
                }
                else
                {
                echo '
                <center>Email inexistant dans la Base de donnée, veuillez vous réeinscrire.;
                <p> Vous allez etre redirigé sur la page d\'acceuil dans 2 secondes </p></center>';
                redirect('index.php',2);
                }
                }
                else
                {
                echo '<center> Veuillez rentrer des valeurs valides ! SVP <p> Vous allez etre redirigé sur la page d\'acceuil dans 2 secondes </p></center>';
                redirect('
                index.php',2);
                }
                mysql_close();
                }
                else
                {
                ?>
                <center><form method="post" action="index.php?page=mot_de_pass_perdu.php">
                <label for="mdp_perdu" >Veuillez taper votre email pour recevoir vos identifiants de connection :</label></br>
                <input type="text" name="mdp_perdu"></br>
                <input type="submit" value="Envoyer">
                </form></center>
                <?php
                }
                ?>


                Voila j'espere que ces codes serviront à des personnnes ! j'ai tout codé moi même .. :) Dsl j'ai pas mit de commentaires je trouve ça trop lonnnnng dites moi si vous ne comprenez pas quelque chose je vous expliquerais ;).

                Bye all
                • Partager sur Facebook
                • Partager sur Twitter

                [PHP] 2 Problèmes sur deux scripts

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown