IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Redirection [PHP 7]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2018
    Messages : 56
    Points : 24
    Points
    24
    Par défaut Redirection
    Bonjour à tous j'ai encore un petit problème lol.. J'aimerais renvoyer vers la page d'accueil l'utilisateur lorsqu'il envoie son formulaire, or je n'y arrive pas l'adresse reste toujours à "http://localhost/onrefait2/controller/ControllerFormulaire.php" Quelqu'un peu m'expliquer l'erreur que je fait, pourquoi mon "header('location : index.php")" ne marche pas ?
    Code index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
     
    // reconstitue l'url de la page d'accueil
        define('HOME', dirname($_SERVER['SCRIPT_NAME']) );
     
     
    /**
     * Gestion de la page à afficher :
     *   on récupère la query string avec 'page' pour trouver
     *   quelle page on souhaite afficher. Pour celà il faut
     *   faire plusieurs vérifications :
     **/
     
    if(array_key_exists('page', $_GET)){
        // si l'url contient bien la query string avec 'page'
        $template =  'views/'.$_GET['page'].".phtml";
        $currentPage = $_GET['page'];
     
        if(!is_file($template)) {
            // si le fichier n'existe pas on affiche le template 404
            $template = 'views/404.phtml';
            $currentPage = '404';
        }
     
    } else {
        $template = "views/accueil.phtml";
        $currentPage = 'accueil';
    }
     
    $menuItems = [
        'Accueil'      => ['title' => "Accueil", 'icon' => 'fa fa-home'  ],
        'A propos de nous'     => ['title' => 'A propos de nous', 'icon' => 'fa fa-arrow-circle-down' ],
        'FAQ'  => ['title' => 'Questions fréquentes', 'icon' => 'fa fa-question-circle' ],
        'Contactez-nous'   => ['title' => 'Contactez-nous', 'icon' => 'fa fa-envelope'  ],
    ];
     
     
     
    include "views/layout.phtml";
    et mon controllerformulaire.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
     
    $options = array(
        'nom' => FILTER_SANITIZE_STRING,
        'mail' => FILTER_VALIDATE_EMAIL,
        'number' => FILTER_VALIDATE_INT,
        'message' => FILTER_SANITIZE_STRING,
    );
    $resultat = filter_input_array(INPUT_POST, $options);
    //on vérifie que le formulaire à bien était envoyer
    if(array_key_exists('submit', $_POST)){
        // on récupére les données du formulaire
        // elles sont automatiquement ranger dans le tableau $_POST
        $nom =  htmlspecialchars(trim($_POST["nom"]));
        $email =  htmlspecialchars(trim($_POST["mail"]));
        $message =  htmlspecialchars(trim($_POST["message"]));
        $number =  htmlspecialchars(trim($_POST["number"]));
     
        if($resultat !== false && !empty($nom) && !empty($email) && !empty($message) && !empty($number)){
     
            $nom = htmlentities($_POST['nom']);
            $email = htmlentities($_POST['mail']);
            $message = htmlentities($_POST['message']);
            $number =  htmlentities($_POST["number"]);
            $to = 'sdnpmultiservices@gmail.com'; //mail perso avec le nom de domaine du site internet, testé aussi en localhost
            $subject = "demande via le formulaire de contact du site internet";
            $message = "Mr. ou Mme. $nom \n de la personne : $email \n (email : $email ) a fait une demande via le site internet.\n \n message : \n $message";
            $message = wordwrap($message, 70);  // Dans le cas où nos lignes comportent plus de 70 caractères, nous les coupons en utilisant wordwrap()
            $message = str_replace("\n.", "\n..", $message); //Sous windows, lorsque PHP discute directement avec un serveur SMTP, si un point est trouvé en début de ligne, il sera supprimé. Pour éviter ce comportement, remplacez ces occurrences par un double point.
            $headers = 'From: '.$email . "\r\n" .
            'Reply-To: $email' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();
     
            mail($to, $subject, $message, $headers);
        }
    }
    header("location : index.php");
    A savoir : j'ai aussi un .htaccess qui me réécri l'url de mes liens en /page/accueil, ou un autre nom de page voilà mais je ne pense pas que ça y joue quelque chose

  2. #2
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Hello,

    problème classique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: index.php");
    L majuscule, pas d'espace avant les :

  3. #3
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2018
    Messages : 56
    Points : 24
    Points
    24
    Par défaut
    Ah ! Je ne comprenais pas lol simple erreur banale, merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Strategie]Redirection après un formulaire
    Par kyser91 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 19/03/2004, 15h15
  2. redirection de trames
    Par Fry dans le forum Développement
    Réponses: 2
    Dernier message: 06/01/2004, 13h31
  3. [VB.NET]Double redirection.
    Par CammCamm dans le forum ASP.NET
    Réponses: 9
    Dernier message: 24/11/2003, 15h11
  4. [VB6] probleme de redirection d'une commande DOS
    Par WriteLN dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/06/2003, 09h36
  5. [reseaux] redirection de flux
    Par Olive1808 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 12/08/2002, 09h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo