使用 php mysqli 检查电子邮件是否存在[重复]

2023-12-24

我是 mysqli 的新手,我想用 php 和 mysqli 检查数据库中是否已存在电子邮件

这是我到目前为止所做的:

ini.php

<?php
session_start();
require 'connect.php';
include 'user.func.php'; 
?>

连接.php

<?php
$con = new mysqli('host', 'user', 'password', 'db');
if($con->connect_errno > 0){
die('Sorry, We\'re experiencing some connection problems.'); 
}

?>

注册.php

<?php
include 'ini.php';
?>

<form action="" method="post">
<p>Username:<br/><input type="text" name="reg_name" maxlength="50"  ></p>
<p>Email:<br/><input type="text" name="reg_email" size="35" maxlength="50"  ></p>
<p>Password:<br/><input type="password" name="reg_password" maxlength="50" ></p>
<p>Re-type Password:<br/><input type="password" name="reg_re_password" maxlength="20"></p>
<p><input type="submit" value="Register" ></p>
</form>

<?php
include 'validate.php';
?>

验证.php

<?php
if(isset ( $_POST['reg_name'],$_POST['reg_email'], $_POST['reg_password'] )) {

$errors = array();
$name = $_POST['reg_name'];
$email = $_POST['reg_email'];
$password = $_POST['reg_password'];
$re_password = $_POST['reg_re_password'];
if(empty($name) || empty($email) || empty($password) || empty($re_password)){
$errors[] = 'All fields are required';
 } else {

if(strlen($name) > 50 || strlen($email) > 50 || strlen($password) > 50) {
 $errors[] = 'One or more field has too long Characters';
}

if(filter_var($email, FILTER_VALIDATE_EMAIL) === FALSE && $password !== $re_password){
$errors[] = 'Enter valid email address and password do not match';
}else{

if(filter_var($email, FILTER_VALIDATE_EMAIL) === FALSE) {
$errors[] = 'Please enter a valid email address';
}

if($password !== $re_password){
$errors[] = 'Both passwords do not match';
}
if(user_exists($email) > 0){
$errors[] = 'That email is already been registered';
}

}

}

if (!empty($errors)) {
foreach ($errors as $errors) {
    echo '<strong>',$errors,'</srtong><br />';
}
}else{
echo 'Registered';
}
}

?> 用户.func.php

<?php    
function user_exists($email) {

$con = new mysqli('host', 'user', 'password', 'db');
$query = "SELECT * FROM users WHERE email = ?";
$stmt = $con->prepare($query);
$stmt->bind_param("s", $email);

if ($stmt->execute()) {
return $stmt->num_rows;
}
return false;
}
?>

此代码显示所有其他错误,但不检查电子邮件是否存在。相反,即使我输入数据库中已有的电子邮件,它也会显示已注册。

我有名为“test”的数据库。表“users”包含 user_id、用户名、电子邮件和密码列。

谁能告诉我如何为此编写 mysqli 查询代码吗?

我在mysql中使用了这段代码

function user_exists($email) {
$email = mysql_real_escape_string($email);
$query = mysql_query("SELECT COUNT('user_id') FROM 'users' WHERE 'email'='$email'");
return (mysql_result($query, 0) == 1) ? true :false;
}

使用此条件,因为您要从查询中返回行数。

