使用$\u POST验证html/PHP字段中的重复条目
使用$\u POST验证html/PHP字段中的重复条目,php,html,mysql,validation,Php,Html,Mysql,Validation,paper\u add.php是一个html表单,用于将值发布到另一个名为paper\u entry.php的php页面 我希望使用验证来防止重复条目进入数据库,相反,它会给它们错误消息,即某些值是重复的 我尝试比较字符串,但它只在有2个变量的情况下起作用,我还尝试在数组()中使用,,但没有起作用。我张贴这两个网页,以便如果有人能给我指出正确的方向,我会非常高兴,并继续我的项目 在我允许将q1q1插入数据库之前,我希望确保q1q1与q1q2不同,以此类推 <?php include 'he
paper\u add.php
是一个html表单,用于将值发布到另一个名为paper\u entry.php
的php页面
我希望使用验证来防止重复条目进入数据库,相反,它会给它们错误消息,即某些值是重复的
我尝试比较字符串,但它只在有2个变量的情况下起作用,我还尝试在数组()中使用,
,但没有起作用。我张贴这两个网页,以便如果有人能给我指出正确的方向,我会非常高兴,并继续我的项目
在我允许将q1q1插入数据库之前,我希望确保q1q1与q1q2不同,以此类推
<?php include 'header.php'; ?>
<div class="container">
<table class="table table-bordered">
<thead>
<tr>
<th colspan='2'><u>Add Paper</u></th>
</tr>
</thead>
<tbody>
<form method="post" action="paper_entry.php">
<tr>
<td>Examination </td>
<td><input type="text" required="required" class="form-control" name="examination"></td>
</tr>
<tr>
<td>Subject </td>
<td><input type="text" required="required" class="form-control" name="subject"></td>
</tr>
<tr>
<td>Subject Code </td>
<td><input type="text" required="required" class="form-control" name="subject_code"></td>
</tr>
<tr>
<td>Category</td>
<td><input type="text" required="required" class="form-control" name="category"></td>
</tr>
<tr>
<td>Month & Year:</td>
<td><input type="text" required="required" class="form-control" name="month_year"></td>
</tr>
<input type="hidden" required="required" class="form-control" name="created_by" value="<?php echo $_SESSION ['user'] ?>">
<tr>
<td>Question 1 (1) :</td>
<td><input type="text" required="required" class="form-control" name="q1q1"></td>
</tr>
<tr>
<td>Question 1 (2) :</td>
<td><input type="text" required="required" class="form-control" name="q1q2"></td>
</tr>
<tr>
<td>Question 1 (3) :</td>
<td><input type="text" required="required" class="form-control" name="q1q3"></td>
</tr>
<tr>
<td>Question 1 (4) :</td>
<td><input type="text" required="required" class="form-control" name="q1q4"></td>
</tr>
<tr>
<td>Question 1 (5) :</td>
<td><input type="text" required="required" class="form-control" name="q1q5"></td>
</tr>
<tr>
<td>Question 1 (6) :</td>
<td><input type="text" required="required" class="form-control" name="q1q6"></td>
</tr>
<tr>
<td>Question 1 (7) :</td>
<td><input type="text" required="required" class="form-control" name="q1q7"></td>
</tr>
<tr>
<td>Question 1 (8) :</td>
<td><input type="text" required="required" class="form-control" name="q1q8"></td>
</tr>
<tr>
<td>Question 2 (A) :</td>
<td><input type="text" required="required" class="form-control" name="q2qa"></td>
</tr>
<tr>
<td>Question 2 (B) :</td>
<td><input type="text" required="required" class="form-control" name="q2qb"></td>
</tr>
<tr>
<td>Question 2 (Or A) :</td>
<td><input type="text" required="required" class="form-control" name="q2qoa"></td>
</tr>
<tr>
<td>Question 2 (Or B) :</td>
<td><input type="text" required="required" class="form-control" name="q2qob"></td>
</tr>
<tr>
<td>Question 3 (A) :</td>
<td><input type="text" required="required" class="form-control" name="q3qa"></td>
</tr>
<tr>
<td>Question 3 (B) :</td>
<td><input type="text" required="required" class="form-control" name="q3qb"></td>
</tr>
<tr>
<td>Question 3 (Or B) :</td>
<td><input type="text" required="required" class="form-control" name="q3qob"></td>
</tr>
<tr>
<td>Question 4 (A) :</td>
<td><input type="text" required="required" class="form-control" name="q4qa"></td>
</tr>
<tr>
<td>Question 4 (B) :</td>
<td><input type="text" required="required" class="form-control" name="q4qb"></td>
</tr>
<tr>
<td>Question 5 (1) :</td>
<td><input type="text" required="required" class="form-control" name="q5q1"></td>
</tr>
<tr>
<td>Question 5 (2) :</td>
<td><input type="text" required="required" class="form-control" name="q5q2"></td>
</tr>
<tr>
<td>Question 5 (3) :</td>
<td><input type="text" required="required" class="form-control" name="q5q3"></td>
</tr>
<tr>
<td>Submit : </td>
<td><input type="submit" name="submit"></td>
</tr>
</tbody>
</table>
</div>
添加纸张
检查
主题
主题代码
类别
月份和年份:
你可以这样做:
$post_array = [
'q1q1' => 'test ',
'q1q2' => 'testing',
'q1q3' => 'test',
'q2qa' => 'tester',
'q2qoa' => 'test2',
'q3qob' => 'tests'
];
$keys = array_keys($post_array);
foreach ($keys as $key) {
foreach ($post_array as $k => $v) {
if ($key != $k) {
if (trim(strtolower($v)) == trim(strtolower($post_array[$key]))) {
echo "The value '{$v}' in {$key} matches the value in {$k}<br />";
}
} else {
continue;
}
}
}
$post\u数组=[
‘q1q1’=>‘测试’,
‘q1q2’=>‘测试’,
‘q1q3’=>‘测试’,
“q2qa”=>“测试仪”,
'q2qoa'=>'test2',
“q3qob”=>“测试”
];
$keys=数组\u键($post\u数组);
foreach($key作为$key){
foreach($k=>v的post_数组){
如果($key!=$k){
if(trim(strtolower($v))==trim(strtolower($post_数组[$key])){
echo“{$key}中的值“{$v}”与{$k}
中的值匹配”;
}
}否则{
继续;
}
}
}
我有一种直觉,数组\u reduce可以更好地工作,但这应该可以工作,您需要修改它以适合您的post数组,我刚刚添加了默认值作为示例。您还可以使用Javascript执行类似的方法,在客户端执行
它所做的只是循环post数组的键,然后检查跳过它所比较的项的其他项的值。这意味着您将获得每个副本的结果,但我假设您希望在所有匹配项上添加警告
无论如何,希望它能帮助您更接近解决方案。表单不能是表的子元素。即使是这样也不安全!请忽略我不道德的编码,因为这只是我大学的常规项目,我正在尝试,它不会在现实中使用。我只是在验证每个字段时遇到了麻烦,所以在任何字段中都没有类似的值,如果有,应该给出一个错误。我尝试比较字符串,但它一次只接受2个变量,我想比较数据库中的所有变量,并交叉检查重复条目。因此,在允许将q1q1插入数据库之前,是否要确保q1q1与q1q2不相同,依此类推?因此,如果用户希望提交,那么在任何字段中都不能有相同的信息?或者,您想确保没有人可以在已经提交的数据库中提交相同的问题吗?@PhilS我想确保q1q1与q1q2不一样,等等,然后我才允许将其插入数据库。非常感谢您花时间在这方面@PhilS
$post_array = [
'q1q1' => 'test ',
'q1q2' => 'testing',
'q1q3' => 'test',
'q2qa' => 'tester',
'q2qoa' => 'test2',
'q3qob' => 'tests'
];
$keys = array_keys($post_array);
foreach ($keys as $key) {
foreach ($post_array as $k => $v) {
if ($key != $k) {
if (trim(strtolower($v)) == trim(strtolower($post_array[$key]))) {
echo "The value '{$v}' in {$key} matches the value in {$k}<br />";
}
} else {
continue;
}
}
}