0

セッションを使用して、ユーザーがフォームに入力したものを保存し、入力したものが他のページに表示されます。

それは完全に正常に機能していましたが、すべてのサーバーがアップロードされた後、私のコードは完全に私のコードを実行してしまい、道に迷ってしまいました。

誰かが間違いを見つけることができるかどうかを確認できますか? 新鮮な目が必要です。

HTML。

    <div id="form"><!--Form Start-->

<form action="home.php" method="post">

    <p>Enter Name <input type="text" id="full_name" name="fullName"    class="name_input"/>

<input type="submit" name="submit"  value="Submit" />

</p>

    </form>

    </div><!--Form end-->

PHP。

    <?php
session_start(); // declaring the variable

if(isset($_POST['fullName'])){ //setting the variable 

    if(empty($_POST['fullName'])){ //if empty dont to nothing but my wep page will reload

    }else{ //if they have do this

        $_SESSION['fullName'] = $_POST['fullName']; //get the session for the name (From the from)


        header("Location: home.php"); //then will direct the user to the home page (will also display name on each page)
    }}
    ?>

他のページでのセッション

                  <div id="echo"> <!-- div ECHO start -->           
                                  <?php


                   echo $_SESSION['fullName']
             ?>                  
            </div>  <!--div ECHO end -->    
4

5 に答える 5

3
$_SESSION['fullName'] = $_POST['fullName'];
session_register(fullName);

このコードに置き換えてみてください

于 2013-05-03T04:51:24.477 に答える
0

オリジンで設定できない値を home.php に「投稿」しています$_SESSION['fullName'] = $_POST['fullName']

変化する

<form action="home.php" method="post">

<form action="name_of_the_first_script.php" method="post">

$_POST['fullName']リダイレクト前には存在しません。

以下はすべてがどのように見えるかです (ページ index.php を呼び出さないように):

<div id="form"><!--Form Start-->
    <form action="index.php" method="post">
        <p>Enter Name <input type="text" id="full_name" name="fullName" class="name_input"/>
            <input type="submit" name="submit"  value="Submit" />
        </p>
    </form>
</div><!--Form end-->

送信を押した後、index.phpが反応し、この時点で$_POSTリクエストはその条件を意味します

if(isset($_POST['fullName'])){

が true になり、PHP コードが実行され、変数が設定され、以前に設定されたファイルを読み取ることができる場所に$_SESSIONリダイレクトされます。home.php$_SESSIONindex.php

これでもっと明確になることを願っています!:)

于 2013-05-03T04:48:54.587 に答える
0

データを表示するはずのリダイレクト先のページに session_start() を追加する必要があります。

また、(お気づきだと思いますが)投稿したものには、次のようなデータを出力するものは何もありません。

<input type="text" name="fullName" value="<?php echo $_SESSION['fullName']; ?>"/>
于 2013-05-03T04:44:07.240 に答える
0

他のページでもセッションを開始し、スクリプトがそのセッションを設定しないようにする必要があります。ヘッダーの場所の後、ここで使用する必要がありexitます。

 <?php session_start();?>
  <div id="echo"> <!-- div ECHO start -->           
  <?php
     echo $_SESSION['fullName'];
   ?>      

ヘッダーの場所の後に exit を使用する必要があります:-

 header('location: home.php');
 exit;         
于 2013-05-03T04:42:31.870 に答える
0

デフォルトがあるため、div id フォームをその他に変更し、 isset 関数を追加するため、空の関数を削除します。

これを使って。

<div id="myform"><!--Form Start-->

<form action="home.php" method="post">

<p>Enter Name <input type="text" id="full_name" name="fullName" class="name_input"/>

<input type="submit" name="submit" value="Submit" />

</p>

</form>

</div><!--Form end-->

PHP。

<?php
session_start(); 

if(isset($_POST['fullName']))
{ 

    $_SESSION['fullName'] = $_POST['fullName']; //get the session for the name (From the from)

    header("Location: home.php");
    exit(); 

}
?>

他のページでのセッション。

<div id="echo"> <!-- div ECHO start -->           
<?php
 session_start();
 print_r($_SESSION);
 echo $_SESSION['fullName'];

?>                  
</div>  <!--div ECHO end --> 

参考になるかもしれません。何か問題があればお知らせください。

于 2013-05-03T05:24:46.797 に答える