繁体   English   中英

PHP表单语法问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM