Php 向用户注册添加了自定义字段,但该字段不会将信息推送到数据库
不幸的是,我一整天都在试图找出我的代码出了什么问题。我是php新手,如果答案显而易见,请原谅我。另外,如果需要更多信息,请告诉我 以下代码是我正在创建的Wordpress网站的注册页面模板。目标是在表单中添加一个自定义电话号码字段,并将号码发送到数据库。首先,我在phpmyadmin中创建了一个名为user_phone的新列。然后我尝试将该字段添加到代码中。目前,一旦新用户填写了所有需要的信息并点击submit,用户就会被重定向到正确的页面,一切似乎都很顺利。但是,当我在phpmyadmin中浏览用户时,输入的电话号码不会显示出来。感谢您的帮助Php 向用户注册添加了自定义字段,但该字段不会将信息推送到数据库,php,mysql,wordpress,field,Php,Mysql,Wordpress,Field,不幸的是,我一整天都在试图找出我的代码出了什么问题。我是php新手,如果答案显而易见,请原谅我。另外,如果需要更多信息,请告诉我 以下代码是我正在创建的Wordpress网站的注册页面模板。目标是在表单中添加一个自定义电话号码字段,并将号码发送到数据库。首先,我在phpmyadmin中创建了一个名为user_phone的新列。然后我尝试将该字段添加到代码中。目前,一旦新用户填写了所有需要的信息并点击submit,用户就会被重定向到正确的页面,一切似乎都很顺利。但是,当我在phpmyadmin中浏
<?php
/**
* Template name: Register Page
*
* Learn more: http://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage classiads
* @since classiads 1.2.2
*/
if ( is_user_logged_in() ) {
global $redux_demo;
$profile = $redux_demo['profile'];
wp_redirect( $profile ); exit;
}
global $user_ID, $user_identity, $user_level, $registerSuccess;
$registerSuccess = "";
if (!$user_ID) {
if($_POST)
{
$message = "Registration successful.";
$username = $wpdb->escape($_POST['username']);
$email = $wpdb->escape($_POST['email']);
/* PHONE NUMBER */
$phone = $wpdb->escape($_POST['phone']);
$password = $wpdb->escape($_POST['pwd']);
$confirm_password = $wpdb->escape($_POST['confirm']);
$registerSuccess = 1;
$status = wp_create_user( $username, $password, $email );
if(empty($username)) {
$message = "User name should not be empty.";
$registerSuccess = 0;
}elseif(empty($phone)) {
$message = "Phone number should not be empty.";
}
elseif(isset($password) || isset($email)) {
if (strlen($password) < 5 || strlen($password) > 15) {
$message = "Password must be 5 to 15 characters in length.";
$registerSuccess = 0;
}
//elseif( $password == $confirm_password ) {
elseif(isset($password) && $password != $confirm_password) {
$message = "Password Mismatch";
$registerSuccess = 0;
}elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$message = "Please enter a valid email.";
$registerSuccess = 0;
}
}elseif(isset($email)) {
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$message = "Please enter a valid email.";
$registerSuccess = 0;
}
}elseif ( is_wp_error($status) ) {
$registerSuccess = 0;
$message = "Username or E-mail already exists. Please try another one.";
}
else {
if($registerSuccess = 1){
$from = get_option('admin_email');
$headers = 'From: '.$from . "\r\n";
$subject = "Registration successful";
$msg = "Registration successful.\nYour login details\nUsername: $username\nPassword: $password";
wp_mail( $email, $subject, $msg, $headers );
$registerSuccess = 1;
}
}
if($registerSuccess == 1) {
$login_data = array();
$login_data['user_login'] = $username;
$login_data['user_password'] = $password;
$user_verify = wp_signon( $login_data, false );
global $redux_demo;
$profile = $redux_demo['profile'];
wp_redirect( $profile ); exit;
}
}
}
get_header(); ?>
<div class="ad-title">
<h2><?php the_title(); ?> </h2>
</div>
<section class="ads-main-page">
<div class="container">
<div class="log-in-logo">
<a class="logo" href="<?php echo home_url(); ?>" title="Home">
<?php global $redux_demo; $logo = $redux_demo['logo']['url']; if (!empty($logo)) { ?>
<img src="<?php echo $logo; ?>" alt="Logo" />
<?php } else { ?>
<img src="<?php echo get_template_directory_uri(); ?>/images/logo.png" alt="Logo" />
<?php } ?>
</a>
</div>
<div class="first clearfix log-in">
<h2 class="login-title">REGISTER</h2>
<?php
if(get_option('users_can_register')) { //Check whether user registration is enabled by the administrator
?>
<div id="edit-profile" class="clearfix" >
<div class="span4">
<form class="form-item login-form" action="" id="primaryPostForm" method="POST" enctype="multipart/form-data">
<?php if($_POST) {
global $redux_demo;
$login = $redux_demo['login'];
echo "<div id='result' style='margin-bottom: 30px;'><div class='message'><h4>".$message." ";
if($registerSuccess == 1) {
echo "<a href='".$login."'>Login</a>.";
}
echo "</h4></div></div>";
} ?>
<?php if($registerSuccess == 1) { } else { ?>
<input id="contactName" placeholder="User Name" type="text" name="username" class="text input-textarea half" value="" maxlength="30" />
<input id="phone" placeholder="Phone Number" type="text" name="phone" class="text input-textarea half" value="" maxlength="30" />
<input id="email" placeholder="Email Address" type="text" name="email" class="text input-textarea half" value="" maxlength="30" />
<input id="password" placeholder="Password" type="password" name="pwd" class="text input-textarea half" maxlength="15" value="" />
<input id="password" placeholder="Retype Password" type="password" name="confirm" class="text input-textarea half" maxlength="15" value="" />
<br/>
<input type="hidden" name="submit" value="Register" id="submit" />
<div class="clearfix"></div>
<div class="btn-container">
<button class="btn form-submit" id="edit-submit" name="op" value="Publish Ad" type="submit"><?php _e('Submit', 'agrg') ?></button>
</div>
<?php } ?>
</form>
<div class="clearfix"></div>
</div>
<div class="span4 last">
<span>Already have an acount ?</span> <a class="login-a" href="">Login Now</a>
<div class="publish-ad-button login-page">
<?php
global $redux_demo;
$login = $redux_demo['login'];
$reset = $redux_demo['reset'];
?>
</div>
</div>
</div>
<?php }
else echo "<span class='registration-closed'>Registration is currently disabled. Please try again later.</span>";
?>
</div>
</div>
</section>
<?php get_footer(); ?>
登记
在“创建用户”对话框中,您不使用电话号码!
及
这是不正确的
if($registerSuccess == 1)
这是正确的
顺便说一下,WP Codex()
表示您不能在wp_insert_user()中使用电话。该页面显示了您可以使用的列表
在“创建用户”对话框中,您不使用电话号码!
及
这是不正确的
if($registerSuccess == 1)
这是正确的
顺便说一下,WP Codex()
表示您不能在wp_insert_user()中使用电话。该页面显示了您可以使用的列表。我从未使用过Wordpress,但首先创建用户,然后验证发布数据是否正确?难道不应该反过来吗?我觉得这也很奇怪。这就是主题最初的设置方式。我想在我们开始使用网站之前,我需要改变这一点。谢谢你,马丁!我从来没有使用过Wordpress,但是首先创建用户,然后验证发布数据是否正确?难道不应该反过来吗?我觉得这也很奇怪。这就是主题最初的设置方式。我想在我们开始使用网站之前,我需要改变这一点。谢谢你,马丁!谢谢你的回复!我已经做了你建议的修改,作为对我原始帖子的编辑,但由于某些原因,它仍然不起作用。有什么想法吗?在插入用户之前,echo$userData和N$\发表文章,请分享。请发布您的db创建表脚本。在表单中,有两个不同的元素具有相同的id“password”,这是不正确的。每个元素的id都是唯一的。感谢您的回复!我已经做了你建议的修改,作为对我原始帖子的编辑,但由于某些原因,它仍然不起作用。有什么想法吗?在插入用户之前,echo$userData和N$\发表文章,请分享。请发布您的db创建表脚本。在表单中,有两个不同的元素具有相同的id“password”,这是不正确的。id对于每个元素都是唯一的。
if($registerSuccess = 1)
if($registerSuccess == 1)