我正在尝试使该脚本在php中工作,但它不想这样做:
<body>
<FORM ACTION="second.php" METHOD="post">
YourName:
<INPUT TYPE="text" NAME="YourName"><BR />
CostOfLunch:
<INPUT TYPE="text" NAME="CostOfLunch"><BR />
DaysBuyingLunch:
<INPUT TYPE="text" NAME="DaysBuyingLunch"><BR />
<INPUT TYPE="submit" NAME="x" VALUE="Calculate">
</FORM>
</body>
第二个文件。
<body>
<?php $Today = date("l F d. Y"); ?>
Today's Date:
<?php
/*
** show today's date
*/
print("<H3>$Today</H3>");
/*
** show information about cost of lunch
*/
print("$YourName, this week, you will spend ");
print($CostOfLunch * $DaysBuyingLunch);
print(" dollars for lunch.<BR />\n");
?>
</body>
我以两种方式测试这些文件:
php -S 0.0.0.0:8000 first.php
此命令。然后导航到浏览器中的地址栏。我在这里输入http://localhost:8000/
。
这样,页面不会输出second.php
,而是显示第一页并清除表单。不过,它更改为http://localhost:8000/second.php
。http://localhost:portnumber/first.php
。由于我已经安装了 Appache HTTP Server ,因此效果更好。它导航到http://localhost:port/second.php
并将站点的输出更改为文件的内容。 las这样的话:Today's Date:
, this week, you will spend 0 dollars for lunch.
无需运行任何脚本。编辑:更改脚本以使用echo和$_POST
而不是print()
像这样的<?php echo $_POST['yourName']; ?>
是可行的。
但仅当使用APACHE时。使用内置Web服务器时,网站内容不会更改,只是清除。
答案 0 :(得分:6)
您似乎是在使用非常的,过时且危险的PHP教程进行工作。
php -S
未运行PHP,因为您正在使用short tags。不要使用它们,而应使用<?php ... ?>
。$_POST
superglobal。在旁边:
htmlspecialchars