2016-11-22 63 views
0

我需要从一个形式收到信息变量的值,并改变这个以PHP变量使用它在同一页上无需重新加载它提交表单无需重新加载并使用POST变量

其实我得到这个:

$(function() { 
$("#submit_post").click(function() { 
    var select = $("select").val(); 
    $.post("process.php",{select:select},function(result){ 
    $('#result').append(result); 
    }); 
}); 
}) 

而且

<form method="post"> 
<select name="select" id="select"> 
    <option value="1">Test</option> 
</select> 
<input type="submit" id="submit_post" value="Envoyer" onclick="return false;"/> 
</form> 

<div id="result"></div>

当我做:

<?php var_dump($_POST["select"]); ?> 

我:空

但在DIV结果我得到:1

...

我需要这个湖 “1” 的PHP变量

+0

当我这样做的时候:?你是否发布数据?如果你访问,那么你会得到空。 –

+1

我想你必须使用AJAX来做到这一点 –

+0

人们似乎错过了第一个块中的AJAX($ .post jquery)调用。 –

回答

1

您的代码在我的服务器上运行良好。也许你不完全清楚超全球的功能。

如果按下按钮后“result”div包含“1”,那么这意味着process.php正确接收您的POST请求并回显$ _POST [“select”]的值。如果您试图将浏览器导航到process.php,您将得到“NULL”,因为当您这样做时,您正在创建一个不包含任何POST变量的单独请求。除非使用$ _SESSION,数据库或某种文本/ json/xml存储系统创建该功能,否则超全局数组不会在两次调用process.php之间持久化。你的PHP下列变更将允许您单击按钮,然后分别定位到process.php,看看你的数据:

<?php 
session_start(); 
if ($_POST["select"]) { 
    $_SESSION["data"] = ($_POST["select"]); 
} 
var_dump($_SESSION); 
?> 

请纠正我,如果我做了错误的假设,这是没有帮助的。

Ben

+0

谢谢你是我需要的想法,你是对的;)一切工作正常与我的文件我只需要重用process.php的结果,现在我可以做它与$ _SESSION – Sydowh

相关问题