Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme de redirection d'un formulaire php

Sujet résolu
    1 décembre 2020 à 15:47:07

    Bonjour,

    Je viens de créer un formulaire de connexion pour un site web que j'essaie de créer et j'aimerai que lorsque l'utilisateur clique sur le bouton "Login" ça le redirige vers une autre page que j'ai créée appelée "page_de_profil.html". J'ai cru comprendre qu'il fallait utiliser la balise header mais lorsque je met le chemin vers ma page html j'ai un message d'erreur j'imagine que j'utilise mal la balise header.. peut-être même qu'il ne faut pas utiliser cette balise. Bref merci pour votre aide.

    Mon index en php : 

    <?php session_start(); 
    
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <title>Titrsbis</title>
    </head>
        <body>
    
                    <?php 
    
                if (isset($_SESSION['email']) && (isset($_SESSION['date'])))
                 {
                    ?>
    
                    <p> Votre email : <?= $_SESSION['email']; ?> </p>
                    <p> Date de création : <?= $_SESSION['date']; ?></p>
                    <?php 
    
                } else {
                    echo "Veuillez vous connecter à votre compte";
                }
                ?>
    
                <?php 
                include 'database.php';
                global $db;
    
            ?>
    
            <h1>Login</h1>
            <form method="post">
            <input type="email" name="email2" id="email2" placeholder="Votre email" required ><br/>
            <input type="password" name="password3" id="password3" placeholder="Votre mot de passe" required ><br/>
            <input type="submit" name="Se_connecter2" id="Se_connecter2" value="Login">
        </form>
    
        <?php 
    
        include 'formulaireconnexion.php';
    
        ?>
            <h1>Singnin</h1>
            <form method="post">
            <input type="email" name="email" id="email" placeholder="Votre email" required ><br/>
            <input type="password" name="password" id="password" placeholder="Votre mot de passe" required ><br/>
            <input type="password" name="password2" id="password2" placeholder="Confirmez votre mot de passe" required ><br/>
            <input type="submit" name="Se_connecter" id="Se_connecter" value="Singnin">
        </form>
        <?php
    
          include 'formulaireinscription.php';
    
        ?>
    
    </body>
    </html>

    le formulaire de connexion tjrs en php :

    <?php 
    
        if (isset($_POST['Se_connecter2']))
        {
    
                $password3 = $_POST['password3'];
                $email2 = $_POST['email2'];
    
                if(!empty($email2) && !empty($password3))
                {
                    $q = $db->prepare("SELECT * FROM utilisateurs WHERE email = :email");
                    $q->execute(['email' => $email2]);
                    $result = $q-> fetch();
    
                    if ($result == true) {
                        
                        $hashpassword = $result['password'];
    
                        if (password_verify($password3, $result['password'])) {
                            $_SESSION['email'] = $result['email'];
                            $_SESSION['date'] = $result['date'];
                        }
                        else{
                            echo "le mdp n'est pas bon";
                        }
                    }
                    else{
                        echo "Le compte portant l'email " . $email2 . " n'existe pas" ;
                    }
                }
                else{
                    echo "Veuillez completer l'ensemble des champs";
    
        }
                }
    
    ?>

    (j'ai enlevé ma balise header étant donné qu'elle ne marchait pas).


    -
    Edité par MathisRobin 1 décembre 2020 à 16:59:09

    • Partager sur Facebook
    • Partager sur Twitter
      1 décembre 2020 à 16:13:55

      Bonjour, 

      En effet il est possible de faire ceci.

      Mais il ne faut pas de html avant.

      Je vous conseil donc de faire votre traitement php avant.

      header('Location: http://www.example.com/')

      Cordialement,

      Quillian

      • Partager sur Facebook
      • Partager sur Twitter

      Il n'y a pas de question idiote, seulement une réponse idiote

        1 décembre 2020 à 16:34:03

        Quillian a écrit:

        Bonjour, 

        En effet il est possible de faire ceci.

        Mais il ne faut pas de html avant.

        Je vous conseil donc de faire votre traitement php avant.

        header('Location: http://www.example.com/')

        Cordialement,

        Quillian

        Mais je dois mettre où la balise concrètement prcq je ne comprends pas ou peut-être que ça vient du chemin que je met moi je fais 

        header('Location: C:\Users\etc..')  

        Fin je sais pas mais en tt cas y'a un truc qui cloche avec mon cas aha.. désolé par ailleurs je suis pas très bon donc faut m'expliquer bcp :/

        • Partager sur Facebook
        • Partager sur Twitter
          1 décembre 2020 à 16:45:06

          Vers quoi veux tu rediriger ?

          une page php ?

          header('Location: 127.0.0.1/maPage.php')

          Que ce passe t'il quand tu le met ?

          • Partager sur Facebook
          • Partager sur Twitter

          Il n'y a pas de question idiote, seulement une réponse idiote

            1 décembre 2020 à 16:50:39

            Quillian a écrit:

            Vers quoi veux tu rediriger ?

            une page php ?

            header('Location: 127.0.0.1/maPage.php')

            Que ce passe t'il quand tu le met ?

            Non non vers une page html je met :

            <?php 
            
                if (isset($_POST['Se_connecter2']))
                {
            
                        $password3 = $_POST['password3'];
                        $email2 = $_POST['email2'];
            
                        if(!empty($email2) && !empty($password3))
                        {
                            $q = $db->prepare("SELECT * FROM utilisateurs WHERE email = :email");
                            $q->execute(['email' => $email2]);
                            $result = $q-> fetch();
            
                            if ($result == true) {
                                
                                $hashpassword = $result['password'];
            
                                if (password_verify($password3, $result['password'])) {
                                    header('Location: file:///C:/Users/ROBIN%20FAMILY/Desktop/site/html/page_de_profil.html');
                                    $_SESSION['email'] = $result['email'];
                                    $_SESSION['date'] = $result['date'];
                                }
                                else{
                                    echo "le mdp n'est pas bon";
                                }
                            }
                            else{
                                echo "Le compte portant l'email " . $email2 . " n'existe pas" ;
                            }
                        }
                        else{
                            echo "Veuillez completer l'ensemble des champs";
            
                }
                        }
            
            ?>
            


            et ça me met :

            Ce site est inaccessible

            Il se peut que la page Web à l'adresse http://localhost/ soit temporairement inaccessible ou qu'elle ait été déplacée de façon permanente à une autre adresse Web.

            ERR_UNSAFE_REDIRECT



            -
            Edité par MathisRobin 1 décembre 2020 à 16:51:24

            • Partager sur Facebook
            • Partager sur Twitter
              1 décembre 2020 à 16:55:25 - Message modéré pour le motif suivant : La demande de l'équipe de modération a été honorée


              Pas d'aide concernant le code par MP, le forum est là pour ça :)

                1 décembre 2020 à 17:05:49

                J'ai fais un test :

                Si je met une redirection vers un pdf sur le bureau cela ne marche pas

                Mais si ce PDF je le met dans mon wamp cela marche bien.

                Peux tu mettre ton site dans C:\wamp64\www ?

                Au moins tu n'auras pas ce soucis la

                • Partager sur Facebook
                • Partager sur Twitter

                Il n'y a pas de question idiote, seulement une réponse idiote

                  1 décembre 2020 à 17:38:27

                  C'est bon j'ai réussi en changeant le nom du fichier d'arrivé..va savoir ^^

                  -
                  Edité par MathisRobin 2 décembre 2020 à 14:12:42

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Probleme de redirection d'un formulaire php

                  × 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