我有一个非常奇怪的问题。这是我的update.php,它通过点击提交按钮将用户和日期存储在数据库中:
<?php
session_start();
require('database.php');
require('header.php');
if(!$user->is_logged_in()){
header('Location: index.php');
}
$id = 0;
$user = $_SESSION['username'];
if ( !empty($_GET['id'])) {
$id = $_REQUEST['id'];
$animal = $_REQUEST['animal'];
}
if ( !empty($_POST)) {
$id = $_POST['id'];
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql1 = "UPDATE animals set user1 = ?, date1 = NOW() WHERE id = '$id'";
$q = $pdo->prepare($sql1);
$q->execute(array($user));
Database::disconnect();
header("Location: index.php");
}
?>
<form action="update.php" method="post">
<input type="hidden" name="id" value="<?php echo $id;?>"/>
<button type="submit"> Submit</button>
</form>
到目前为止它运作良好。但我需要制定条件,这意味着,只有$animal == 1
才能完成这些工作。
现在出现了我的问题。
我只是将我的if条件放在我的sql请求中:
if ($animal == 1){
$sql1 = "UPDATE animals set user1 = ?, date1 = NOW() WHERE id = '$id'";
$q = $pdo->prepare($sql1);
}
我需要这个,因为后来我也想写:
if ($animal == 2){
$sql2 = "UPDATE animals set user2 = ?, date2 = NOW() WHERE id = '$id'";
$q = $pdo->prepare($sql2);
}
但它根本不起作用。如果我使用if-condition
,那么我的代码就不再起作用,意味着数据库中没有存储任何内容,并且重定向到index.php也无法正常工作。有人能帮助我吗?
答案 0 :(得分:0)
答案是,我需要写下表格:
action="update.php?id=<?php echo $id; ?>&m=<?php echo $animal; ?>