【发布时间】:2013-03-25 23:21:46
【问题描述】:
我创建了一个文本框,因此当管理员输入名称并单击提交时,它将显示从数据库中检索到的数据列表。
<form method="post" action="">
<?php
$teacherName = $_POST['teacherName'];
if ($_POST['submitted'] == 1) {
if($teacherName != ""){
$getName = mysql_query("SELECT name, user_id FROM members WHERE name = '$teacherName'");
$teacherdetails = mysql_fetch_array($getName);
$teachername = $teacherdetails['name'];
$teacher_id = $teacherdetails['user_id'];
if($teachername != ""){
print $teachername . "<br/>";
} else {
print "Give a valid name <br/>";
}
}
}
if ($teachername == ""){ ?>
Teacher name:<input type="text" size="20" name="teacherName"><input type="hidden" name="submitted" value="1"><br/>
<input type="submit" value="Submit" />
<?php $getModule = mysql_query("......");
while ($row2 = mysql_fetch_array($getModule)) { ?>
<input type="checkbox" name="modules[]" value="<?php print $row2["module_id"]?>"/> <?php print $row2["module_name"] . '<br/>'; } ?>
</div><br/> <?php } ?>
<input type="submit" value="Submit" />
</form>
下面我写了这段代码(在同一个脚本中):
<?php
$modules = $_POST['modules'];
for($i = 0; $i < count($modules); $i++){
$module=mysql_query("INSERT INTO module (module_id,user_id) VALUES ('$modules[$i]','$teacher_id')");
}
?>
但由于某种原因,当我调用变量“$teacher_id”(这是我之前从数据库中检索到的值。它在表单中工作正常)时,它什么也不返回。它是空的,但我不明白为什么。
我做错了吗?
【问题讨论】:
-
你能发一份$teacherdetails的转储吗?谢谢。
-
您正在使用带有 sql 注入漏洞代码的已弃用库
-
两个调用肯定在同一个范围内吗?
-
我真的很抱歉伙计们,但你能详细解释一下吗?我真的不明白你的意思。 :(
-
两者在同一个脚本中,一个在表单中,第二个在html表单下面的php中。
标签: php html mysql forms textbox