用php执行Javascript并回显一些变量


Executing Javascript with php and echo some vars

我正在尝试用php中的if和else执行一个简单的javascript文件。到目前为止,它是有效的,但我有一个问题。。请参阅下面的示例。

<?
$varone = "Popup One";
$vartwo = "Popup Two";
if ($_GET['myrequest'] == "")
{
echo <<<html
<script>
alert($varone);
</script>
html;
}else{
echo <<<html
<script>
alert($vartwo);
</script>
html;
}
?>

所以我想在每个警报中传递我的php变量!或者还有其他简单的方法来执行我的javascript并用javascript传递我的php变量吗?

谢谢!!!

尝试

<?php
    $varone = "Popup One";
   $vartwo = "Popup Two";
  if ($_GET['myrequest'] == "")
   {
echo " <script>
         alert('".$varone."');
       </script>";
}else{
     echo "<script>
        alert('".$vartwo."');
      </script>  ";
}
?>

要将JavaScript和PHP分开,请尝试此

<?php
$varone = "Popup One";
$vartwo = "Popup Two";
if ($_GET ['myrequest'] == "") {
    ?>
      <script>
         alert('<?php echo  $varone; ?>');
       </script>
<?php
} else {
    ?>
       <script>
        alert('<?php echo  $vartwo; ?>');
      </script>
<?php
}
?>

我认为您只是在警报中的变量周围缺少引号。

试试这个:

<?
$varone = "Popup One";
$vartwo = "Popup Two";
if ($_GET['myrequest'] == "")
{
    echo <<<html
    <script>
        alert('$varone');
    </script>
    html;
} else {
    echo <<<html
    <script>
        alert('$vartwo');
    </script>
    html;
}
?>

如果您查看了浏览器的javascript控制台,您可能已经发现了这个javascript错误,这对调试非常有帮助。谷歌了解如何在您使用的任何网络浏览器中打开javascript控制台。

我不知道你想要实现什么,但我认为,如果你想从php向js传递一些var,最好的方法是使用$.ajax,但这取决于你想要做什么,或者在这种情况下,可能应该这样做。

  <?php
   if($_GET['myrequest'] == ""){
       $alertVar = "popupone";
   }
   else{
       $alertVar = "popuptwo";
   }
   ?>
      <script>
         alert('<?php echo $alertVar ?>');
      </script>

如答案所示,您几乎没有选择。

<?php
$varone = "Popup One";
$vartwo = "Popup Two";
?>
<script>
<?php if ($_GET['myrequest'] == ""):?>
    alert('<?php echo $varone; ?>');
<?php else: ?>
    alert('<?php echo $vartwo; ?>');
<?php endif; ?>
</script>