2011-04-04 66 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();