我创建了一个可以工作的login.php,并让用户通过会话登录。 现在,用户可以选择使用他的" money"买东西,所以他点击"买"并打开" transfer.php"这是下面的。
<?php
session_start();
$servername = "";
$username = "";
$password = "";
$dbname = "";
// Create connection header("Location:transfer2.php");
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "UPDATE user SET money=money-2 WHERE id=2";
if ($conn->query($sql) === TRUE) {
exit();
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>
现在,这部分:$sql = "UPDATE user SET money=money-2 WHERE id=2";
我想让这个脚本自动从当前登录的用户中找到id。
我试图解决这个问题,而我只是输了。
提前致谢。
答案 0 :(得分:2)
在登录脚本中,将会话变量设置为用户的ID。然后,您可以在其他脚本中使用此会话变量。
$sql = "UPDATE user SET money=money-2 WHERE id = ?";
if ($stmt = $conn->prepare($sql)) {
$stmt->bind_param("i", $_SESSION['user_id']);
if ($stmt->execute()) {
exit();
} else {
die("Error updating record: " . $stmt->error);
}
} else {
die("Error updating record: " . $conn->error);
}