divinity02 Ответов: 2

Что, кажется, не так с моим login.php код?


у меня есть страница входа в систему, и по какой-то причине я не могу войти в систему. страница входа в систему прикреплена к странице вставки php, которая является login.php

какую бы ошибку он ни имел, я исправил ее хорошо, по крайней мере ту ошибку, которую я видел, но когда я сделал исправление, страница стала пустой.

Я думаю, что там тоже есть ошибка, которую я не вижу, я проверил все свои скобки только для того, чтобы посмотреть, не пропустил ли я одну или не поставил ни одной точки с запятой или чего-то еще, но я ничего не вижу,

может ли кто-нибудь бросить мне лишнюю пару глаз, потому что я должен сдать это через два дня?

Что я уже пробовал:

Итак вот мой код
if(isset($_POST['submit'])))
{
     $screenname=$_POST['screenname'];
      $mypwd=$_POST['mypwd'];

       include'db_server.php //connection code to the db 
       
        $sql ="SELECT * FROM members WHERE $screenname=$screenname' AND 
        mypwd=md5('mypwd');

         $result=mysqli_query($conn, $sql) or die("ERROR: '.mysqli_error($conn);
        
         $rowcount=mysqli_num_rows($result);
         
         if($rowcount == 1)
         {
             session_start();
             $_session['view']=$screenname;
             header("location:\..php/featureNationalWonders.php";
         }
         else
        {
           echo "
           window.location:\../xhtml/login.html\"
           
        }

/pre>

2 Ответов

Рейтинг:
2

Richard MacCutchan

То include, $sql и mysqli_query операторы, по-видимому, не содержат завершающих символов кавычек.


Рейтинг:
0

Patrice T

$sql ="SELECT * FROM members WHERE $screenname=$screenname' AND 
        mypwd=md5('mypwd');

Не обязательно решение вашего вопроса, но у вас есть еще одна проблема.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? - Обмен Стеками Информационной Безопасности[^]