2013-02-27 90 views
0

我會盡我所能解釋這一點。我以前從未使用過會話或cookie,但就我的理解而言,會話是首選。將PHP變量值帶到另一個頁面,並設置爲另一個PHP變量的值

  1. PAGE 1 - 包含文本的PHP變量($ title)。它的值是當前頁面標題。
  2. 第2頁 - 聯繫表單(domain.com/email)其中主題字段值($主題)爲空,但是,我希望將$ title的值從發送到/ email的任何頁面中提取出來,並將該值作爲$主題。

我想要得到的是這個攜帶是由用戶通過一個動作或超鏈接來執行的。

我所知道的只是啓動會話session_start(),併爲每個適用頁面上的會話建立值。

從我讀過的東西,這是我會怎麼做:

session_start() 

// PAGE 1 
$_SESSION['carrythis'] = $title; 

// PAGE 2 
$subject = $_SESSION['carrythis']; 

然而,究竟什麼將「執行」,其中用戶選擇攜帶該變量的作用?我的意思是,在正常情況下,我希望$ subject變量保持獨立,除非用戶決定使用按鈕/鏈接將值傳遞到新頁面。我怎樣才能做到這一點?

我很抱歉,如果我的任何術語不正確。

任何幫助表示讚賞。謝謝。

回答

0

你是說如果用戶選擇只想將變量傳送到下一頁?

這是我這樣做的向後方式(也有可能是一個更清潔的方式,其他人可以推薦):

你可以讓用戶檢查框說他們做或不想攜帶變量,然後將變量放在任何地方......但在第2頁上,檢查他們是否檢查了表單上的框(Get),然後只在會話變量中設置$ subject,如果他們檢查了框。

0

由於鏈接是在用戶輸入之前生成的,因此您將無法通過沒有JS的鏈接執行此操作。

你可以做的是在第一頁上使用表單,將結果提交給第二頁,其中包含文本輸入元素,用於保存用戶的標題。在第二頁上,您只需檢查提交數據是否包含標題,如果不是,您將使用默認標題。

還有第二件事 - 如果我沒有正確理解你並且標題沒有改變。然後,只需將其添加爲鏈接的一部分,即用戶點擊,就像這樣:

<a href="page2.php?title=<?php echo $title; ?>">click here</a> 
0

您可以創建的鏈接聯繫第1頁的形式是這樣的:

<a href="page2.php?title=current_page_title">Contact Form</a> 

在第2頁,你可以檢索使用URL標題$ _GET:

$subject = $_GET['title']; 
0

添加到您的HTML表單

<input type="checkbox" name="carry" value="1">Carry or whatever<br> 

,並在你的PHP代碼

if(isset($_POST['carry']) && $_POST['carry'] ==1){ 
//Do what you will do when the Stored subject 
}else{ 
//get the subject filed Post Data 
} 
0

你彷彿是試圖做的是一個POST,無需使用會話了點。

只需在裏面創建一個帶有輸入字段的表單。爲該輸入字段命名,並讓用戶編寫該字段的內容或自己寫入。

關鍵的想法是讓用戶訪問包含要傳遞給PHP腳本的數據的表單。

// On page 1 
<form method="post" action="page2.php"> 
    <input type="text" name="title" value=""/> 
    <input type="submit" value="Submit"/> 
</form> 

// On page 2 
$title = $_POST["title"] 

我建議你開始閱讀web開發基礎知識,比如HTTP方法(POST和GET是必須的,PUT和DELETE很有趣)。也許閱讀一些基本的PHP教程,以及一些JavaScript來促進交易。

相關問題