2016-11-11 2 views
-2

Я пытаюсь изучить PHP & MYSQL, я сделал этот код, кажется, работает, но у меня много «предупреждений», я не знаю, что они означают, так или иначе php подключается к db. Вот коды:Методы устаревания: устаревшее уведомление и предупреждение

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. Я написал в итальянских коментах, надеюсь, что это не проблема, так или иначе я создал db, это имя: логин, определяемый с помощью имени пользователя, пароля и идентификатора. Я Creata в usertest и UserPass, и они работают, если я пытаюсь поставить в авторизации, но с теми же ошибками

UPDATE:

меняю в результате risutato, это моя ошибка, и теперь только два предупреждения в любом случае я должен обновить свой knowlage, я работаю на отсталые источники

enter image description here

+2

** Устаревшие ** не ** Удалены **. Какую версию вы используете? '$ risultato! = $ result'. –

+0

@Chris Я видел ti, но не помог мне, я снова посмотрю его – Teshtek

+0

И посмотрим также http: // stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index для этой «Неопределенной переменной». – Qirel

ответ

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

В чем разница между PDO и mysqli? Хорошо, теперь я ищу пароль hash.Anyway, вы помогаете мне – Teshtek

+1

Это будет объясните разницу лучше, чем я могу - http://stackoverflow.com/questions/2190737/what-is-the-difference-between-mysql-mysqli-and-pdo – Blinkydamo

-1

Для вашей безопасности: просто не используйте mysql_connect!

Переключиться на mysqli или pdo.

Во всяком случае, чтобы скрыть/подавить устаревшие предупреждения, вы можете сделать на верхней части страницы использования этого:

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

Смежные вопросы