2017-12-02 128 views
-3

我想知道是否有方法從我網站上的其他頁面獲取變量。例如,假設我的主頁index.php有一個文本框,您可以在其中輸入數據,並將其保存爲變量。有沒有一種方法可以將它轉移到新頁面,比如newpage.php,它需要這些數據?非常感謝幫助我。要求頁面中的變量PHP

P.S.是的,我知道你可以使用數據庫,但這不是我目前的想法。我想知道是否有沒有數據庫的方式。

+0

我不明白你想做什麼。我懷疑你對Web應用程序的工作方式有些疑慮。你可以定義你想要完成的分步方案嗎?用戶如何與您的網站進行互動,以及您想要做什麼以及在該互動中您嘗試做什麼? – David

回答

0

好吧,我想我明白你的意思,並有2個答案。 假設您的第一頁index.php有一個textbox,並且您想要將其中的數據傳輸到新頁面newpage.php

第一種方式是使用

<form action="/newpage.php" method="GET"> 
    <input type='text' name='myText' /> //name is important make sure it is there 
<input type='submit' /> 
    </form> 

而且在你的PHP你必須做一些事情,如:

$_GET['myText'] 

,並在您的代碼或邏輯是這樣的數據庫查詢由你決定。

第二種方式是有點「棘手」。它需要javascript/jquery ajax,當然還有php。

因此,讓我們再一次說,你有一個像

<input type='text' name='myText' id='myText' /> 

您可以使用jQuery或JavaScript使用它的一個屬性(最常見的方式來獲得該文本框中的值的文本框一個id,這就是爲什麼它對於每個DOM元素必須始終是唯一的)。

因此,你需要告訴你的代碼做到這一點。最常用的方法是點擊按鈕。所以我們也需要一個按鈕。

<button id='sendData'> Click Me!!! </button> 

好差不多了,元素已就緒,但我們需要確保單擊時按鈕被觸發。

在jQuery的/ JavaScript的,你需要一個功能onClick類似的東西:

$("#sendData").click(function() { 
    //get the value of the text you want 
    // small hint search for .val() function 
}); 

之後,你應該有一個變量讓我們命名它data值。 在這裏,使用console.log('data')來查看是否一切順利是正確的。如果在控制檯中一切正常,你應該可以看到你的文本框的數據。

現在ajax。 Ajax調用是前端和後端之間的連接。你的阿賈克斯應該看起來像這樣:

$.ajax({ 
    method: "POST", 
    url: "newpage.php", 
    dataType: json, 
    data: { data: data } 
}).done(function() { 
    console.log('all worked fine'); 
}); 

2件事情要注意這裏。您發送數據的php頁面必須位於您收到數據的同一頁面中,否則請使用絕對路徑確保它能正常工作。 dataType取決於您閱讀有關ajax數據類型的內容,並且通常針對ajax調用(如果使用這種方式)。在你的PHP source for ajax

然後根據你使用你要麼$_GET['data']$_POST['data']

的方法我試過,因爲我可以是作爲分析。如果你問我,第一種方式更容易,但第二種方式更好。但兩者都可以完成工作。第一個騙局是頁面刷新提交。祝你的項目好運。

+0

我所有的解決方案都是基於php的。第一個是堅實的PHP/HTML,第二個是包括JavaScript也。你的選擇!!! – pr1nc3

+0

是的,它讓我等待 – WillNyeTheWebsiteGuy