1

我会尽力解释这一点。我以前从未使用过会话或 cookie,但据我了解,会话是首选。

  1. 第 1 页 - 包含文本 ($title) 的 PHP 变量。它的值是当前页面标题。
  2. 第 2 页 - 联系表单(domain.com/email),其中主题字段值($subject)为空,但是,我想将 $title 的值从它起源到 /email 的任何页面中携带,并将该值设置为 $subject .

我想要得到的是让用户通过一个动作或超链接来执行这个携带。

我所知道的只是启动会话 session_start(),并在每个适用页面上为会话建立值。

根据我的阅读,这就是我要做的:

session_start()

// PAGE 1
$_SESSION['carrythis'] = $title;

// PAGE 2
$subject = $_SESSION['carrythis'];

但是,在用户选择携带变量的地方,什么会真正“执行”操作呢?我的意思是,在正常情况下,我希望 $subject 变量保持不变,除非用户决定使用按钮/链接将值带到新页面。我怎样才能做到这一点?

如果我的任何术语不正确,我深表歉意。

任何帮助表示赞赏。谢谢你。

4

5 回答 5

0

您是说如果用户选择,您只想将变量带到下一页?

这是我这样做的倒退方式(并且可能有其他人可以推荐的更清洁的方式):

您可以让用户选中一个框,说明他们愿意或不想携带该变量,无论如何都要携带该变量......但是在第 2 页上,检查他们是否选中了表单上的框(获取),然后仅在他们选中该框时将 $subject 设置为会话变量。

于 2013-02-27T14:58:58.787 回答
0

您将无法通过没有 JS 的链接来执行此操作,因为链接是在用户输入之前生成的。

您可以做的是在第一页上使用表单,该表单将使用文本输入元素将结果提交到第二页,该元素将保存用户的标题。在第二页上,您只需要检查提交数据是否包含标题,如果没有 - 您将使用默认值。

或者还有第二件事——如果我没有正确理解你并且标题没有改变。然后只需将其添加为用户点击的链接的一部分,如下所示:

<a href="page2.php?title=<?php echo $title; ?>">click here</a>
于 2013-02-27T14:59:45.383 回答
0

您可以从第 1 页创建联系表格的链接,如下所示:

<a href="page2.php?title=current_page_title">Contact Form</a>

在第 2 页,您可以使用 $_GET 从 URL 中检索标题:

$subject = $_GET['title'];
于 2013-02-27T14:59:58.640 回答
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 来增加交易。

于 2013-02-27T15:04:21.137 回答
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
}
于 2013-02-27T15:00:15.710 回答