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によって作成されると思います。

PHPはサーバー上で完全に実行されるため、フォームが送信されたときにのみ変数リストが作成されます。したがって、フォームが送信されるまで変数は表示されません。

リストが作成されているときにリストを表示できるようにしたい場合は、javascript を使用できます。php 変数を取得したら、javascript リストは必要ありません。

同じページであるかどうかにかかわらず、PHPページをリクエストするたびに、サーバーはまったく新しいページを生成します。つまり、ページの周りに変数を継続的に投稿しない限り、前のページからのハードコードされていない変数はすべて失われ、サーバーはそれらの記憶を失います。 .

実行可能なオプションがいくつかあります。

  1. ) ユーザーが作成した変数を POST リクエストまたは GET リクエストで渡し続けて、各ページに作業に必要な情報が含まれるようにします。状況によっては、良いアイデアかもしれないし、そうでないかもしれません。データが 1 ページまたは 2 ページだけ存在する必要がある場合は問題ありませんが、Web 上のどのページからでもデータにアクセスできるようにする必要がある場合は良くありません。

2.) セッションを開始し、変数をセッションに保存します。ユーザーがサイトに接続している間だけデータが必要な場合に適しています。ユーザーがウィンドウを閉じるか、しばらくすると失われます。

3.) クッキーを置きます。良い考えではありませんが、単純なデータには問題ありません。

4.) mysql データベースを作成し、そこに変数情報をドロップします。永続的なデータに最適です。これは、私が常に複雑なユーザーデータを作成する方法です。

あなたが本当に何を意味するのかを理解するのは難しいので、あなたが調べるためのほんのいくつかのアイデア. 幸運を。

于 2013-03-30T15:23:49.660 に答える
0

JavaScript と HTML5 のローカル ストレージを使用できます。

于 2013-03-30T15:36:47.120 に答える
0

PHP セッションを使用するか、JS または PHP を使用して変数値を Cookie に保存します。作業コードを表示するといいでしょう:)

于 2013-03-30T15:01:43.240 に答える
0

Page 1あなたのアイデアは問題ありませんが、作成されたときにのみSESSION値を設定するという少しの条件を追加する必要があるだけPOSTです。そうすれば、更新しても値が保持されます。そうしないと、これらの値なしでページにアクセスすると、現在表示されているように、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 に答える