使用AJAX和重定向将表单值传递给PHP变量

时间:2015-01-10 19:39:45

标签: php jquery ajax

用户是否可以在表单中输入值,然后在提交时,将页面重定向到新的页面,并将值输入到存储在PHP变量中的表单中?

这是我的表格代码;

<form id="loc-search" method="post">

    <input type="text" id="search-by-location" name="custom-location" value="" placeholder="Sheffield, UK"/>

    <input type="submit" id="submit" value=""/>

</form>

用户在#search-by-location中输入值后,页面需要重定向到weather.php,并将值存储在名为$location

的PHP变量中

AJAX / JS不是我强大的西装,所以如果有人能指出我的方向会很棒

3 个答案:

答案 0 :(得分:2)

这只是一个普通表单,所以为什么不在$_POST页面上重定向后使用weather.php

$location = $_POST["custom-location"]; 

正如 @Tacticus 指出你还需要重定向表单(如果你还没有在JS中这样做)。在表单中添加action="weather.php"

<form id="loc-search" method="post" action="weather.php" >
    ...
</form>

答案 1 :(得分:2)

将参数action="weather.php"添加到表单标记中。然后,当单击提交按钮时,您将被重定向到该页面。根据您的方法,在您的情况POST中,输入值将在PHP中的超全局$_POST数组中可用。

在您的示例中,$location = $_POST["custom-location"];就足够了。请注意,名称而不是ID确定目标PHP文档中的数组键。

实现这一目标不需要Javascript或AJAX。

答案 2 :(得分:0)

如其他答案所述,您应该修改您的表单,如下所示:

<form id="loc-search" method="post" action="weather.php">

<input type="text" id="search-by-location" name="custom-location" value="" placeholder="Sheffield, UK"/>

<input type="submit" id="submit" value=""/>

</form>

在weather.php文件中,您可以从$ _POST全局变量中获取值,如下所示:

<?php 
$location = $_POST["custom-location"];
//Interpret data

?>

请注意,您可以使用输入的名称从传递的表单中访问输入标记的值。在html中,您指定以下内容:

<input name="yourname" />

当您想要访问该值时,只需引用他的名称

$_POST['yourname']

如果你使用GET方法传递值,那么你也这样做,只有值会存储在$ _GET全局变量中,所以在你的情况下使用GET方法,变量初始化看起来像这样:

<?php 
$location = $_GET["custom-location"];
//Interpret data

?>