您好,我的代码存在问题:
if (!empty($_GET['id'])){
$id = $_GET['id'];
}else if (!empty($_POST['id'])){
$id = $_POST['id'];
}
$get_id = 'SELECT * FROM kunde WHERE id=' . $id;
$r = mysql_query($get_id);
$t = mysql_fetch_array($r);
$_SESSION['id'] = $t['id'];
我也有隐藏的领域:
<input type="hidden" name="id" value="<?php echo $_SESSION['id']; ?>">
但我总是遇到同样的错误:
Notice: Undefined variable: id in C:\xampp\htdocs\Uebungsklausur\PHP\change.php on line 30
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Uebungsklausur\PHP\change.php on line 32
请帮助我们..我只是想从表中获取ID&#34; kunde&#34;
编辑:谢谢你们,我解决了它。问题出在表单标签中。那是第一个代码:<form method="post">
现在它是:'<form method="post" action=" change.php?id=' . $row[0] . '">';
答案 0 :(得分:1)
这段代码现在太复杂了,因为没有足够的信息。 代码太模糊了,因为我还没有弄清楚你想用它做什么以及代码应该引导你去哪里。
以下内容可能对您有所帮助:
如果您正试图从表客户处获得它,那么您做错了。你现在可以从桌子上找到它&#39; kunde&#39;。您还要在WHERE声明中要求提供一个ID,因为您试图通过实际声明来获取该声明吗?
以下代码是我认为你要做的。
创建一个用它发送ID的输入(如果存在)。
<input type="hidden" name="id" value="<?php if (isset($_SESSION['id'])) { echo $_SESSION['id']; } ?>">
然后在以下代码中检查&#39; id&#39;设置并返回id?
if (isset($_POST['id'])) {
$id = $_POST['id'];
// REST OF CODE (The $get_id, $r, $t and setting $_SESSION)
}
if (isset($_GET['id'])) {
$id = $_GET['id'];
// REST OF CODE (The $get_id, $r, $t and setting $_SESSION)
}
答案 1 :(得分:0)
让我们在您提供的代码上解决一些问题:
1.您同时使用GET和POST?我想知道你实际使用的是哪一个。
2.我假设您从$ _SESSION ['id']中获取了ID。另一种方法是你可以直接从中获取$ id。
记住这些事情:
我们假设您正在使用GET来获取ID。
首先,改变一下:
if (!empty($_GET['id'])){
$id = $_GET['id'];
}else if (!empty($_POST['id'])){
$id = $_POST['id'];
}
到这个
if (isset($_GET['id'])){
$id = $_GET['id'];
}
else if (!isset($GET['id'])) {
$id = $_SESSION['id'];
}
但请说清楚你在问什么。
答案 2 :(得分:0)
这是因为$ id没有在IF语句中声明,即$ id变量仅存在于if或else语句中,并且在它之外并不存在。
要解决此问题,您可以:
1#在if语句
之外声明$ id这使您的代码运行
$id; // or $id = null
if (!empty($_GET['id'])){
$id = $_GET['id'];
}else if (!empty($_POST['id'])){
$id = $_POST['id'];
}
$get_id = 'SELECT * FROM kunde WHERE id=' . $id;
$r = mysql_query($get_id);
$t = mysql_fetch_array($r);
$_SESSION['id'] = $t['id'];
2#使用三元运算符
使用起来非常简单:
$id = (!empty($_GET['id'])) ? $_GET['id'] : $_POST['id'];
$get_id = 'SELECT * FROM kunde WHERE id=' . $id;
$r = mysql_query($get_id);
$t = mysql_fetch_array($r);
$_SESSION['id'] = $t['id'];
3#使用$ _REQUEST global
$ _请求全球它是一个&#34;摘要&#34; $ _POST和$ _GET
$id = $_REQUEST['id'];
$get_id = 'SELECT * FROM kunde WHERE id=' . $id;
$r = mysql_query($get_id);
$t = mysql_fetch_array($r);
$_SESSION['id'] = $t['id'];