成员(member)系统代码总是将我重定向到“电子邮件已注册页面”
这是我在处理过程中使用的代码,用于检查电子邮件(即用户名)是否是
是否已被占用
请帮忙!!!
<?php
$db_host = "localhost";
$db_user = "ms_admin";
$db_pass = "secretpassword";
$db_name = "member_system";
$connection = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if(mysqli_connect_errno())
die("Databse connection failed." . mysqli_connect_error()
. " (" . mysqli_connect_errno() . ")" );
?>
<?php
function check_email($e_mail)
{
$query = "SELECT email FROM members ";
$query .= "WHERE email='$e_mail'";
$result = mysqli_query($connection, $query);
$num_rows = mysqli_num_rows($result);
if($num_rows>0) header("Location: registration_successful.php");
else header("Location: registration_unsuccessful.php");
}
?>
<?php
$full_name = ucwords($_POST["full_name"]);
$email = strtolower($_POST["email"]);
$password = md5($_POST["password"]);
check_email($email);
?>
我改变了这些:
if($num_rows>0) header("Location: registration_successful.php");
else header("Location: registration_unsuccessful.php");
至:
if($num_rows>0) header("Location: registration_unsuccessful.php");
else header("Location: registration_successful.php");
似乎 ($num_rows>0) 总是返回 FALSE :(
请帮忙,, 谢谢....
最佳答案
check_email() 中缺少 $connection 变量,请为数据库连接设置 global $connection;
function check_email($e_mail){
global $connection;
$query = "SELECT email FROM members ";
$query .= "WHERE email='$e_mail'";
$result = mysqli_query($connection, $query);
$num_rows = mysqli_num_rows($result);
if($num_rows>0) header("Location: registration_successful.php");
else header("Location: registration_unsuccessful.php");
}
check_email($email);
或者
function check_email($e_mail, $connection){
$query = "SELECT email FROM members ";
$query .= "WHERE email='$e_mail'";
$result = mysqli_query($connection, $query);
$num_rows = mysqli_num_rows($result);
if($num_rows>0) header("Location: registration_successful.php");
else header("Location: registration_unsuccessful.php");
}
check_email($email, $connection);
虽然我喜欢第一个:)
关于PHP/MySQL 成员(member)系统总是给我电子邮件已注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27656088/