У меня очень странная проблема. Это мой update.php, который хранит в пользователя и дату в базе данных, нажав на кнопку отправки:Как использовать if-условие для хранения данных в базе данных?
<?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
.
Теперь наступает моя проблема.
я просто кладу, если состояние вокруг моего запроса 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 не работает. Кто-нибудь может мне помочь?
До сих пор я узнал, что '$ animal' не будет выводиться в' если {.. .', но я до сих пор не знаю, как его получить – Jarla