2016-11-22 125 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

相關問題