-1

私はそれを行うことができます?条件付きphp「if」の後にjavascript関数を呼び出そうとしています

<script type="text\javascript">
functioncall = (function(id){
   alert(id);
});
</script>

<?php
if(isset($_get['id']){
   echo "<script>functioncall({$_get['id']});</script>";
}
?>
4

3 に答える 3

1

PHP 条件で $_get の代わりに $_GET を使用してください。スクリプト タグ スクリプト タイプや PHP $_GET などのエラーの一部を修正しました。

    <script type="text/javascript">         
        functioncall = (function(id){
               alert(id);
        });
   </script>

 <?php
    if(isset($_GET['id'])){
       echo "<script>functioncall('{$_GET['id']}');</script>";
    }
 ?>
于 2013-11-05T12:04:46.483 に答える
1

それともJSを使用していますか?

function getQueryVariable(variable) {
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}

そして、好きにしてください...

var id = getQueryVariable('id');
if(id) {
    alert(id);
}

クレジット: http://css-tricks.com/snippets/javascript/get-url-variables/

于 2013-11-05T12:06:00.343 に答える
0

クエンティンが言ったように、あなたは XSS 攻撃にさらされています。GET 変数 (url 変数) からページに何も入れないでください - あなたの場合は 'id' です。

とにかく、php 条件に基づいて関数を呼び出したい場合は、次のようにすることができます。

<script type="text\javascript">
functioncall = (function(id){
   alert(id);
});
</script>

<?php
if(condition-goes-here){
?>
<script type="text/javascript">
   functioncall(<?php echo 'Put in your php data' ?>);
</script>
<?php } ?>

私はそれをチェックしていませんが、うまくいくことを願っています。条件が false を返す場合、関数呼び出しはページに配置されません。

しかし、それは良い習慣ではありません。

于 2013-11-05T12:06:20.410 に答える