因此,我为本地广播电台制作了此应用程序,该广播电台基本上是带有累积奖金的猜字游戏。当用户进入页面时,$ bericht需要显示累积奖金有多高。每次有人错过单词时,头奖需要增加5,而$ bericht需要更新,如果用户猜对了,用户将赢得大奖,这将显示他们在$ bericht中赢了多少。但是每次我回答错时,它仍然说我猜对了。这需要使用PDO和PHP来完成。
这是我的PHP:
<?php
require_once "manager.php";
$manager = new funtionHandler();
$database = $manager->getBCWaarde();
$bcDatabase = $database->bc;
$message= "De pot ligt nu op " . $bcDatabase . "BC!";
if ($_POST) {
$checkAnswer= $manager->getAntwoordByInput($_POST["antwoord"]);
$correctAnswer= isset($checkAnswer);
if ($correctAnswer) {
$message= "Het antwoord is goed! Jij wint " . $bcDatabase . "BC!";
$bcCount = 0;
$manager->updateBCWaarde($bcCount);
}else{
$bcCount = $bcDatabase += 5;
$message= "Het antwoord is fout! De pot ligt nu op " . $bcCount . "BC!";
$manager->updateBCWaarde($bcCount);
}
}
?>
这是我的PHP Functionmanager:
<?php
require_once "connection.php";
class funtionHandler{
public function getAntwoordByInput($aInput) {
global $conn;
$statement = $conn->prepare("SELECT * FROM hetgeluid WHERE antwoord LIKE '?';");
$statement->bindValue(1, $aInput);
$statement->execute();
return $statement->fetchObject();
}
public function getBCWaarde() {
global $conn;
$statement = $conn->prepare("SELECT bc FROM hetgeluid");
$statement->execute();
return $statement->fetchObject();
}
public function updateBCWaarde($bcWaarde) {
global $conn;
$statement = $conn->prepare("UPDATE hetgeluid SET bc = ? WHERE id = 1");
$statement->bindValue(1, $bcWaarde);
$statement->execute();
}
}
?>
这是我的HTML:
<form method="post" action="">
<textarea required type="text" style="height:100px; width:100%;" class="customField" cols="40" rows="5" style="resize: none;" name="antwoord"></textarea><br /><br />
<input type="submit" class="customSuccessButton" value="Verstuur"/>
</form>
<br />
<?php echo $message; ?>
答案 0 :(得分:1)
检查答案是否正确的方法似乎是这里的问题。
$checkAntwoord = $manager->getAntwoordByInput($_POST["antwoord"]);
getAntwoordByInput
方法返回$statement->fetchObject()
的结果,该结果返回下一行作为对象,如果没有则返回false
。
$goedAntwoord = isset($checkAntwoord);
isset函数检查变量是否存在而不是null
。
变量$checkAntwoord
始终存在。如果答案正确,则其类型为object
,否则为boolean
(false
)。无论哪种方式,它都不是null
。因此,您的条件将永远为真。
if ($goedAntwoord) {
您可以改为使用empty函数。例如:
$goedAntwoord = !empty($checkAntwoord);
if ($goedAntwoord) {