因此,我正在用PHP开发一个小项目,当我检查网页时,看到了两个错误:
注意:未定义的索引:位于C:\ xampp \ htdocs \ characters.php中的has_char 第35行
注意:未定义的索引:位于C:\ xampp \ htdocs \ characters.php中的has_char 第42行
我似乎无法弄清楚如何检查$_SESSION['has_char']
是否为真,因为这取决于用户在网页上看到的内容是否不同。我尝试按照自己的方式进行操作,但遇到了这两个错误,该如何纠正并使其正常工作?
<!DOCTYPE html>
<html>
<head>
<title>Character Screen</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<div class="header">
<h2>Character</h2>
</div>
<div class="content">
<?php
echo "Welcome," . " ". $_SESSION['username'] . "!";
?>
<?php if($_SESSION['has_char'] === False) : ?>
<div class="no character">
<?php echo "You do not have a character." ?>
Click <a href="charactercreation.php">here</a> to make one!
</div>
<?php endif ?>
<?php
if($_SESSION['has_char'] === True) {
echo("Your character is". $char_name);
}
?>
</div>
<div class="log out">
<br>
<a href="logout.php">Log Out</a>
</div>
</body>
</html>
“ if($_SESSION['has_char'] === False
”和“ if($_SESSION['has_char'] === True
”似乎是麻烦的制造者,但我对此没有很好的解决方案。
答案 0 :(得分:3)
一种方法是使用isset()
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
您还可以设置默认值,以便您知道有一个值。
if ( isset($_SESSION['has_char']) && $_SESSION['has_char'] === True) {
echo("Your character is". $char_name);
}
然后是array_key_exists()
$hasChar = $_SESSION['has_char'] ?? null;
if ( $hasChar === true ) {
// something is true
} elseif ( $hasChar === false ) {
// something is false
} else {
// something is null
}