将PHP变量值携带到另一个页面并设置为另一个PHP变量的值

时间:2013-02-27 14:52:48

标签: php session-variables

我会尽力解释这个问题。我之前从未使用会话或cookie,但根据我的理解,会话是首选。

  1. 第1页 - 包含文本的PHP变量($ title)。它的值是当前页面标题的任何值。
  2. 第2页 - 联系表单(domain.com/email)其中主题字段值($ subject)为空,但是,我想从它发起的任何页面/电子邮件中携带$ title的值,并设置该值作为$ subject。
  3. 我想要获得的是用户通过动作或超链接执行此操作。

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

    从我读过的内容来看,这就是我要做的事情:

    session_start()
    
    // PAGE 1
    $_SESSION['carrythis'] = $title;
    
    // PAGE 2
    $subject = $_SESSION['carrythis'];
    

    但实际上会做什么"用户选择携带变量的动作?我的意思是,在正常情况下,我希望保留$ subject变量,除非用户决定使用按钮/链接将值传递给新页面。我怎么能这样做?

    如果我的任何术语不正确,我道歉。

    感谢任何帮助。谢谢。

5 个答案:

答案 0 :(得分:0)

如果用户选择,您是否只想将变量传递到下一页?

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

您可以让用户选中一个框,说明他们是否要携带变量,并随身携带变量......但是然后在第2页,检查他们是否选中了复选框表单(Get),然后只有在选中框时才将$ subject设置为会话变量。

答案 1 :(得分:0)

如果没有JS,你将无法通过链接来实现,因为链接是在用户输入之前生成的。

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

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

<a href="page2.php?title=<?php echo $title; ?>">click here</a>

答案 2 :(得分:0)

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

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

在第2页,您可以使用$ _GET:

从URL检索标题
$subject = $_GET['title'];

答案 3 :(得分: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
}

答案 4 :(得分: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以使这笔交易更加甜蜜。