【发布时间】:2016-09-15 06:10:58
【问题描述】:
如何检查邮箱是否已经存在于数据库中并拒绝注册?
MySQL 是教给我的,我目前正在使用 MySQLi。
这是我目前正在使用 MySQLi 编写的代码:
<?php
$cookie_name = "loggedin";
$servername = "localhost";
$username = "root";
$password = "";
$database = "scholarcaps";
$conn = mysqli_connect($servername, $username, $password, $database);
if (!$conn) {
die("Database connection failed: ".mysqli_connect_error());
}
if (isset($_POST['login']))
{
$user = $_POST['username'];
$pass = $_POST['password'];
$phash = sha1(sha1($pass."salt")."salt");
$sql = "SELECT * FROM users WHERE username='$user' AND password='$phash';";
$result = mysqli_query($conn, $sql);
$count = mysqli_num_rows($result);
if ($count == 1)
{
$cookie_value = $user;
setcookie($cookie_name, $cookie_value, time() + (180), "/");
header("Location: personal.php");
}
else
{
echo "Username or password is incorrect!";
}
}
else if (isset($_POST['register']))
{
$user = $_POST['username'];
$email = $_POST['email'];
$pass = $_POST['password'];
$phash = sha1(sha1($pass."salt")."salt");
$sql = "INSERT INTO users (id, email, username, password) VALUES ('','$email', '$user', '$phash');";
$result = mysqli_query($conn, $sql);
}
?>
【问题讨论】:
-
进行查询以检查电子邮件地址是否已存在。在你的代码中实现这个查询,你就完成了。
-
您的电子邮件 = 用户名吗?
-
你得到这个答案了吗?
-
我投票重新提出这个问题,因为重复的解决方案与这个问题完全无关。