Php 无法使用$\u get方法获取id
我有个问题。我正在尝试从链接获取用户IDPhp 无法使用$\u get方法获取id,php,html,css,mysql,Php,Html,Css,Mysql,我有个问题。我正在尝试从链接获取用户ID localhost/projekt/php/rules.php?user=1 然后我用$ID=$\u GET['user']保存用户ID 它正在工作,但当我按下需要ID的按钮后,它会说:用户未定义 这是我的密码 <?php $conn = new mysqli('localhost', 'root', '', 'logins'); $id = $_GET["user"]; $var = 0; if(isset($_POST['submit']
localhost/projekt/php/rules.php?user=1
然后我用$ID=$\u GET['user']保存用户ID
它正在工作,但当我按下需要ID的按钮后,它会说:用户未定义
这是我的密码
<?php
$conn = new mysqli('localhost', 'root', '', 'logins');
$id = $_GET["user"];
$var = 0;
if(isset($_POST['submit'])) {
if (isset($_POST['checkbox'])) {
$sql = "SELECT rulesaccepted FROM logins WHERE ID = '$id'";
foreach ($conn->query($sql) as $row) {
$sql3 = "UPDATE logins SET rulesaccepted = '1' WHERE ID = '$id'";
$conn->query($sql3);
header('Location: main.php');
}
} else {
$var = 1;
}
}
?>
这是因为您正在重定向到没有用户属性的main.php 因此,您需要检查用户是否 你一定注意到了 因为您的代码非常复杂,所以强烈建议使用它 这句话: $sql3=更新登录集规则接受='1',其中ID='$ID'; $conn->query$sql3 最好如下所示:
$sql3 = "UPDATE logins SET rulesaccepted = '1' WHERE ID=?";
$stmt = $conn->prepare($sql3);
$stmt->bind_param('i', $id);
$stmt->execute();
与您的select查询相同:我希望当您单击按钮localhost/projekt/php/rules.php?user=1时不要再次触发。 这就是为什么它说:用户是未定义的 您可以在表单中使用$\u GET['user'],如下所示
<input type="hidden" name="id" value="<?php echo $_GET['user'] ?>" />
添加您的html表单代码我认为当您提交表单时,您不会发送“用户”属性。显示你的html代码,它就会变得清晰。main.phpstill的内容是什么不起作用:注意:未定义的索引:C:\xampp\htdocs\projekt\php\rules.php第4行的用户:$u POST['submit']怎么样?如何在没有表单的情况下完成$\u POST数据,例如$\u POST['checkbox']、$\u POST['submit']?
<input type="hidden" name="id" value="<?php echo $_GET['user'] ?>" />
if(isset($_POST['submit'])) {
if (isset($_POST['checkbox'])) {
$id=$_POST['id']
$sql = "SELECT rulesaccepted FROM logins WHERE ID = '$id'";
foreach ($conn->query($sql) as $row) {
$sql3 = "UPDATE logins SET rulesaccepted = '1' WHERE ID = '$id'";
$conn->query($sql3);
header('Location: main.php');
}
} else {
$var = 1;
}
}