1

これをできる限り説明しようと思います。以前にセッションや Cookie を使用したことはありませんが、私の理解では、セッションが好ましい選択です。

  1. PAGE 1 - テキスト ($title) を含む PHP 変数。その値は、現在のページ タイトルが何であれです。
  2. ページ 2 - サブジェクト フィールド値 ($subject) が空のコンタクト フォーム (domain.com/email) ですが、元のページから $title の値を /email に移動し、その値を $subject として設定したいと考えています。 .

私が取得しようとしているのは、アクションまたはハイパーリンクを介してユーザーがこの持ち運びを実行できるようにすることです。

私が知っているのは、セッション、session_start() を開始し、該当する各ページでセッションの値を設定することだけです。

私が読んだことから、これは私がすることです:

session_start()

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

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

しかし、ユーザーが変数を運ぶことを選択したアクションを実際に「実行」するのは何でしょうか? つまり、通常の状況では、ユーザーがボタン/リンクを使用して値を新しいページに運ぶことを決定しない限り、 $subject 変数をそのままにしておく必要があります。これどうやってするの?

私の用語のいずれかが間違っている場合は、お詫び申し上げます。

どんな助けでも大歓迎です。ありがとうございました。

4

5 に答える 5

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"]

HTTP メソッドなどの Web 開発の基本を読み始めることをお勧めします (POST と GET は必須で、PUT と DELETE は興味深いものです)。たぶん、いくつかの基本的な PHP チュートリアルと、契約を甘くするための JavaScript を読んでください。

于 2013-02-27T15:04:21.137 に答える
0

ユーザーが選択した場合にのみ変数を次のページに移動したいということですか?

これは、これを行う私の逆方向の方法です (そして、他の誰かが推奨できるよりクリーンな方法がある可能性があります):

ユーザーに、変数を運ぶかどうかを示すボックスをチェックしてもらい、何があっても変数を運ぶことができます...しかし、2ページ目で、フォームのボックスをチェックしたかどうかを確認します( Get)、チェックボックスをオンにした場合にのみ $subject をセッション変数に設定します。

于 2013-02-27T14:58:58.787 に答える
0

リンクはユーザー入力の前に生成されるため、JS なしではリンクでそれを行うことはできません。

あなたができることは、ユーザーのタイトルを保持するテキスト入力要素を含む2番目のページに結果を送信する最初のページでフォームを使用することです。2 番目のページでは、送信データがタイトルを保持しているかどうかを確認する必要があります。そうでない場合は、デフォルトのものを使用します。

または 2 番目のことです - 私があなたを正しく理解できず、タイトルが変更されていない場合。次に、次のように、ユーザーがクリックするリンクの一部として追加します。

<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

これを 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 に答える