我正在制作一个测验系统,当我尝试插入问题文本时,从HTML表单的$ _POST中,它只是插入一个空值,而question_id保持为零:
Question text: <br />
<textarea name="qtext" rows="2" style="width:200px; height:100px;" name="qst"></textarea> <br />
$post_qtext = $_POST['qst'];
$post_qtext = mysql_real_escape_string($post_qtext);
$q_insertquestions = mysql_query("INSERT INTO `questions` (`question`,`type`) VALUES ('$post_qtext','1')");
$q_lastquestioninserted = mysql_insert_id($q_insertquestions);
表中的question_id是int(11) mysql中的问题是varchar(60)
答案 0 :(得分:4)
textarea有name="qtext"
,但PHP有$_POST['qst'];
。
您需要访问与您的字段名称相同的数组索引。
...我现在看到它还有name="qst"
。不允许在单个元素上使用相同的属性两次。浏览器可能会或可能不会从此错误中恢复。您应该使用a validator。
答案 1 :(得分:0)
您在HTML页面中有两次书面名称更改它,并将您的文本区域名称更改为qst
<textarea name="qst" rows="2" style="width:200px; height:100px;"></textarea> <br />
答案 2 :(得分:0)
因为您为textarea
从name="qst"
textarea
<textarea name="qtext" rows="2" style="width:200px; height:100px;"></textarea>
并且这样做:
$post_qtext = $_POST['qtext'];