2013-02-27 89 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来促进交易。

相关问题