Javascript 使用PHP中的查询填充HTML元素

Javascript 使用PHP中的查询填充HTML元素,javascript,php,html,Javascript,Php,Html,我想创建html元素 <p id="userInfo"></p> 我当前正在尝试将userInfo元素设置为 <script>document.getElementById(userInfo).value='<?php echo $_SESSION['globalUser']?>'</script> 您需要引用IDuserinfo,否则它将被用作变量而不是文本 您应该分配给innerText,而不是value;只有用户输入元素才有值

我想创建html元素

<p id="userInfo"></p>
我当前正在尝试将userInfo元素设置为

<script>document.getElementById(userInfo).value='<?php echo $_SESSION['globalUser']?>'</script>

您需要引用ID
userinfo
,否则它将被用作变量而不是文本

您应该分配给
innerText
,而不是
value
;只有用户输入元素才有值

要将PHP值转换为JavaScript文本,最安全的方法是使用
json\u encode()
。它将添加引号和任何必要的转义

<script>document.getElementById('userInfo').innerText=<?php echo json_encode($_SESSION['globalUser']); ?>;</script>
document.getElementById('userInfo').innerText=;

试试这个:document.getElementById('userInfo').innerHTML=“”;如果有嵌套的引号,请使用双引号。userInfo ID需要加引号。用分号结束JS和PHP语句;这产生了与以前相同的错误。为什么要用JS而不是

?变量中还有一个换行符。JavaScript不允许字符串文本中的换行,这就是导致语法错误的原因。如果在开始处没有
session\u start()
,就会发生这种情况。document.getElementById(userInfo)。innerText=null;calendar.php:44 Uncaught TypeError:无法设置nullOops的属性“innerText”,忘记添加引号。因此未填写会话变量。确保您有
session_start()在脚本的开头。引号放在哪里?我脑袋里有
<script>document.getElementById(userInfo).value='<br />
<?php $session_value=(isset($_SESSION['id']))?$_SESSION['id']:''; ?>
$sqlUser = "SELECT `teacher_username` FROM `teacher` WHERE `teacher_username`='$user'";
$sqlPass = "SELECT `password` FROM `teacher` WHERE `password`='$pass'";
$resultUser = mysqli_query($connection, $sqlUser);
$resultPass = mysqli_query($connection, $sqlPass);
$textUser = $resultUser->fetch_assoc();
$textPass = $resultPass->fetch_assoc();
$_SESSION['globalUser'] = $_POST[$textUser['teacher_username']];
<script>document.getElementById('userInfo').innerText=<?php echo json_encode($_SESSION['globalUser']); ?>;</script>