我目前正在使用以下代码处理我的网站注册表:
<?php
include 'core/init.php';
if (empty($_POST) === false) {
$required_fields = array('username','password','password_again','first_name','last_name', 'email');
echo '<pre>' . print_r($_POST, true) . '</pre>';
foreach ($_POST as $key=>$value) {
if (empty($value) && in_array($key, $required_fields) === true {
$errors[] = 'All fields required';
break 1;
}
}
}
它没有工作,而且print_r显示奇怪的[x] - &gt; mysqli对象如下:
Array
[first_name] =>
[last_name] =>
[email] =>
[username] =>
[password] =>
[password_again] =>
[x] => mysqli Object
这是$ _POST中的默认对象还是我的html页面上有输入这样做?
答案 0 :(得分:0)
首先,在if case
忘记关闭)
之后,会出现PHP错误。
其次,您应该使用开发者控制台(在Chrome / Firefox或IE中)检查您发送到浏览器的标题。
它很开心,因为你发送POST标题的方式。
答案 1 :(得分:0)
你确定它不是来自core / init.php文件吗?
if (!empty($_POST)) var_dump($_POST);
include 'core/init.php';
if (!empty($_POST)) {
var_dump($_POST);
$required_fields = array('username','password','password_again','first_name','last_name', 'email');
$required = array_filter(array_intersect_key($_POST, array_flip($required_fields)));
if (count($required) !== count($required_fields)) {
$errors[] = 'All fields required';
}
}