检查数据库中是否已存在保存会话的电子邮件

时间:2018-11-13 16:57:56

标签: php forms session mysqli

在我的网页中,我有两个注册系统。首先,“真实” 注册表格,在其中输入您的姓名,密码和电子邮件,并将其保存在MySQLi数据库中。其次,您有一个运输表格,其中包含诸如姓名,姓氏,运输地址和一些其他特定输入的数据。除此之外,两者都具有唯一的ID,第二种形式具有电子邮件列,该列由PHP页面通过此代码段指定。

    $client_name=$_POST['name'];
    $client_surname=$_POST['surname'];
    $client_ship=$_POST['ship'];
    $email = $_SESSION['email'];
...
    $insert_user="insert into cliente (name,surname,ship,email) VALUE ('$client_name','$client_surname','$client_ship','$email')";
    if(mysqli_query($dbcon,$insert_user))
    {
        echo"<script>window.open('welcome.php','_self')</script>";
    }

您可能已经注意到,电子邮件不是数据库中的输入,而是用于将两个表分开链接。这可以完美工作,但是,当我尝试阻止访问以前在此表单上注册的人员时,就会出现问题。我必须将会话中保存的电子邮件的自动输入与数据库中的现有代码进行比较,我发现的每个代码片段都是用于手动输入(以表单形式)而不是自动(在会话中保存)。

这是我的代码:

<?php
session_start();

//If not logged in, go back to the main page.
if(!$_SESSION['email'])
{

    header("Location: welcome.php");
}

//If the email is already on the CLIENT table, go back to the main page.
include("database/db_conection.php");
$dup_email_check="SELECT email from client where 'email'='$email'";
$result = mysqli_query($conn,$dup_email_check);
if (mysql_num_rows($result) > 1){
    header("Location: welcome.php");
}

?>

0 个答案:

没有答案