2014-01-14 39 views
1

這是我的第一篇文章,請原諒,如果我不能正確提供信息。如何將信息從一頁傳送到另一頁,最後傳送到第三頁

所以我的問題是這樣的:

這是第一種形式:

<h1>Modificare carti</h1> 
<br /> 
<form action="UTLcrt.php" method="post"> 
Cod Carte: <br /><input type="numeric" name="cod"><br> 
Nume: <br /><input type="text" name="nume"><br> 
Autor: <br /><input type="text" name="autor"><br> 
Editura: <br /><input type="text" name="editura"><br> 
Disponibilitate: <br /><input type="text" name="disp"><br> 
Pret: <br /><input type="numeric" name="pret"><br> 
<select name="vmod"> 
<option value="mod">Modificare carte</option> 
<option value="str">Sterge carte</option> 
<option value="src" >Cauta carte</option> 
</select> 
<input type="submit"> 
</form> 

的UTLcrt.php包含以下代碼:

<?php 
if (isset($_POST['vmod'])) { 
    $urls = array(
     'mod' => 'modcrt.php', 
     'str' => 'strcrt.php', 
     'src' => 'srccrt.php' 

    ); 
    $url = $urls[$_POST['vmod']]; 
    header("Location: " . $url); 
} 
?> 

而且每個PHP頁面做的以下內容: modcrt.php將數據庫中的條目與第一個表格中提供的信息相同的「cod」更改爲 strcrt.php delete如果我們以第一種形式輸入的「cod」發現匹配 srccrt.php在數據庫中搜索是否找到了第一種形式提供的「cod」寄存器並顯示一個正式消息。

我的問題是這樣的:我把第一種形式的信息並不在modcrt.php,strcrt.php,src.php網頁獲得的... $ _ POST的是空...

如何從第一頁,第二頁,然後到第三頁發送信息?

回答

0

由於第三頁未收到POST請求,POST值爲空。事件順序是這樣的:

  • 用戶請求第一頁。
  • 用戶使用值將表單發佈到第二頁。
  • 第二頁告訴用戶向第三頁發出GET請求。
  • 用戶請求第三頁。

有幾種不同的方式來保持鏈中的信息。您可以:

  • 將它添加到查詢字符串的重定向
  • 儲存於會議
  • 存儲在數據庫中
  • 等。

第一種可能是這樣的:

header("Location: " . $url . "?key=value"); 

凡鍵/值對類似於那些在後。在這種情況下,值將提供給第三頁中GET:

$_GET['key'] 

如果你使用的會話,值停留服務器端。因此,在第二頁,你可以設置的值:

$_SESSION['key'] = $value; 

,然後檢索它在第三頁:

$value = $_SESSION['key']; 

注意,這些會話值將繼續生活在服務器上,直到會話超時。如果開始添加混淆到用戶訪問的其他頁面(也使用這些值),則可能需要在會話結束後將其從會話中解除。

+0

header(「Location:」。$ url。「?cc =」。$ _ POST ['cod']。「」。「?nc =」。$ _ POST ['nume']。「」。「?ac = 「$ _ POST [ '作者日期'。 」「。 」?EC =「。$ _ POST [ 'editura'。 」「。 」?DC =「。$ _ POST [ 'DISP'。 」「。」? PC = 「)」 $ _ POST [ 'pret的']。」; 這是正確的嗎?我想使用多個鍵。 – user3195372

+0

@ user3195372:它看起來像一個特別複雜的代碼行。它是否像你期望的那樣行事?爲了清楚起見,您可能想要減少該行的邏輯並將其中的一些重構爲單獨的值。但是,如果代碼正在做你期望的操作,那麼至少從邏輯的角度來看,我認爲它是「正確的」。 – David

+0

它不符合我的要求。結果是這樣的:「cod」的值,後面跟着。「?nc =」。$ _ POST ['nume']。「」。「?ac =」。$ _ POST ['autor']。「」。 「?EC =」。$ _ POST [ 'editura'。 「」。 「?DC =」。$ _ POST [ 'DISP'。 「」。 「?PC =」。$ _ POST [ 'PRET']。 「」); – user3195372

1

你可以讓他們在會議上,通過使用

$_SESSION['info1']=$info1; 
0

<?php 
// this starts the session 
session_start(); 

// this sets variables in the session 
$_SESSION['color']='red'; 
$_SESSION['size']='small'; 
$_SESSION['shape']='round'; 
?> 

第2頁

<?php 
$color = $_SESSION['color']; 
$size = $_SESSION['size']; 
$shape = $_SESSION['shape']; 
?> 

等等...

相關問題