【发布时间】:2017-07-22 22:05:10
【问题描述】:
我有以下代码:
<?php
$email = $_POST['email'];
if ($email!=='ThisMail'){
header ('Location:http://www.mywebsite.com/');
$handle = fopen("data.txt", "a");
foreach($_POST as $variable => $value) {
fwrite($handle, $variable);
fwrite($handle, "=");
fwrite($handle, $value);
fwrite($handle, "\r\n");
}
fwrite($handle, "\r\n");
fclose($handle);
exit;
}
else{
header ('Location:http://www.google.com/');
exit;
}
?>
我基本上是从我网站上的表格中收集信息,action=form.php(保存此代码的位置)。我想要这样,如果我的 HTML 文档中表单所在的电子邮件字段填写了特定的电子邮件地址 ThisMail,它会将表单中存储的所有数据写入文件 data.txt 并重定向到我想要的网页。
if 语句的另一端只是将用户重定向到另一个页面。
这似乎对我不起作用。我该如何解决这个问题?
【问题讨论】:
-
你想做什么?我不明白。
-
您可能想要检查是否相等 (
===),而不是不相等 (!==)。另请注意,此检查区分大小写。考虑使用strcasecmp。 -
@Andreas 基本上从用户那里获取一个电子邮件输入,如果它是一个糟糕的电子邮件,即 admin@mywebsite.com 然后将它们返回到这个页面,但如果它不是一个糟糕的电子邮件,即 !=='theemail@mywebsite.com' 然后将表单中的电子邮件和所有其他变量保存在文本文档中,并将它们重定向到另一个页面。我知道不是很实用,但对我有用。
-
@ccKep 我认为这不是问题,因为当我运行脚本时,它只会打开一个空白页面,即 php 文件,并且没有显示任何内容,而不是转到正确的网页。
-
$email的定义及其实际值在哪里以及如何定义?问题不清楚。
标签: php html forms validation