2016-02-11 52 views
0

好的,我知道这可能是一个非常愚蠢的问题,但我无法弄清楚这里发生了什么。我在我原来的HTML文件 -

<form action="./api" method="POST"> 
    <label for="first-name">First Name: </label> 
    <input id="first-name" type="text" name="first_name" /><br/> 
    <label for="last-name">Last Name: </label> 
    <input id="last-name" type="text" name="last_name" /><br/> 
    <input type="submit" name="send" value="Submit Form"/> 
</form> 

得到这个在我的API文件夹中我有一个具有以下代码 -

<?php 
print_r($_POST); 
?> 

这就是它 - 我知道它不是安全的index.php文件但我只是想让它工作。它返回一个空阵列...

Array() 

我真的需要第二双眼睛在这,我错过了什么?为什么信息不被传送?


更新:

改变行动,行动=预期 “./ API/index.php的” 返回贴变量。正如有人在下面评论的,之前我在api文件夹中触发了index.php,因为它返回的是空数组。奇怪的是,它不接受数据。在php中通常的做法是让你的文章的目标明确吗?

+0

看起来不错,怎么样在同一个目录中这两个文件? – 2016-02-11 20:22:06

+0

假设它位于同一个文件夹中,你的表单动作最可能需要是“index.php”而不是“./api”。我认为你不会触发它。 – Vladan

+0

也许一些“创意”的网址重写已完成? – arkascha

回答

1

请将完整的文件路径添加到您的操作中,并将您的
$_POST['']转换为变量。下面的代码应该完全基于你的问题。

​​

添加这../api/index.php

<?php 
$first_name = $_POST['first_name']; 
$last_name = $_POST['last_name']; 
echo $first_name; 
echo $last_name; 
?> 
+0

它确实有效 - 为什么又需要完整路径? – Jimbo