所以我试图收集和存储电子邮件地址的文本文件,并且正在工作,而不是它不承认如果地址已经提交。它会为文本文件添加一个地址,即使它已经存在。感谢您的见解。为什么strpos()在搜索这个.txt文件时不工作?
<?php
function showForm() {
echo '
<form method="post" action="">
Email Address: <input type="email" name="email"> <br />
<input type="submit" value="Submit" name="submit">
</form>
';
}
if(empty($_POST['submit']) === false) {
$email = htmlentities(strip_tags($_POST['email']));
$logname = 'email.txt';
$logcontents = file_get_contents($logname);
$pos = strpos($logcontents, $email);
if ($pos === true) {
die('You are already subscribed.');
} else {
$filecontents = $email.',';
$fileopen = fopen($logname,'a+');
$filewrite = fwrite($fileopen,$filecontents);
$fileclose = fclose($fileopen);
if(!$fileopen or !$filewrite or !$fileclose) {
die('Error occured');
} else {
echo 'Your email has been added.';
}
}
} else {
showForm();
}
?>
email.txt包含? –
'$ pos'可以是'false'或是一个整数值。它不会返回布尔值true。你的'if'具体而严格地检查$ pos是一个布尔值true,它永远不会。 –