2013-10-03 44 views
0

我是PHP新手,我正在嘗試在提交表單後獲取發佈數據。我遇到的問題是,我可以在我的success.php頁面上獲取發佈數據,但是如果我離開該頁面並轉到另一頁面,則無法再獲取值。所以我的問題是如何獲得另一頁上的發佈數據?如何在提交表單後獲取發佈數據

我的形式

<form name="message" method="post" action="success.php"> 
First Name: <input type="text" name="firstname" id="firstname"/> 
<p> 
Last Name: <input type="text" name="lastname" id="lastname"/> 
<p> 
Message:<br /> 
<textarea name="message" id="message" cols="45" rows="5"></textarea> 
<br /> 
<input type="submit" name="submit" value="Submit"></input> 
</form> 

success.php

<?php 
$firstname = $_POST['firstname']; 
$lastname = $_POST['lastname']; 
$message = $_POST['message']; 
echo "Firstname: $firstname<br/>"; 
echo "Lastname: $lastname<br/>"; 
echo "Message $message"; 
?> 
+4

這是什麼[會議](http://php.net/manual/en/features.sessions。 PHP)是爲 –

+0

可能重複的[在zend框架2中的行爲之間保持數據的最佳方式是什麼?](http://stackoverflow.com/questions/18406480/what-is-the-best-way-to- keep-data-between-actions-in-zend-framework-2) –

回答

0

表單已success.php被提交後,您可以在值存儲在一個會話。

<?php 
if (isset($_POST['firstname'], $_POST['lastname'], $_POST['message'])) { 
session_start(); 
$firstname = $_POST['firstname']; 
$lastname = $_POST['lastname']; 
$message = $_POST['message']; 

// store session data 
$_SESSION['firstname'] = $firstname; 
$_SESSION['lastname'] = $lastname; 
$_SESSION['message'] = $message; 
} 
?> 

然後獲取您可以使用的其他頁面上的數據。在會議

<?php 
session_start(); 
    $firstname = $_SESSION['firstname']; 
    $lastname = $_SESSION['lastname']; 
    $message = $_SESSION['message']; 
    ?> 
+0

我還沒有對你說過,但我只能猜測誰做了它,這樣做是因爲你在哪裏檢索會話變量,你有可能未定義瓦爾。 –

+1

這實際上起作用。不過,我還有一個問題,如果用戶返回到表單所在的頁面,他們是否能夠通過重新提交表單再次更改值?如果是的話,是否有辦法阻止這種情況? – Dev

-2

存儲值差不多放了相同的答案,但澄清:

您可以在會話數組中的這些值存儲。

$_SESSION['example'] = "testone"; 
$_SESSION['exampletwo'] = "testtwo"; 

,然後要麼通過您目前使用的檢查特定變量或循環:

$example; 
if (isSet($_SESSION['example'])) { 
    $example = $_SESSION['example']; 
} else { 
    $example = "default"; 
} 
echo "example's content: $example"; 

echo "Session array contents:"; 
echo "<pre>"; 
var_dump($_SESSION); 
echo "</pre>"; 
echo "Session from for loop:" 
for ($_SESSION as $name => $value) { 
    echo "$name => $value"; 
} 
0

<?php 
if (!isset($_SESSION)) { 
session_start(); 
} 
if (isset($_SESSION['firstname']) &&($_SESSION['lastname']) &&($_SESSION['message'])){ 
$firstname = $_SESSION['firstname']; 
$lastname = $_SESSION['lastname']; 
$message = $_SESSION['message']; 
echo $firstname; 
echo $lastname; 
echo $message; 
} 
?> 
相關問題