过时的方法:不推荐的通知和警告

时间:2016-11-11 07:47:40

标签: php html mysql

我正在努力学习PHP& MYSQL,我做了这个代码,它似乎工作,但我有很多“警告”,我不知道他们的意思,无论如何php连接到数据库。代码如下:

myPgae.php “主要”页面

<!DOCTYPE HTML>
<html>
<head>
    <link rel="stylesheet" href='http://localhost/prove/librerie/bootstrap/css/bootstrap.css'></script>
    <script type="text/javascript" src='http://localhost/prove/librerie/angular.min.js'></script>
    <script type="text/javascript" src='http://localhost/prove/librerie/bootstrap/js/bootstrap.min.js'></script>
<body>
    <form action="procces.php" method="POST">
        <div class="text-info identazione" class="identazione">Username : </div><input lass="form-control" type="text" name="username"/>
        <div class="text-info identazione">Password : </div><input type="text" name="password"/>
        <div class="identazione"><input class=" btn btn-success" type="submit"/></div>
    </form>
</body>
</head>

<style>
    body {
        padding : 50px;
    }   
    .identazione{
        padding: 12px;
    }

</style>

process.php

    <?php 
//da myPage a variabili locale
    $username = $_POST['username'];
    $password = $_POST['password'];
//per prevenire mysql injection
    $username= stripcslashes($username);
    $password= stripcslashes($password);
    $username= mysql_real_escape_string($username);
    $password= mysql_real_escape_string($password);
//connessione al server e selezione database
    mysql_connect("localhost","root","");
    mysql_select_db("login");
//query al database per utente
    $risultato= mysql_query("select * from utenti where username = '$username' and password = '$password' ") or die("Utente non trovato, verificare le credenziali".mysql_error());
    $riga = mysql_fetch_array($result);
    if($riga['username']==$username && $riga['password']==$password){
        echo "Login effettuato. Benvenuto".$riga['username'];
    }
    else
        echo "Login errato. Reinserisci i dati";

?>

这是警告的证据

warnings

此外,如果它可以帮助您,我正在使用Chrome并使用Wampp。我在意大利语中写道,我希望这不是问题,无论如何我创建了数据库它的名字是:登录,用用户名,密码和id定义。我的creata是一个usertest和userpass,如果我尝试登录,但它们有相同的错误

更新:

我改变了risutato的结果,这是我的错误,现在只是两个警告,无论如何我必须更新我的知识,我正在研究过时的来源

enter image description here

2 个答案:

答案 0 :(得分:0)

在你继续前进之前停止,你正在使用日期方法,并且需要在进一步阅读之前做一些阅读。

不再支持mysql,使用注入攻击很危险。建议您阅读本文并开始了解如何使用它进行数据库查询 - https://code.tutsplus.com/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net-12059

如果您愿意,也可以使用mysqli,但我建议使用PDO。

接下来你需要看看安全性,你将密码存储为普通测试,这很糟糕。为了提供合适的安全级别,我建议你在这里阅读 - http://php.net/manual/en/function.password-hash.php

这可让您了解如何使用password_hash()函数以及password_verify()函数。

希望这有帮助。

答案 1 :(得分:-1)

为了您自己的安全:只是不要使用mysql_connect!

切换到mysqli或pdo。

无论如何要隐藏/禁止您在页面顶部执行的弃用警告,请使用以下命令:

error_reporting(E_ALL ^ E_DEPRECATED);
error_reporting(0);