[英]PHP Form Syntax Issue
我目前正在努力提高我的PHP技能,我在下面有一个示例,我正在尝试使用它。 第一个网页(此处未显示)是一个包含一个字段Name:的表单,然后将其提交到处理表单的另一个页面(如下所示)。
出于某种原因,PHP代码似乎已经过验证,但在运行测试时它并没有输出任何内容。 第一页上字段的输入名称是“name”,然后将信息发送到下面显示的PHP文件。 然后该文件应该比较一天中的时间,然后根据收集的日期信息输出一条消息。 虽然不行。
(另外,我知道不推荐使用bgcolor属性,我在网上找到了这个例子)
任何帮助,将不胜感激。 谢谢,罗布
<!DOCTYPE html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Databases and Webprogramming: Assignment 4.1</title>
</head>
<body bgcolor="#f9f9f9">
<?php
//import form information
$name = $_POST['name'];
$current = date('H');
if ($current < 12)
echo "Good morning, $name!<br />";
elseif ($current==12 && $current<=18)
echo "Good afternoon, $name!<br />";
elseif ($current >= "19" && $current <= "24")
echo "Good evening, $name!<br />";
?>
</body>
</html>
这是一个工作示例的链接 。 我用文字字符串替换了$_POST['name']
。 我还在我的本地框中的index.html
测试了输出,它工作正常。 但是,您的示例无法使用您提供的链接。
如果它仍然不适合你,可能会有一个php配置问题在你面前。
UPDATE
我再次访问你的链接,它现在似乎正在工作。
UPDATE
我更新了我的链接指向一个解决了逻辑错误的解决方案,例如, $current>=12
而不是$current==12
。
如你所说,你没有看到任何输出错误很可能位于$current
附近。 否则你应该至少看到输出字符串的静态部分。 我只看到第二个条件中的一个错误。 $current==12
应该是$current>=12
。 根据你的时区,这可以解决问题,因为代码不能在13到18点之间输出任何东西。
如果这不能解决问题,请尝试使用弯曲的parantheses来避免在错误使用分号的情况下监控错误。 也许你想在if条件之外打印$current
的值并稍微调试一下代码。
编辑:哦,你不应该使用数字作为字符串(例如"19"
)。 如果你想要类型安全,你可以写$current = (int) date('H');
编辑#2:我刚刚认出了那几十条评论并找到了链接。 当我输入test
并提交表格时我会Good evening, test!
。 请注意,该脚本使用服务器的时区。 我实际上应该看到友好的“早上好”,因为凌晨2点就在这里。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.