带有 $_SERVER[ "PHP_SELF" ] 的 HTML 表单不再有效



我刚刚在新的MacOS El Capitan安装上完成了AMP的设置,所有步骤都在最酷的指南中列出。

我有一个简单的HTML/PHP表单,我曾经运行在我以前的MacOS安装没有任何问题,我现在不能让它工作:

<?php if(isset($_POST['submit'])) { 
$name = $_POST['name'];
$post = $_POST['post'];
$link = $_POST['link']; 
echo $name; 
echo $post; 
echo $link; 
echo "all good";
} 
?>
<form name="upload" action=<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?> method="post">
   Name:<br>
   <input type="text" name="name"><br>
   Post:<br>
   <input type="text" name="post"><br>
   Link:<br>
   <input type="text" name="link"><br>
   <input type="submit" name="submit" value="Submit Form"><br>
</form>

每当我运行HTML表单,我现在看到(method="post">)正好在三个文本框的前面!当我点击提交按钮时,我得到一个404错误"请求的URL/~Eduardo/<在此服务器上找不到。">

是否有一些我需要启用这个安装,它不是详细的网页上?

提前感谢您的帮助!

php标签使用双引号,$_SERVER key使用单引号

  <form name="upload" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">

您需要引用表单的action属性的内容。这样的:

<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>"...

最新更新