我刚开始学习一些关于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