首页 > 解决方案 > 在新的 html 标记中输出 php 变量,仅当条件为真时使用 innerHTML

问题描述

大家好,我想使用内部 html 输出(php)变量 $email 的值,前提是我的 php 条件为真。如果人们不进去,他们会看到一个。

 <a onclick="document.getElementById('fondloginform').style.display='inline'" ><i class="fa fa-user-o"></i> (Log-in)(Register)</a>

但是,如果我的条件大于 0(您已登录),则希望它类似于。

 <a><?php echo $email ;?></a>

这是我的代码

<?php 
       /* Main page with two forms: sign up and log in */
  require 'db.php';
  session_start();
    // Check if user is logged in using the session variable
if ( $_SESSION['logged_in'] != 1 ) {
  $_SESSION['message'] = "You must log in to see this page!";
header("location: error.php");    
}
else {
  // Makes it easier to read
  $email = $_SESSION['email'];
  $active = $_SESSION['active']

 }
 ?>
<html>
<head>
</head>
<body>      
  <?php 
    function myFunction(){
       echo '<script>
   document.getElementById("accountlog").innerHTML = "New text!"; 

“新文本”---这是我想输出我的 $email 变量)(仅当我登录时(活动 < 0 )因为我的数据库中有一行名为活动并且只有当您登录并通过电子邮件验证你的活跃数大于0。

       </script>';
       }
       if ($active > 0){
       myFunction();
       }
   ?>   
 <header>
    <!-- TOP HEADER -->
        <div id="top-header">
            <div class="container">

                <ul class="header-links pull-right">

                 <li id="accountlog"><a  onclick="document.getElementById('fondloginform').style.display='inline'" ><i class="fa fa-user-o"></i> (Log-in)(Register)</a></li>
                </ul>
            </div>
        </div>
    <!-- /TOP HEADER --><!-- /HEADER -->

</header>
</body>

我正在使用 onlick 将显示切换到在线,因为我没有登录,我们点击(登录)(注册)它会在 Form.switching 显示属性中打开一个登录,所以我不能把它拿出来。

标签: phphtmlinnerhtml

解决方案


你要找的是这个

if ($active > 0){
     echo "<script>
           document.getElementById('accountlog').innerHTML = '$email';
            </script>";
}

完全删除myFunction(),因为它实际上并不需要。希望我有所帮助:D

仅当 $active > 0 没有 javascript 时更新打印 $email 变量

<?php $var = ($active > 0) ? $email : '<a  onclick="document.getElementById("fondloginform").style.display="inline""><i class="fa fa-user-o"></i> (Log-in)(Register)</a>'; ?> 
<li id="accountlog"><?php echo $var;?></li> 

使用内部 HTML

如果不让我知道错误是什么,我认为我发布的第一个方法应该可以与 innerHTML 一起使用。


推荐阅读