Impossibilité de réaliser une redirection (Créer un compte)

  • WordPress :5.7
  • Statut : non résolu
9 sujets de 1 à 9 (sur un total de 9)
  • Auteur
    Messages
  • #2374318
    Tamerlan
    Participant
    Initié WordPress
    22 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7.3.27
    • Thème utilisé : Divi
    • Extensions en place : All In One WP Security – BackUpWordPress – Image Map Pro – Elegant Themes Updater – Divi Children – Insert PHP Code Snippet – PHP Compatibility Checker – TablePress – WP Cerber Security, Antispam & Malware Scan  – Yoast SEO
    • Nom de l’hébergeur : OVH
    • Adresse du site : http://www.les-abbayes-de-france.fr

    Problème(s) rencontré(s) :

    Bonjour,

    Je cherche à faire une redirection à l’aide d’un short code (Insert PHP Code Snippet) sans succès.

    Voici le contenu du code :

    $a1 = $_GET[‘a1’];
    if ($a1<1 OR $a1>1451 OR (!is_numeric($a1))
    {header(‘Location: https://www.les-abbayes-de-france.fr/index.php&#8217;);
    }

    Quelqu’un saurait-il me dire quelle est mon erreur ?

    Merci d’avance

     

    #2374351
    Li-An
    Modérateur
    Maître WordPress
    24853 contributions

    Bonjour, où avez-vous trouvé ce code ?

    #2374369
    Tamerlan
    Participant
    Initié WordPress
    22 contributions

    Bonjour,

    Je note effectivement une erreur, le “&#8217” relève très certainement de la génération spontanée, je n’ai jamais saisi cela.

    Mon code est celui-ci :

    $a1 = $_GET[‘a1’];
    if ($a1<1 OR $a1>1451 OR (!is_numeric($a1))
    {header(‘Location: https://www.les-abbayes-de-france.fr/index.php&#8217;);
    }

    #2374419
    Loraga
    Participant
    Chevalier WordPress
    103 contributions

    Bonjour,

    Comme @Li-An vous l’a demandé, où avez-vous trouvé ce code ?

    Car si c’est vous qui l’avez écrit, avec WordPress, on utilise pas $_GET directement, mais plutôt la fonction get_query_var(). Idem pour header(), on ne l’utilise pas mais plutôt wp_redirect() à la place.

    Je note effectivement une erreur, le “&#8217” relève très certainement de la génération spontanée

    Oui, mais il y a la possibilité d’intégrer des portions de code proprement dans le forum en utilisant le bouton “Code” de l’éditeur lorsque vous rédigez/éditez votre message 🙂

     

    #2374471
    Tamerlan
    Participant
    Initié WordPress
    22 contributions

    Je ne suis pas un expert en programmation, je pense que cela est perceptible. Mon but est simplement de réaliser un site permettant de consulter une base de données, sans plus. Mes seules connaissances dans le domaine de la programmation datent des années 1980 alors que je travaillais au CERN.

    Des recherches m’ont ce soir permis de lire ceci :

    “Attention : il n’est pas possible d’effectuer une redirection serveur une fois que le programme PHP a commencé à envoyer du code au navigateur. Si, par exemple, vous désirez effectuer une redirection dans la fonction de rappel d’un « shortcode », il vous faudra plutôt utiliser une redirection JavaScript.”

    Source : https://christianelagace.com/wordpress/la-redirection-avec-wordpress/

    Je vais donc orienter mes recherches de ce côté là.

     

     

    #2374472
    ferman
    Participant
    Maître WordPress
    3853 contributions

    Bonjour,

    Je pense que votre intention n’est pas clairement définie (en tout cas pas pour moi). Que voulez vous faire très concrètement: quand vous arrivez sur une page être redirigé sur une autre? Après une action (bouton appuyé, formulaire rempli…) être redirigé vers une autre page? etc…Le shortcode ne servant qu’à placer la fonction sur la page à rediriger?

    #2374478
    Tamerlan
    Participant
    Initié WordPress
    22 contributions

    Bonjour,

    Je ne transmets via l’URL qu’un seul paramètre de type :

    “$a1” jusqu’à “$a1451”

    ce “$a1” correspondant à la première des abbayes référencées dans ma base de données. De même que de “$c1” à “$c94” pour les chartreuses.

    Le but est très simplement d’empêcher que l’on puisse saisir autre chose en lieu et place de cette donnée et renvoyer vers une page de mon choix.

    Et je dois dire que mes connaissances ne me permettent pas d’arriver au but souhaité. Merci donc à qui pourra m’aider.

    #2374498
    ferman
    Participant
    Maître WordPress
    3853 contributions

    Dans votre code “if ($a1<1 OR $a1>1451 OR (!is_numeric($a1))”, il manque une parenthèse fermante “if ($a1<1 OR $a1>1451 OR (!is_numeric($a1)))“.

    Testé avec wp_redirect. Pas sûr que le header redirect marche par contre (risque de header already sent…)

     

    #2374578
    Tamerlan
    Participant
    Initié WordPress
    22 contributions

    Exact oui, merci.

9 sujets de 1 à 9 (sur un total de 9)
  • Vous devez être connecté pour répondre à ce sujet.