我有两个表单:student.html 和 coach.html,我想将它们的数据存储到一个名为 TEACHING_AWARD_NOMINATIONS
我对它们使用相同的 php 文件。下面是我的代码:
$srr = array_map('mysql_escape_string', $_REQUEST);
if ($srr['NOMINATIONTYPE'] == 'STUDENT')
$fields = Array('TYPE','NAME', 'EMAIL', 'NOMINEE', 'DEPT', 'COURSE', 'YEARTERM', 'REQUIRED_FOR_MAJOR', 'MAJOR_LEARNING_OBJECTIVES', 'WHAT_EXTENT_INSTRUCTOR_HELP', 'RANK', 'RANK_COMMENT','EVIDENCE','EFFECTION','CONTRIBUTION', 'TEXTBOX_1', 'TEXTBOX_2', 'TEXTBOX_3', 'TEXTBOX_4', 'TEXTBOX_5');
else if ($srr['NOMINATIONTYPE'] == 'FACULTY')
$fields = Array('TYPE','NAME', 'EMAIL', 'NOMINEE', 'DEPT', 'COURSE', 'YEARTERM', 'REQUIRED_FOR_MAJOR', 'MAJOR_LEARNING_OBJECTIVES', 'WHAT_EXTENT_INSTRUCTOR_HELP', 'RANK', 'RANK_COMMENT','EVIDENCE','EFFECTION','CONTRIBUTION', 'TEXTBOX_1', 'TEXTBOX_2', 'TEXTBOX_3', 'TEXTBOX_4', 'TEXTBOX_5');
else die('error: no nomination type');
foreach ($fields as $f)
$$f = $srr[$f];
$qry = "INSERT INTO TEACHING_AWARD_NOMINATIONS (";
foreach ($fields as $f) $qry .= $f . ", ";
$qry = substr($qry, 0, -2);
$qry .= ") VALUES (";
foreach ($fields as $f) $qry .= "'" . $$f . "', ";
$qry = substr($qry, 0, -2);
$qry .= ")";
$result = mysql_query($qry) or die('An error ocurred: '.mysql_error());
echo 'Success! Thank you for submitting your nomination.';
它完美地存储了表中除了'TYPE'
列之外的数据
下面是每个html中的代码:
<input type="hidden" name="NOMINATIONTYPE" value="FACULTY" />
<input type="submit" value="Submit" name="Submit" />
<input type="reset" value="Reset" name="Reset" />
<input type="hidden" name="NOMINATIONTYPE" value="STUDENT" />
<input type="submit" value="Submit" name="Submit" />
<input type="reset" value="Reset" name="Reset" />
如何为表创建标识符?我希望从学生表单提交的数据在表中显示类型:学生,从教师表单提交的数据在表中显示类型:教师。
请帮忙~~~
最佳答案
问题是因为在您的第一个 foreach
中,您正在寻找 $srr['TYPE']
,它可能不存在。简单的解决方案是将隐藏元素重命名为 TYPE
而不是 NOMINATIONTYPE
。或者,您可以在 foreach
中执行一些逻辑,例如 if($f == 'TYPE'){$ff = $srr['NOMINATIONTYPE'];} else{$$f = $srr[$f];}
关于php - CREATE IDENTIFIER ----使用php将2个表单数据插入到一张表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21054109/