我会尽力解释这个问题。我之前从未使用会话或cookie,但根据我的理解,会话是首选。
我想要获得的是用户通过动作或超链接执行此操作。
我所知道的是启动会话,session_start(),并在每个适用的页面上为会话建立值。
从我读过的内容来看,这就是我要做的事情:
session_start()
// PAGE 1
$_SESSION['carrythis'] = $title;
// PAGE 2
$subject = $_SESSION['carrythis'];
但实际上会做什么"用户选择携带变量的动作?我的意思是,在正常情况下,我希望保留$ subject变量,除非用户决定使用按钮/链接将值传递给新页面。我怎么能这样做?
如果我的任何术语不正确,我道歉。
感谢任何帮助。谢谢。
答案 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以使这笔交易更加甜蜜。