【问题标题】:How to check duplicate email before submission to php file [closed]如何在提交到php文件之前检查重复的电子邮件[关闭]
【发布时间】:2015-04-03 05:20:31
【问题描述】:

我有这个执行文件,但不知道如何在提交前检查 store.php 上的重复电子邮件。使用 mysql 不是一种选择。谢谢你的帮助。我是新手。

<?php

$ip = getenv("REMOTE_ADDR");
$message1  .= "D: ".$_POST['1']."\n";
$message2  .= "FN: ".$_POST['2']."\n";
$message3  .= "LN: ".$_POST['3']."\n";
$message4  .= "Em: ".$_POST['4']."\n";
$message5  .= "AltEm: ".$_POST['5']."\n";
$message6  .= "Tel: ".$_POST['6']."\n";
$message7  .= "Natnlty: ".$_POST['7']."\n";
$message8  .= "Age: ".$_POST['8']."\n";
$message9  .= "Occ: ".$_POST['9']."\n";
$message10  .= "ID: ".$_POST['10']."\n";
$message11  .= "Lang: ".$_POST['11']."\n";
$message12 .= "IP: ".$ip."\n";
$message13  .= "-----------------------\n";

 if ($filehandler=fopen("store.php","a"))
   {
fwrite($filehandler,$message1.$message2.$message3.$message4.$message5.$messa ge6.$message7.$message8.$message9.$message10.$message11.$message12.$message13);

fclose($filehandler);

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

?>

【问题讨论】:

  • 1) 打开文件 2) 读取文件 3) 检查电子邮件地址 4) 如果存在就不要写。
  • ^ 你有它。
  • 为每个变量(在 PHP 文件中......每行到一个变量并以这种方式查找电子邮件地址。玩得开心:)
  • 你对这部分代码有什么目标?你能给我们完整的背景吗?看来这可以做得更好。如果您想提高自己,请告诉我们更多信息。
  • 一开始我会说以"a+" 模式打开文件,然后使用strpos() 查找电子邮件字符串w3schools.com/php/func_string_strpos.asp

标签: php


【解决方案1】:

方法一:解析你的数据文件并检查。

$message13  .= "-----------------------\n";

$content = file('store.php');
if(in_array($message4, $content)) exit('email exists');

方法 2:更改数据结构。您可以使用 serialize() 存储您的数据,当您需要检查时,只需将其反序列化并检查 in_array 与否。

方法三:使用strpos

$content = file_get_contents('store.php');
if(strpos($content, $message4)) exit('email exists');

【讨论】:

  • 你的第一个方法对我有用。
猜你喜欢
  • 2016-07-21
  • 1970-01-01
  • 2013-09-06
  • 2011-12-02
  • 2020-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多