Joomla 4 en PHP 8 : Par quoi remplacer $_GET ?

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Joomla 4 en PHP 8 : Par quoi remplacer $_GET ?

    Bonjour,
    Je transpose, article par article, mon ancien site sous Joomla 1 ou 2 avec un PHP <4 sous Joomla 4.3.4.
    je travaille avec Sourcerer version 10.


    Si 60% de mes programmes tournent, quelques séquences de PHP font de la résistance en particulier :
    $_GET
    Dont je n’arrive pas à trouver dans la documentation www.w3schools.com la correspondance de, ex :
    <br />$var1 = $_GET['option'];
    qui permet la récupération du paramètre « option » d’une URL.


    À la limite, j’aurai pu détourner la difficulté, si j’avais trouvé comment placer dans une $variable PHP, l’URL récupérée par javascript, ex :
    <script>
    let url = window.document.URL;
    document.getElementById("demo").innerHTML = url;
    </script>
    Cette séquence affiche l’URL à l’écran , mais cette séquence ne me sert à rien, je préfèrerai obtenir l’URL dans une variable PHP $varx que je pourrai exploiter.

    Bien cordialement.


  • #2
    Salut,
    $_SESSION non ?
    Usage différent mais tout aussi efficace et non visible dans l'URL

    Commentaire


    • #3
      Bonjour

      Je n'ai pas compris ton besoin...

      $_GET fonctionne de la même manière avec php 8 aussi je ne saisis pas trop ce que tu souhaites faire / remplacer.
      Christophe (cavo789)
      Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
      Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

      Commentaire


      • #4
        Envoyé par cavo789 Voir le message
        Bonjour

        Je n'ai pas compris ton besoin...

        $_GET fonctionne de la même manière avec php 8 aussi je ne saisis pas trop ce que tu souhaites faire / remplacer.
        Tout a fait vrai https://www.php.net/manual/en/reserv...iables.get.php

        Après j'utilise depuis longtemps les sessions car je n'aime pas que les users aient la possibilité de jouer avec les $_GET a l'exeption d'un POST en "hidden"

        Commentaire


        • #5
          @Fred2FR3,

          Je ne connaissais pas $_SESSION. Cela m’ouvre des possibilités dont je n’avais pas le besoin jusqu’ici.
          Mais ne répond pas à mon souci actuel.


          Merci.

          @Fred2FR3 et cavo789,

          Mon besoin est simple dans mon site précédent je récupérais les paramètres passés par l’URL.

          Le code suivant fonctionnait précédemment et il ne fonctionne plus dans la nouvelle configuration :
          j’ai volontairement neutralisé la séquence entre <script> et</script>.

          Code:
          [COLOR=#3498db][FONT=Calibri]<?php
          if(!isset($_GET[\'ret\'])) {
          $var1 = $_GET[\'option\'];
          $var2 = $_GET[\'view\'];
          $var3 = $_GET[\'id\'];
          $var4 = $_GET[\'catid\'];
          $var5 = $_GET[\'Itemid\'];
          echo "<script>";
          
          ;
          
          echo "</script>";
          }
          else {
          if(isset($_GET[\'Largeur\'])) {
          $var1 = $_GET[\'Largeur\'];
          $coef = (1/1680)*$var1;
          //echo "Line 220 coef = $coef<br />";
          }
          }
          ?>[/FONT][/COLOR]
          Le but de ce code est de récupérer les paramètres passés par l’URL.

          Ce code fonctionne dans la version précédente, mais provoque des erreurs avec joomla 4 et PHP 8 :

          Erreus affichés :

          Warning: Undefined array key "option" in D:\wamp64\www\www-V6\tmp\regularlabs\custom_php\11036_da672ed941dc2c df244075e120734710 on line 12


          Warning: Undefined array key "view" in D:\wamp64\www\www-V6\tmp\regularlabs\custom_php\11036_da672ed941dc2c df244075e120734710 on line 13

          Warning: Undefined array key "id" in D:\wamp64\www\www-V6\tmp\regularlabs\custom_php\11036_da672ed941dc2c df244075e120734710 on line 14

          Warning: Undefined array key "catid" in D:\wamp64\www\www-V6\tmp\regularlabs\custom_php\11036_da672ed941dc2c df244075e120734710 on line 15

          Warning: Undefined array key "Itemid" in D:\wamp64\www\www-V6\tmp\regularlabs\custom_php\11036_da672ed941dc2c df244075e120734710 on line 16

          Commentaire


          • #6
            Bonjour

            ​​​​​GET fonctionne donc strictement de la même manière, ton code est toujours fonctionnel.. sauf que... prends le temps de lire et comprendre le message warning que tu reçois.

            Tu demandes de récupérer la valeur de "option", ok, parfait mais et si tu n'avais pas ce paramètre dans ton url ? Bah, boum, tu reçois le warning.

            Cela fonctionne exactement comme avant.

            Pour ne plus recevoir le warning, utilise cette syntaxe : $var1 = $_GET['option'] ?? '' ;

            Cela s'appelle le "coalescese operator" et dit que si option n'est pas défini alors là valeur "" (une chaîne de caractères vide) est utilisée comme valeur par défaut.

            Et hop, plus de warning. Et ton code fonctionne exactement comme avant.
            Christophe (cavo789)
            Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
            Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

            Commentaire


            • #7
              Yes, mais je pense qu'il n'a plus de paramètre du tout dans l'URL aux vues des warn, le problème est ailleurs je pense ...

              Commentaire


              • #8
                Sur la home page c'est parfaitement normal ;-) Ainsi que lorsque la réécriture des URLs est activée.
                Dernière édition par cavo789 à 07/10/2023, 17h35
                Christophe (cavo789)
                Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                Commentaire


                • #9
                  Hello.

                  Voir : https://docs.joomla.org/Retrieving_r...a_using_JInput
                  ou https://forum.joomla.fr/forum/d%C3%A...odule-joomla-4

                  cavo789 aime ceci.
                  A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                  Rejoignez le Joomla Users Groupe Alsace...
                  roland_d_alsace va-t-il devenir roland_du_grand_est ?

                  Commentaire


                  • #10
                    cavo789 Merci.

                    Quoique je baigne depuis 2003 dans joomla PHP et JS, je ne connaissais pas le "coalescese operator".

                    Merci

                    Commentaire


                    • #11
                      Si ton problème est résolu, merci de passer ton post en RÉGLÉ.

                      Bonne journée.
                      Christophe (cavo789)
                      Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                      Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                      Commentaire

                      Annonce

                      Réduire
                      Aucune annonce pour le moment.

                      Partenaire de l'association

                      Réduire

                      Hébergeur Web PlanetHoster
                      Travaille ...
                      X