值为string的PHP变量与值为html id的javascript PHP变量不相等


PHP variable with a value of string is not equal in PHP variable with a value of html id from javascript?

这是我的示例代码

<script>
    var item = "yooow";
    jQuery("#view").html(item);
</script>
<?php  $str_html = '<p id="view"></p>';
     echo $str_html; //it will output "yooow" 
?>

但是。。。

当我试图将其与另一个php变量进行比较时

<?php $str_php ="yooow";
    if($str_html == $str_php)
    {
         echo "true";
    }
    else
    {
        echo "false"; 
    }
?>

但它返回到错误的

他们怎么可能是平等的?

PHP是在服务器端运行的,这意味着它不知道您使用Javascript在DOM中所做的任何更改。

<script>
var item = "yooow";

值仅在clinet端设置,PHP不知道此处的更改

jQuery("#view").html(item);   
</script>
<?php  $str_html = '<p id="view"></p>';

错误,它将输出"<p id="view"></p>"
echo$str_html//它将输出"yooow"?>

<?php $str_php ="yooow";

比较"<p id="view"></p>"answers"yoow",这是不相等的

 if($str_html == $str_php)

更好的做法是,在cookie/会话中给出项值。并且,将cookie值与$str_php进行比较。

<?php session_start(); ?>
<script>
$(document).ready(function(){
    var item = "<?php  echo $_SESSION['html']="yooow"; ?>";
    $("#view").html(item);
});
</script>
<?php  
    $str_html = '<p id="view"></p>';
    $strHtml=$_SESSION['html'];
    $str_php ="yooow";
    if($strHtml == $str_php)
    {
         echo "true";
    }
    else
    {
        echo "false"; 
    }
?>