簡體   English   中英

我有一些php登錄問題

[英]I am having some php login issues

我有一個奇怪但很簡單的登錄問題。 在此處使用代碼時,會話部分會出現問題。 驗證登錄信息可以正常工作,但是在成功登錄時不會重定向。 如果我注釋掉會話信息,則可以正常工作。 這既發生在我的process-login.php頁面上,也發生在我的success.php頁面上。 任何想法將不勝感激。

先感謝您。

這是我的登錄頁面:

    <form action="process-login.php" method="post">
     <fieldset>
      <legend>Login Form</legend>
      <label for="username">Username:</label>
      <input type="text" id="username" name="username" />
      <label for="password">Password:</label>
      <input type="password" id="password" name="password" />
      <button type="submit">Send</button>
     </fieldset>
    </form>

這是我的過程登錄頁面:

    <?php

    ob_start();
    // Set form data as variables

    $myusername=$_POST['username'];
    $mypassword=$_POST['password'];

    // DB login
    $host="localhost";
    $username="root";
    $password="pass1";
    $db_name="contact";
    $tbl_name="users";

    // Open database connection
    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");

    // Query with data
    $query="SELECT * from $tbl_name where username='$myusername'
    and password='$mypassword'";
    $result=mysql_query($query);

    // Check for entry
    $count=mysql_num_rows($result);

    // If it matches register and send on
    if($count==1){
    session_start("username");
    session_start("password");
    header("location:success.php");
    }
    else {
    echo "Wrong!";
    }
    ob_end_flush();
    ?>

最后,這是我的成功頁面:

    <?php
    session_start();
    if(!isset($_SESSION['username'])){
    header("location:login.php");
    }
    else
    {
    echo "Welcome";
    }
    ?>

請讓我知道是否需要更多信息

session_start()創建一個會話。 它不需要任何參數。

要在會話中存儲數據,您需要$_SESSION['foo'] = $bar;

首先轉到PDO。 二讀有關session_start()和如何設置$ _SESSION vars。

 session_start();
 $_SESSION['username']='me';
 if(!isset($_SESSION['username'])){
      header("Location:login.php");
 }

您只需調用一次session_start() 通過超級全局變量為您的會話注冊var:

session_start();
$_SESSION['username'] = $myusername;
$_SESSION['password'] = $mypassword;

然后,您可以在session_start()之后在任何站點上使用$_SESSION['password']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM