3

私はPHPが初めてです。

ページ間でデータを転送したい。

私の要件では、最初にホームページがあり、nameaddresspin、およびsubmit buttonの 3 つのフィールドがあります。

上記のフィールドに入力してから送信をクリックすると、に移動しpage2.php、フォームデータがあります。

最初のフォーム データを 2 ページ目に転送しました。2番目のページに送信ボタンがあります。そのボタンをクリックすると、データが MySQL データベースに送信されます。

私の問題は、最初のページの値をinsertdata.phpページに移動してデータを送信するにはどうすればよいですか?

4

5 に答える 5

8

これを行うには2つの方法があります

  1. セッション
  2. 非表示の入力フィールド

セッション

あるページから別のページにデータを渡すには、最初にスーパーグローバル変数session_start()を使用するすべてのページを呼び出す必要があります。$_SESSION次に、を使用してセッションに値を保存できます

$_SESSION['name'] = $_POST['name'];
$_SESSION['address'] = $_POST['address'];
$_SESSION['pin'] = $_POST['pin'];

2ページ目でこれらの値を使用するには、名前で呼び出すだけです。元:

$name = $_SESSION['name']; // will contain the value entered in first page

================================================== ================================

非表示の入力フィールド

これは退屈なアプローチですが、それでも仕事をします。このプロセスでは、別のページに渡す必要のあるデータを非表示フィールドに保存し、後で$_POSTまたは$_GETスーパーグローバルを介してそれらにアクセスします。

page1.php(page2.phpに投稿します)

<input type="text" value="Page 1 content" name="content" />
<input type="text" value="Page 1 body" name="body" />

page2.php(page3.phpに投稿)

<input type="hidden" value="<?php echo $_POST['content']; ?>" name="content" />
<input type="hidden" value="<?php echo $_POST['body']; ?>" name="body" />
<input type="text" value="Page 2 content" name="content2" />
<input type="text" value="Page 2 body" name="body2" />

page3.php

echo $_POST['content']; // prints "Page 1 content"
echo $_POST['body']; // prints "Page 1 body"
echo $_POST['content2']; // prints "Page 2 content"
echo $_POST['body2']; // prints "Page 2 body"
于 2012-08-03T08:03:01.913 に答える
1

最初のページ<?php session_start(); ?> で以下のコードを使用し、次のコードを次のページで使用してください

<?php
$name = $_SESSION['name'];
$address = $_SESSION['address'];
$pin = $_SESSION['pin'];
echo $name."<br/>";
echo $address."<br/>";
echo $pin."<br/>";
?>

postまたは、以下のようにまたはgetメソッドを使用できます

GET メソッドの場合

<?php
$name = $_GET['name'];
$address = $_GET['address'];
$pin = $_GET['pin'];
echo $name."<br/>";
echo $address."<br/>";
echo $pin."<br/>";
?>

ポストメソッドの場合

    <?php
    $name = $_POST['name'];
    $address = $_POST['address'];
    $pin = $_POST['pin'];
    echo $name."<br/>";
    echo $address."<br/>";
    echo $pin."<br/>";
    ?>
于 2012-08-03T07:57:30.557 に答える
0

ページ変更の間にデータを保存するには、スーパーグローバル$_SESSION配列を使用できます。

ページ1

$_SESSION['name'] = "John";

2ページ

echo $_SESSION['name'];

出力

John

session_start()セッションの使用が必要な各ページの上部に必ず配置してください。

セッションの詳細については、ここをクリックしてください。

于 2012-08-03T07:58:21.873 に答える
0

基本的に、最初のページでデータを送信すると、セッションに保存され、2 番目のページにリダイレクトされます。

2 番目のページでは、それらをロードします。

ページ1:

<?php session_start(); 

     $_SESSION["var_name"]  = $some_value;


?>

ページ2:

<?php session_start(); 

     $my_var = $isset($_SESSION["var_name"])?$_SESSION["var_name"]:null;




?>

my_var の値をテストし、空の場合は最初のページにリダイレクトするか、エラー メッセージを表示します。

セッション チュートリアル http://www.w3schools.com/php/php_sessions.asp

Mysql 挿入チュートリアル http://www.tizag.com/mysqlTutorial/mysqlinsert.php

POST/GET チュートリアル http://www.tizag.com/phpT/postget.php

于 2012-08-03T08:01:39.277 に答える
0

のようREQUESTに、PHP は、これらの値をページ全体でダンプできるセッションのマップを維持します。例えば

$_SESSION['name']='foo';

ただし、セッションを使用したいページでは、メソッドを使用してセッションを開始する必要がありますsession_start();。ただし、このメソッド呼び出しは、php の最初の行にする必要があります。

http://www.w3schools.com/php/php_sessions.asp

于 2012-08-03T07:58:04.667 に答える