1

まず、これを読んでくれてありがとう。ページ 1 とページ 2、そして最後にページ 3 から格納する必要があるデータを含む 3 ページのフォームがあり、データベースに送信されます。

これをページ 2 で使用して、ページ 1 の情報を保存します (フォームのページ 1 に session_start(); があると仮定します)。

$_SESSION['firstName']= $_POST['firstName'];
$_SESSION['telephone']= $_POST['telephone']; 
$_SESSION['surname']= $_POST['surname'];
$_SESSION['mobile']= $_POST['mobile'];

次に、ページ 3 は、これを使用してページ 2 から情報を取得し、情報を保持します。

 $_SESSION['address1']= $_POST['address1']; 
 $_SESSION['address2']= $_POST['address2'];
 $_SESSION['address3']= $_POST['address3'];
 $_SESSION['email']= $_POST['email'];
 $_SESSION['customerType']= $_POST['customerType'];

$_SESSION['email'] を 3 ページで echo するとある程度は機能しますが、最後のページで 2 ページから $_SESSION を echo した場合、何も表示されません。

私は何年もセッションの保存を検討してきましたが、解決できないようです。

サマーライズするには:-

  • PAGE 1 セッションを開始し (session_start())、ユーザーは名前、姓、携帯電話番号を入力します。
  • ページ 2 ユーザーがページ 1 で入力した情報を保存し、ユーザーは自分の住所、電子メールを入力し、メンバーシップ タイプを選択します。
  • ページ 3 ユーザーがページ 2 で入力した情報を保存し、ユーザーが支払い方法を選択します (メンバーが支払い方法を知りたいだけなので、支払いは行われません。小切手またはペイパル)
  • ページ 3 には、すべての情報をデータベースに送信するページとして保存されない 1 つの情報もあります。

ページ 3 の問題 ページ 1 からの情報を ECHO しようとすると、ページ 1 からのデータが表示されません。このエラーが発生します:-注意: 未定義のインデックス:

これを読んでくれてありがとう。私は初心者なので、これはおそらくあなたの多くにとってばかげた質問かもしれませんが、私は学びたいと思っています。このサイトは素晴らしいです.

申し訳ありませんが、これを追加するのを忘れて、私はこのコードを含むDefault.phpと呼ばれるメインページを持っています:-

 if ($_REQUEST['p']) { include('includes/'.$_REQUEST['p'].'.php'); 

すべての私のページは、次の形式のこのページから呼び出されます

  default.php?p=addmember
  default.php?p=addmember-page2
  default.php?p=addmember-page3

default.php には session_start(); があります。したがって、すべてのページにはこれが呼び出されます

4

3 に答える 3

5

session_start()各ページで使用してセッションを初期化する必要があります。

于 2013-03-18T22:53:37.387 に答える
3

多分これが役立つでしょう。

<?php
session_start();
?>
<?php
#session_destroy();
function form($type)
{
    return "<form action=\"\" method=\"POST\" >
            <input type=\"text\" name=\"next\" />
            <input type=\"submit\" name=\"$type\" />
            </form> ";
}

function module()
{
    echo form('one');
    if (isset($_POST['one'])) {
        if (isset($_POST['next']) && !empty($_POST['next'])) {
            $_SESSION['title'] = $_POST['next'];
        } else {
            echo "post is empty";
        }
    } else {
        echo "Please fill the field";
    }
}

function module2()
{
    echo form('two');
    if (isset($_POST['two'])) {
        if (isset($_POST['next']) && !empty($_POST['next'])) {
            $_SESSION['content'] = $_POST['next'];
        } else {
            echo "post is empty";
        }
    } else {
        echo "Please fill the field";
    }
}

function module3()
{
    echo form('three');
    if (isset($_POST['three'])) {
        if (isset($_POST['next']) && !empty($_POST['next'])) {
            $_SESSION['category'] = $_POST['next'];
        } else {
            echo "post is empty";
        }
    } else {
        echo "Please fill the field";
    }
}
if (!isset($_SESSION['title'])) {
    echo module();
} else if (isset($_SESSION['title']) && !isset($_SESSION['content'])) {
    echo module2();
} else if (isset($_SESSION['content']) && !isset($_SESSION['category'])) {
    echo module3();
}

// you can delete, below this line. 
echo "<div style=\"width:1000px; align:left; border:1px dashed #darkblue; color: darkblue; font-size:14px;  \" />";
function SessionChecker($type)
{
    if (isset($_SESSION[$type]) && !empty($_SESSION[$type])) {
        echo "Session $type is set as <b>" . $_SESSION[$type] . "</b><br/>";
    } else {
        echo "Session '$type' is not set <br/>";
    }
}

echo SessionChecker('title');
echo SessionChecker('content');
echo SessionChecker('category');
echo "</div>";
于 2013-03-19T00:07:07.537 に答える
2

session_start()すべてのページで呼び出しましたか?

session_start()セッションを作成するか、現在のセッションを再開するため、最初のページだけでなく、すべてのページの上部でこれを呼び出す必要があります。

于 2013-03-18T22:55:38.410 に答える