2016-09-28 32 views
1
<?php 
if($_GET['st'] !=''){ 
$st= $_GET['st']; 
?> 
    <script> 
    var st = <?php echo $st; ?> 
    if(st !=''){ 
     console.log('got function here'); 
    } 
    </script> 
<?php }?> 

我想說明如果$ ST不等於空,然後去做別的事情做其他的事情,但它給錯誤Javascript代碼給人如果控制檯狀態錯誤

pro.php?st=foo:13 Uncaught SyntaxError: Unexpected token if.

+1

而不是'st = <?php echo $ st; ?>'use'st =「<?php echo $ st;?>」;' –

回答

0

試試這個,

<?php 
    if($_GET['st'] !=''){ 
    $st= $_GET['st']; 
?> 
<script> 
    var st = "<?php echo $st; ?>"; // assign var st properly with ("st";) 
    if(st !=''){ 
    console.log('got function here'); 
    }  
</script> 
<?php 
} 
?> 
+0

謝謝@Dave,它的工作正常。 :) – Nadeem

0

而不是st = <?php echo $st; ?>使用st = "<?php echo $st; ?>";,您需要關閉PHP和javascript語句。

<?php 
if($_GET['st'] !=''){ 
$st= $_GET['st']; 
?> 
    <script> 
    var st = "<?php echo $st; ?>"; 
    if(st !=''){ 
     console.log('got function here'); 
    } 
    </script> 
<?php }?> 
0

您需要存儲st引號裏,這樣的事情:

var st = '<?=$st?>'; 

但在這之前,你還需要使用isset()檢查無論是$_GET['st']集或!empty()條件不是沿着。

例子:

<?php 
if(isset($_GET['st']) && !empty($_GET['st'])){ 
    $st = $_GET['st']; 
?> 
    <script> 
    var st = '<?=$st?>'; 
    if(st != ''){ 
     console.log('got function here'); 
    } 
    </script> 
<?php 
} 
?> 

需要注意的是,你已經在PHP檢查空值,爲什麼你javascript再次使用它不知道。