0

アカウントのユーザー名をwelcome.phpに表示するコードを探しています

私のchecklogin.phpコードはここにあります:

 <?php
            mysql_connect('localhost', 'root', '');
            mysql_select_db('bloodneeded');


            $username = $_POST['uname'];
            $password = $_POST['pass'];


            $sql = "SELECT * FROM welcome WHERE username= '$username' AND  password= '$password'";
            $result = mysql_query($sql);
            if ($result) {

                $count = mysql_num_rows($result);

                if ($count == 1) {

                    session_register("uname");
                    session_register("pass");
                    header("location:Welcome.php");
                } else {

                    echo "Wrong Username or Password";
                }
            }
            ?>

そしてwelcome.phpコードはここにあります:

<p id="form1"> Welcome  </p>

私が欲しいのは、ようこそ近くに「エコー」することです。ログインしているユーザーの名前を教えてください。

4

3 に答える 3

2

の使用session_register()は非推奨です。

代わりに、$_SESSION[]スーパーグローバルを使用してください。

<?php

//You must write
if (!isset($_SESSION)) 
{
    session_start();
}
//on very first lines of your pages.


        mysql_connect('localhost', 'root', '');
        mysql_select_db('bloodneeded');


        $username = $_POST['uname'];
        $password = $_POST['pass'];


        $sql = "SELECT * FROM welcome WHERE username= '$username' AND  password= '$password'";
        $result = mysql_query($sql);
        if ($result) {

            $count = mysql_num_rows($result);

            if ($count == 1) {

                $_SESSION["uname"] = $_POST['uname'];
                //$_SESSION["pass"] = $_POST['pass']; No need to store password I think.
                header("location:Welcome.php");
            } else {

                echo "Wrong Username or Password";
            }
        }
        ?>

ユーザー名を取得した後

<p id="form1"> Welcome <?php echo $_SESSION["uname"]; ?> </p>
于 2013-03-20T20:32:34.690 に答える
0

session_register() 関数は非推奨であることに注意してください。代わりに $ _SESSIONを使用できます。

  1. session_start();最初:すべてのページの上に呼び出す必要があります
  2. 使用:$_SESSION['uname'] = 'some value';最初のページで。
  3. echo $_SESSION['uname'];ウェルカム ページでセッションを印刷します。
于 2013-03-20T20:31:25.250 に答える
0
  1. 非推奨の拡張である mysql_ を使用しないでください。http://oleaass.com/why-people-needs-to-stop-using-the-mysql-extension/

代わりに PDO を使用してください。2. show の P タグに id="form1" という名前を付けていただければ幸いです。

<?php
session_start();

$session_uname = '';
if(!empty($_SESSION['uname']))
{
   $session_uname = htmlspecialchars($_SESSION['uname'], ENT_QUOTES);
} else
{
   // some fancy redirect to login page
}

?>

<input type="text" id="username" value="<?php echo $session_uname; ?>" />
于 2013-03-20T20:39:25.130 に答える