0
votes

Vérification si 2 variables PHP sont définies à l'intérieur de JavaScript Isset

J'ai 2 variables PHP en PHP (principalement USM et $ AG) et je les transmettes à la frontale. En JavaScript, utilisez Isset pour vérifier s'ils ont une valeur avant d'exécuter du code, mais semble ne pas fonctionner

<script>
    if( <?php isset($usm , $ag) ?> ){
        $( document ).ready(function() {
            var usmData = {!! json_encode($usm) !!};
            var agData = {!! json_encode($ag) !!};
        });
    }
</script


1 commentaires

Vous ne pouvez pas accéder à la variable PHP dans le script. Essayez de définir la variable PHP dans des cookies ou des sessions et d'extraire les données variables PHP de là.


4 Réponses :


2
votes

Cela n'a pas de sens. Vous avez mélangé PHP et JS.

résultat de PHP Isset est utilisé uniquement sur PHP et ne le rend pas au côté JS. Votre instruction JS n'est pas valide.

check Cet article article Pour plus d'informations.


2 commentaires

Mais je l'ai placé à l'intérieur des tags php


@Martin Peu importe car JavaScript s'attend à une valeur booléenne à l'intérieur si et que votre résultat de votre code PHP ne soit pas transmis à JS. pas comme ça de toute façon.



1
votes

Vous devez vérifier la partie IsseT avec PHP uniquement.

<?php if(isset($usm) and isset($ag)){ ?>
<script>
    $( document ).ready(function() {
        var usmData = '<?php echo json_encode($usm); ?>';
        var agData = '<?php echo json_encode($ag); ?>';
    });
</script>
<?php } ?>


3 commentaires

JS strings doit être entouré de ' ou "


Oui corrigé aussi son codage dans JSON


@executable J'ai essayé votre solution et j'obtiens cette erreur d'analyse d'erreur: erreur de syntaxe, inattendue '{'



0
votes
<script>
    <?php if(isset($usm , $ag)) { ?> 
        $( document ).ready(function() {
            var usmData = {!! json_encode($usm) !!};
            var agData = {!! json_encode($ag) !!};
        });

    <?php } ?>
</script>

0 commentaires

0
votes

Je vous suggérerais d'écrire le code PHP à l'extérieur sinon script code> sera exécuté inutile avec le code vide si la condition n'est pas remplie.

<?php 
    if(isset($usm , $ag) {
?>
<script>
    $( document ).ready(function() {
        var usmData = '<?php echo json_encode($usm); ?>';
        var agData = '<?php echo json_encode($ag); ?>';
    });
</script>
<?php
    }
?>


0 commentaires