2011-04-04 67 views
3

我有一個action.php,它執行一些涉及MySQL數據庫的處理。在action.php的我產生一個變量PHP VS. HTML。將值從html傳遞到php

$author 

在一個字符串。當腳本終止其通過

header('Location: ../test.php'); 

呼籲test.php的現在雖然顯示的test.html,我想顯示stringvariable

$author 

在一個HTML元素的內容。像

<h2>echo $author;</h2> 

我該如何做到這一點?預先感謝您的任何回覆。

+0

你能後正是你如何顯示test.html?我不確定你的意思是「它稱爲test.html」。 – TaylorOtwell 2011-04-04 21:33:01

+0

http://www.php.net/manual/en/book.session.php – 2011-04-04 21:33:30

+0

@TaylorOtwell感謝您的回覆。我編輯了你要求的部分。現在更清楚了嗎? – Aufwind 2011-04-04 21:36:07

回答

1

PHP文件你可以把$作者的內容在session

<?php 
// action.php 
session_start(); 
// Your code here 

$_SESSION['author'] = $author; 

// Redirect to test.php 

<?php 
// test.php 
session_start(); 

echo '<h2>'. $_SESSION['author'] .'</h2>'; 

參見:

  1. session_start
+0

你節省了我的一天。沒想到,這個會議很容易處理。非常感謝你。 – Aufwind 2011-04-04 22:01:17

0

使用模板引擎,例如Twig

雖然你可以使用PHP本身作爲一個模板引擎(include()您的文件,並使用它<?=$var?><?php echo $var; ?>),使用真正的模板引擎通常是更好的,你甚至不會去想移動實際的業務邏輯到您的模板當你有一個好的模板引擎。

0

您需要將$author的值存儲在$_SESSION或cookie中。

session.php

+0

是的但要小心,您不能在同一批次中發送Set-cookie和Location標頭,因此會話應在發送位置標頭之前的腳本中啓動。 – Capsule 2011-04-04 21:39:07

1

你可以$筆者在會話變量或頁面action.php輸出的形式與一個隱藏的輸入存儲與$作者的值,然後提交給test.php的

使用會話變量不要忘記session_start();然後$ _SESSION ['author'] = $作者

0

聽起來就像你試圖從數據庫中提取作者數據並顯示在test.php中。如果是這樣,則不需要將數據「傳遞」到test.php,只需抓取test.php中的數據即可。

test.php的

<?php 
// Open DB handle 
// Do query, get results. 
// Store results in array ($aRes) 
// Close DB handle 
?> 

<html> 
. 
. 
. 
    <body> 
    <h2><?php echo $aRes['author'];?></h2> 
    . 
    . 
    </body> 
</html> 

這是一個非常基本的,顯然相當僞模板,但希望它會給你的服務器端數據和HTML之間的關係的一個更好的主意。

1

在你action.php的保存您的變量會是這樣的:$_SESSION['author'] = $author;

然後,在你的test.php的文件,你可以使用<h2><?php echo $_SESSION['author']; ?></h2>

不要忘了啓動這兩個。與調用session_start();