如何解决在PHP中从CSV读取数据,然后转发到网页
|| 我必须根据用户名和日期将其重定向到网页。如果他的名字不匹配或他的ID已经过期,我需要将他发送到其他页面。如果他通过了这两个条件,我需要将他重定向到一个网页,例如。 www.google.com$name_value=$_GET[\'query\'];
$fh = fopen(\'db.csv\',\'r\');
$Now = date();
$data=fgetcsv($fh);
$name=$data[0];
$date=$data[1];
$url=$data[2];
if($name_value == $name)
{
if($date==$Now)
{
header(\"Location:\".$data[2]);
}
}
else
{
echo(\"not successful\");
}
exit;
这是CSV文件的内容
merch,26.06.2011,http://www.google.com
我的问题是页眉没有重定向到网页。任何帮助将不胜感激。
解决方法
date(),不带任何参数,在我的服务器上生成:
Warning: date() expects at least 1 parameter,0 given in test.php on line 1
我建议您出于测试目的而打开错误报告:
error_reporting(E_ALL|E_STRICT);
ini_set(\"display_errors\",\"On\");
要匹配CSV文件中的格式,您需要:
$now = date(\"d.m.Y\");
, 首先,您的警告是否打开?这不应默默地失败。
其次,您可能指的是date(\"m.d.Y\");
,而不是date();
。
, 这样做的肮脏方法是使用元刷新来重定向到所需的站点(但不要打败我:D)。
也:
if($name_value == $name && $date==$now)
您不需要使用两个if语句。将两个条件与逻辑“ 8”绑定。
, 在将其他任何内容发送给用户之前,必须指定标题位置。否则,标题将不会重定向。
, 您不带任何参数调用date()
,这意味着ѭ10to设置为false
,并且将仅匹配$now
的值,这些值也被认为是错误的。
返回格式化的日期字符串。如果一个
非数字值用于
时间戳,则返回FALSE,
发出E_WARNING级错误。
资源
, 您在此csv文件中列出了多个用户吗? fgetcsv()一次只能读取一行,因此对于多个用户,您必须使用循环才能首先找到该用户所在的行,然后检查过期日期。
对于多个用户,您需要执行以下操作:
$fh = fopen(\'db.csv\',\'rb\');
while(list($name,$date,$url) = fgetcsv($fh)) {
if (($name === $name_value) && ($date === $now))
header(\"Location: $url\");
exit();
}
}
echo \"not successful\";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。