if(user_exits($register_email) > 0){

Edit

function user_exists($email) {
    $mysqli = new mysqli("host", "my_user", "my_password", "your_db");
    $query = "SELECT COUNT(*) AS num_rows FROM users WHERE email = ?";
    $stmt = $mysqli->prepare($query);
    $stmt->bind_param("s", $email);

    if ($stmt->execute()) {
        return $stmt->num_rows;
    }
    return false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 php mysqli 检查电子邮件是否存在[重复] 的相关文章

  • 当错误较多时,Laravel 不会显示错误。这是 Bug?

    重复的https github com laravel framework issues 31123 https github com laravel framework issues 31123 Laravel 版本 6 8 0 6 10
  • 当存在联系时如何为数组分配排名号

    当尝试为数组中存在平局的数值分配排名时 我很难知道从哪里开始 因此 例如 我需要像下面这样转换一个数组 myarray 4 76 34 13 34 到另一个数组中 例如 myarray2 1 5 3 5 2 3 5 基本上 当相同的数字在数
  • 将 jQuery 数组字符串转换为 PHP 数组

    首先 我得说我对 PHP 还很陌生 我正在尝试获取一个可以使用 foreach 的 PHP 对象 以下字符串通过 ajax 传递 我正在尝试转动以下字符串 menu title TEST1 href title TEST2 href QWE
  • PHP/MySQL:检索邻接列表模型中的单个路径

    有没有什么有效的方法可以在不限制深度的情况下根据节点的ID检索邻接列表模型中的单个路径 就像如果我有一个名为 Banana 的节点的 ID 我可以获得以下路径 Food gt Fruits gt Banana 如果不可能的话也不是什么大问题
  • 基于 PHP 的 CSV 编辑器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道用 PHP 编写的在线 CSV 编辑器允许用户打开 编辑和保存给定的 CSV 文件 我能找到的只
  • mongodb对话系统

    我正在实施一个verymongodb 上的简单对话系统 这个想法应该是 当我打开一个 convo 时 它应该显示发送和接收的消息 到目前为止一切正常 并且应该非常容易 通过使用像这样的伪代码这样的简单查询 from my id AND to
  • 这些加密算法有什么区别?

    两者有什么区别MCRYPT RIJNDAEL 128 MCRYPT RIJNDAEL 256 MCRYPT BLOWFISH等等 哪一种最适合网络数据传输 Rijandel 是 AES 的另一个名称 AES 是当前的 一个好的标准 算法 数
  • 如何将 ctype_alpha 与 UTF-8 结合使用

    如何将 ctype alpha 与 UTF 8 一起使用 我有这个代码 if empty POST false if isset POST first name empty POST first name if ctype alpha PO
  • 适用于 Windows 的 PHP 支持的 GUI 应用程序

    我知道 PHP 是一种解释性语言 对于基于 Web 的事物来说 不是为在实际操作系统上运行 GUI 应用程序而设计的 但是有没有办法呢 基本上 是否有一个框架 系统允许我创建 本机 基本上是二进制文件 exe 看起来像带有本机控件和所有内容
  • WooCommerce:用文本覆盖购物车价格

    我们有很多产品具有以下功能 No price 零价格 我们让它们可以通过内置挂钩购买 但购物车仍然将它们显示为具有0 price结账时 我们希望购物车和结帐摘要显示 特殊订单 或任何其他文本 但 WooCommerce 似乎使基于文本的价格
  • URL 重写帮助

    RewriteEngine on RewriteCond REQUEST URI index php RewriteRule index php q 1 L 这应该将任何 url 重写为 index php q url 并且它可以工作 反正
  • 如何覆盖 phpunit 中导出的变量?

    我知道我可以设置环境变量 https phpunit de manual current en appendixes configuration html在我的 phpunit xml 里面
  • 解析 PHP 响应:未捕获的语法错误:意外的标记 <

    我正在使用 AJAX 来调用 PHP 脚本 我唯一需要从响应中解析的是脚本生成的随机 ID 问题是 PHP 脚本会引发许多错误 这些错误实际上很好 不会妨碍程序功能 唯一的问题是当我跑步时 parseJSON response I get
  • 从多个选择列表中插入数据到mysql数据库(html形式)

    我制作了一个表格 其中有商店的 ID
  • php向多个收件人发送邮件

    我可以通过在邮件程序中定义 id 来将电子邮件发送到一个电子邮件 id 但是当用户在表单中键入 消息和电子邮件 id 时 我无法理解如何发送到多个收件人 例如 我正在显示一个带有两个文本区域的表单 一个用于电子邮件 ID 一个用于自定义消息
  • 从外部 bash 设置环境变量

    我试图使用 PHP 从命令行 设置 bash 环境变量 但没有成功 buff array buff VARTESTKEY VARTESTVALUE buff export VARTESTKEY file put contents scrip
  • 转换MAC地址格式

    我刚刚编写了一个小脚本 从交换机中提取数百个 MAC 地址进行比较 但它们的格式为 0025 9073 3014 而不是标准的 00 25 90 73 30 14 我对如何转换它感到困惑 我能想到的最好的办法就是在 处将它们分解成碎片 然后
  • 如何显示不同页眉的页面? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在为我的学校项目开发网站 但我遇到了一个问题 我在每个页面上显示一个标题 我的标题之一包含登录表单 另一标题包含用户名 搜索栏等 问题是
  • NodeJS 和 PHP (Laravel) 集成用于 Socket.IO 实时聊天

    目前我有一个我写过的网站PHP通过Laravel 框架 我已经使用写了一个实时聊天nodeJS with 套接字IO and Express现在我想做的是将它集成到我已经编写的 Laravel 网站中 问题是聊天必须在主页中 当前由 Lar
  • Laravel 5 注销特定用户

    在我的 laravel 5 应用程序中 有一个功能允许具有管理员角色的用户重置非管理员的任何人的密码 但这不会强制该人注销并再次登录 更改密码后如何强制用户注销 我没有对用于验证用户身份或任何内容的中间件进行任何更改 我不知道它是否有效 但

随机推荐

  • 在 Visual Studio 2015 中从 *.ts 生成 *.js

    当我将 ts 文件添加到 Visual Studio 2015 并对其进行编译时 js 文件不是 ts 的代码隐藏文件 它仅驻留在该文件夹中 而不是 Visual Studio 项目的一部分 这是设计使然还是我破坏了项目中的某些内容 如果是
  • 评估软件最低要求

    有没有办法评估软件的最低要求 我的意思是 我怎样才能发现我的应用程序需要的最小 RAM 量 Thanks 分析器在这里不会为您提供帮助 也不会估计数据结构的大小 探查器当然可以告诉您代码在哪里花费了最多的 CPU 时间 但它不会告诉您是否未
  • 如何从包含联系人详细信息且对象不在电话簿中的对象生成 .vcf 文件

    我想为一个对象生成一个 vcf 文件 其中包含姓名 图像 电话号码 传真号码 电子邮件地址 地址等联系信息 该对象未添加到手机的通讯录中 但存储在我的地址簿中 应用 生成 vcf 文件后 我可以像这样发送此 vcard Intent i n
  • Android 上的自定义字体和自定义 Textview

    从我需要开发的应用程序中 我收到了一种特定字体 其中包含许多文件 例如 FontName Regular 字体名称 粗体 字体名称 我需要在应用程序的所有文本视图中使用它 首先我认为这是一项容易的任务 查看SO并发现一个非常好的线程 her
  • C# Windows 控制台应用程序如何判断它是否以交互方式运行

    用 C 编写的 Windows 控制台应用程序如何确定它是在非交互式环境 例如从服务或计划任务 中调用还是在能够用户交互的环境 例如命令提示符或 PowerShell 中调用 编辑 4 2021 新答案 由于 Visual Studio 调
  • 使用 PyGame 将基于百分比的颜色值从绿色更改为红色

    我正在尝试制作一个健康栏 根据健康百分比将绿色缩放为红色 基本上 我试图使值 0 5 对应于 255 255 0 值 1 0 对应于 0 255 0 值 0 0 对应于 255 0 0 我看见这个帖子 https stackoverflow
  • 如何使用 cmake 编译 MPI 包含的 c 程序

    我正在尝试将 openmp 和 mpi 技术应用于需要构建 cmake make 的开源 C 程序 我已经找到了如何在 CMake 的 try compile 函数中设置 OpenMP 的链接器标志 https stackoverflow
  • 在 PostgreSQL 中使用 r sf::st_write 到非公共模式

    我正在尝试将空间表写入不是 PostgreSQL 数据库中默认公共模式的模式 library sf library DBI library RPostgreSQL library spData PostgreSQL DB parameter
  • 为什么我收到此错误警告:空感知操作的操作数“??”具有排除 null 的“Color”类型

    我正在使用这个包 flutter datetime picker 1 5 1 这是我的代码 String date Please pick Age Widget buildage return Column crossAxisAlignme
  • 根据另一个单元格的数值更改 x 个单元格的颜色

    I have range and i want to highlight my range of cells based value i enter in cell Range C5 If i enter 5 in cell C5 then
  • RPScreenRecorder stopRecording 块没有被调用

    我已经进行了足够的搜索 但未能找到解决方案 我正在使用 ReplayKit 来录制我的应用程序的屏幕 我已开始通过调用录制屏幕 let sharedRecorder RPScreenRecorder shared sharedRecorde
  • 通过多索引选择

    我有两个数据框 df a pd DataFrame data A B C A1 B1 C1 columns first secound third df a set index first secound inplace True df b
  • Java语言检测

    实际上 我正在使用 java 语言检测来检测文本语言 但出现以下错误 Exception in thread main java lang IllegalAccessError tried to access field com cyboz
  • 如何在 QML 上使用 JavaScript 库

    我在 5 12 2 上使用一些带有 QML 的 javascript 库 其中一些像 Proj4JS 一样工作 但我在使用时遇到错误地理库 js https geographiclib sourceforge io scripts geog
  • 如何在不同区域设置中对日期对象进行 strftime? [复制]

    这个问题在这里已经有答案了 我在 python 中有一个日期对象 我需要使用 a 工作日 和 b 月份 代码在旧系统的 C 语言环境中生成时间戳 但是 我不想更改应用程序的区域设置 因为其他部分需要尊重用户当前的区域设置 有没有办法在特定区
  • jQuery 可排序项目高度

    我有一个基于列表的简单 jQuery 可排序 如下所示 ul li Item 1 li li Item 2 li li Item 3 li li Item 4 li ul 我创建了一个辅助函数 以便无论项目的内容是什么 辅助函数始终具有相同
  • GitLab CI 缓存密钥

    假设我有以下步骤 gitlab ci yml file setup vue image stage setup script cd vue npm install no audit cache key node cache paths vu
  • python 3 中缺少 argparse

    有人知道为什么 argparse 模块没有在 python 3 中出现吗 它是 python 2 7 中的新功能 但 2 x 分支在 2 7 中已经耗尽 对我来说 不在实际的 python 3 分支中支持它是没有意义的 它将出现在 Pyth
  • 知道何时在序言中使用剪切

    我参加了一门课程 在其中学习了一些序言 我不知道如何 何时使用剪切 尽管我了解了剪切的一般概念 但我似乎无法正确使用它们 任何人都可以简要解释一下或提供一个关于他们可以推荐的 剪辑 的好教程 不是 learnprolognow org 吗
  • 使用 php mysqli 检查电子邮件是否存在[重复]

    这个问题在这里已经有答案了 我是 mysqli 的新手 我想用 php 和 mysqli 检查数据库中是否已存在电子邮件 这是我到目前为止所做的 ini php 连接 php 注册 php