我正在尝试制作注册表格。在我的每个PHP代码是寄存器形式的工作文件,但一个问题。当我点击提交按钮时,它没有注册,只说 - “错误没有从详细信息中发布数据库用户表”。
我在注册系统中有3个选项。 register.php 的第一个功能我认为我的问题就在这里。
<?php
include '../core/init.php';
if (empty($_POST) === false && empty($errors) === true ) {
$register_data = array(
'name' => $_POST['name'],
'surname' => $_POST['surname'],
'email' => $_POST['email'],
're_email' => $_POST['re_email'],
'password' => $_POST['password'],
'day' => $_POST['day'],
'year' => $_POST['year'],
'month' => $_POST['month'],
'birthday' => $_POST['year'] . '-' . $_POST['month'] . '-' . $_POST['day'],
'kadin_erkek' => $_POST['optionsRadios']
);
register_user($register_data);
}
if(empty($_POST) === false) {
$required_fields = array('name','surname','email','re_email','password','birthday','kadin_erkek');
foreach($_POST as $key=>$value) {
if(empty($value) && in_array($key, $required_fields) === true) {
echo"<div class='error_name'>Doldurmanız gereken alanları boş bıraktınız!</div>";
exit();
break 1;
}
}
if (empty($errors) === true) {
if(user_exists($_POST['email']) === true) {
echo"<div class='error_name'> Üzgünüz bu email adresi kullanımda</div>";
}
if($_POST['email'] !== $_POST['re_email']) {
echo"<div class='error_name'> Email adresleri eşleşmiyor</div>";
}
if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
echo"<div class='error_name'>Lütfen geçerli bir email adresi giriniz!</div>";
}
if(strlen($_POST['password']) < 6) {
echo"<div class='error_name'>Parolanız en az 6 karakter olabilir</div>";
}
}
}
?>
第二次是 users.php 功能
function register_user($register_data) {
array_walk($register_data, 'array_sanitize');
$register_data['password'] = md5($register_data['password']);
$fields = '`' . implode('`,`', array_keys($register_data)) . '`';
$data = '\'' . implode('\', \'', $register_data) . '\'';
mysql_query("INSERT INTO `users` ($fields) VALUES ($data)");
}
,最后一个是 general.php
<?php
function array_sanitize(&$item) {
$item = mysql_real_escape_string($item);
}
function sanitize($data) {
return mysql_real_escape_string($data);
}
?>
答案 0 :(得分:0)
我解决了这个问题。如果你遇到这样的问题的朋友。 date,month,year post方法使用相同的参数。就像那样:
这是我在本节中的register.php我有一年,数据月份的形式:
首先,register.php代码在这里:
<?php
include '../core/init.php';
if (empty($_POST) === false && empty($errors) === true ) {
$register_data = array(
'name' => $_POST['name'],
'surname' => $_POST['surname'],
'email' => $_POST['email'],
're_email' => $_POST['re_email'],
'password' => $_POST['password'],
'day' => $_POST['day'],
'year' => $_POST['year'],
'month' => $_POST['month'],
'birthday' => $_POST['year'] . '-' . $_POST['month'] . '-' . $_POST['day'],
'kadin_erkek' => $_POST['optionsRadios']
);
register_user($register_data);
}
if(empty($_POST) === false) {
$required_fields = array('name','surname','email','re_email','password','birthday','kadin_erkek');
foreach($_POST as $key=>$value) {
if(empty($value) && in_array($key, $required_fields) === true) {
echo"<div class='error_name'>Doldurmanız gereken alanları boş bıraktınız!</div>";
exit();
break 1;
}
}
if (empty($errors) === true) {
if(user_exists($_POST['email']) === true) {
echo"<div class='error_name'> Üzgünüz bu email adresi kullanımda</div>";
}
if($_POST['email'] !== $_POST['re_email']) {
echo"<div class='error_name'> Email adresleri eşleşmiyor</div>";
}
if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
echo"<div class='error_name'>Lütfen geçerli bir email adresi giriniz!</div>";
}
if(strlen($_POST['password']) < 6) {
echo"<div class='error_name'>Parolanız en az 6 karakter olabilir</div>";
}
}
}
?>
我删除了:
'day' => $_POST['day'],
'year' => $_POST['year'],
'month' => $_POST['month'],
我的代码和问题中的这个paramatr已经完成。
这是月份,日期和年份的表格。 对于DAY: 天
<option value="<?=$i;?>"><?=$i;?></option>
<? endfor; ?>
</select>
对于MONTH:
<select name="month">
<option value='0'>Ay</option>
<option value='1'>Oca</option>
<option value='2'>Şub</option>
<option value='3'>Mar</option>
<option value='4'>Nis</option>
<option value='5'>May</option>
<option value='6'>Haz</option>
<option value='7'>Tem</option>
<option value='8'>Agu</option>
<option value='9'>Eyl</option>
<option value='10'>Eki</option>
<option value='11'>Kas</option>
<option value='12'>Ara</option>
</select>
年份:
<select name="year">
<option value="">Yıl</option>
<? for($i = 2013; $i > 1904; $i--) : ?>
<option value="<?=$i;?>"><?=$i;?></option>
<? endfor; ?>
</select>
不使用此,因为数据库表中没有只有生日
'day' => $_POST['day'],
'year' => $_POST['year'],
'month' => $_POST['month'],
当你发布它时,它看起来像这样的表:
<强> 1970年5月5日强>