我剛開始學習一些關於PHP和會話的知識(使用XAMPP運行PHP腳本)。PHP登錄腳本中的疑問
在我開始之前,我正在看一些視頻並閱讀幾本書。
我在這裏得到的東西是從我看到關於PHP和會話的視頻中得到的。我在這裏有一個小問題,那就是視頻中的人沒有。
這是我的login.php代碼:
<?php
session_start(); // Starting Session
$error = ''; // Variable To Store Error Message
if (isset($_POST['submit'])) {
if (empty($_POST['username']) || empty($_POST['password'])) {
$error = "Brukernavn eller passord er ugyldig!";
} else {
// Define $username and $password
$username = $_POST['username'];
$password = $_POST['password'];
// Establishing Connection with Server by passing server_name, user_id and password as a parameter
$connection = mysql_connect("localhost", "root", "");
// To protect MySQL injection for Security purpose
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
// Selecting Database
$db = mysql_select_db("logintest", $connection);
// SQL query to fetch information of registerd users and finds user match.
$query = mysql_query("select * from users where password='$password' AND username='$username'", $connection);
$rows = mysql_num_rows($query);
if ($rows == 1) {
$_SESSION['login_user']=$username; // Initializing Session
header("location: profile.php"); // Redirecting To Other Page
} else {
$error = "Brukernavn eller passord er ugyldig!";
}
mysql_close($connection); // Closing Connection
}
}
?>
現在當我嘗試登錄並使用正確的用戶名我得到這個錯誤:
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in
C:\xampp\htdocs\gauldaldesign\login.php:14 Stack trace: #0
C:\xampp\htdocs\gauldaldesign\index.php(2): include() #1 {main} thrown in
C:\xampp\htdocs\gauldaldesign\login.php on line 14
任何人都可以解釋這意味着什麼。也許問題可能是什麼? 也許不是答案,但至少指出我在正確的方向,以便我可以從我的錯誤中吸取教訓。
不管你做什麼,**不要因爲它們都構成一種已知的安全風險,您的應用程序使用mysql **功能。使用替代方法,如'mysqli'(注意** i **或PDO)。如果你看看官方文檔,你會看到相同的警告:http://php.net/manual/en/function.mysql-connect.php - 如果你願意,我還會建議使用更新版本的PHP正在開始,例如5.6起或7+。 – Optimae
PHP 7中不再提供mysql API。無論如何,您應該使用mysqli或PDO。 –
其實,您使用的是@learningwebdev的哪個版本的PHP?如果你的版本高於'5.5.0',那麼這就解釋了爲什麼你不能使用'mysql_connect()'(你不應該使用它)。 – Optimae