0

抱歉,如果我在这里复制线程,但我无法在 StackOverflow 上的其他任何地方找到答案。

基本上我要做的是制作一个列表,其中可以保留用户在表单中输入的变量。目前,我有使这成为可能和功能的代码,但是在表单中输入的变量仅在用户点击提交后才会出现在列表中......只要我刷新页面或从某个地方转到页面否则,变量消失。有什么办法可以阻止这种情况发生吗?

编辑:这里是代码:

//Page 1
<?php

session_start(); 

$entries = array(
0 => $_POST['signup_username'],
1 => $_POST['signup_email'],
2 => $_POST['signup_city']);

$entries_unique = array_unique($entries);
$entries_unique_values = array_values($entries_unique);

echo "<a href='Page 2'>Link</a>";

$_SESSION['entries_unique_values'] = $entries_unique_values;

?>


//Page2 
<?php

session_start(); 

$entries_unique_values = $_SESSION['entries_unique_values'];

foreach($entries_unique_values as $key => $value) {
$ValueReplace = $value;
echo "<br /><a href='http://example.com/members/?s=$ValueReplace'>" . $value . "</a><br/>";
}

?>
4

4 回答 4

0

使用 PHP 会话或通过 JS 或使用 PHP 在 Cookie 中存储变量值。如果您显示您的工作代码会很好:)

于 2013-03-30T15:01:43.240 回答
0

您的想法很好,但是您只需要向您添加一些条件Page 1,仅在创建SESSION时设置您的值POST,这样即使您刷新它也会保留这些值。否则,当您访问没有 a 的页面时,POST这些值将被空白值覆盖,这就是您现在所看到的。你可以像这样修改它

<?php

session_start(); 

if(isset($_POST["signup_username"]))
{
$entries = array(
0 => $_POST['signup_username'],
1 => $_POST['signup_email'],
2 => $_POST['signup_city']);
$entries_unique = array_unique($entries);
$entries_unique_values = array_values($entries_unique);
$_SESSION['entries_unique_values'] = $entries_unique_values;
}

echo "<a href='http://localhost/Calculator/form2.1.php'>Link</a>";

?>
于 2013-03-30T15:08:08.110 回答
0

你的问题真的很模糊。答案取决于您必须存储多少数据,以及您需要它存在多长时间。

通过变量,我假设您的意思是用户输入的数据并且您想要放入变量中。我还假设变量列表是在提交表单时由 php 创建的。

php 只会在表单提交时创建变量列表,因为 php 完全在服务器上完成,因此在提交表单之前您不会拥有或看到变量。

如果您希望能够在创建列表时看到它,您可以使用 javascript,那么一旦您拥有 php 变量,就不需要 javascript 列表。

每次您请求一个 php 页面时,无论它是否相同,服务器都会生成一个全新的页面,这意味着来自先前页面的所有非硬编码变量都将丢失,除非您在页面周围不断发布变量,服务器将不记得它们.

你有几个可行的选择。

  1. ) keep passing the user created variables in POST or GET requests so each page has the necesary info to work with. Depending on the situation it might or might not be a good idea. If the data only needs to exsits for one or two pages then it is ok, but bad if you need the data to be accessable from any page on your web.

2.) start a session and store the variables in a session. Good if the data only needs to be around while the user is connected to the site. but will be lost if user close window or after a time.

3.) place a cookie. not a good idea but ok for simple data.

4.) create a mysql database and drop the variable info in there. great for permanent data. this is how i always complex user data.

just a few ideas for you to look into as it is difficult to see what you really mean. good luck.

于 2013-03-30T15:23:49.660 回答
0

You could use JavaScript and HTML5 local storage.

于 2013-03-30T15:36:47.120 回答