• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program PHP nie łączy się z bazą

Object Storage Arubacloud
0 głosów
492 wizyt
pytanie zadane 3 listopada 2022 w PHP przez mrc Nowicjusz (200 p.)

Cześć,

Mam problem z systemem logowania napisanym w PHP. Mam postawione środowisko na XAMPP oraz phpMyAdmin. Przygotowałem mechanizm logowania zgodnie z instruktarzem Pana Mirosława z odcinka drugiego o PHP, jednak po wpisaniu danych logowania w formularzu nie otrzymuję odpowiedzi z bazy.

dbconnect.php
<?php

  $host = "localhost";
  $db_user = "root";
  $db_password = "";
  $db_name = "timeline";

 ?>



login.php
<?php

  include 'dbconnect.php';
  require_once "dbconnect.php";

  $connection = new mysqli($host, $db_user, $db_password, $db_name); //or die("Connect failed: %s\n". $conn -> error);

  if($connection->connect_errno!=0)
  {
      echo "Error: ".$connection->connect_errno;
  }
  else {
    $login = $_POST['login'];
    $password = $_POST['password'];

    $sql = "SELECT * FROM identity WHERE user='$login' AND pass='$password'";

    if($result = @$connection->query($sql))
    {
      $user_count = $result->num_rows;
      if($user_count>0)
      {
        $row=$result->fetch_assoc();
        $Login = $row['Login'];

        $result->free_result();

        echo $Login;
      }
      else
      {

      }
    }

    $connection->close();
  }

  $login = $_POST['login'];
  $password = $_POST['password'];

 ?>
komentarz 3 listopada 2022 przez wizarddos Nałogowiec (25,930 p.)

Usuń @ z tej lini

$result = @$connection->query($sql)

i zobacz co wtedy otrzymasz

Przy okazji stosowanie @ jest złą praktyką a od PHP8 są już w ogóle nie wspierane

Warning

Prior to PHP 8.0.0, it was possible for the @ operator to disable critical errors that will terminate script execution. For example, prepending @ to a call of a function which did not exist, by being unavailable or mistyped, would cause the script to terminate with no indication as to why.

1 odpowiedź

+2 głosów
odpowiedź 3 listopada 2022 przez wizarddos Nałogowiec (25,930 p.)
wybrane 3 listopada 2022 przez mrc
 
Najlepsza

Jak nazywa się pole w bazie z loginem - 'Login' czy 'user'?

 

$sql = "SELECT * FROM identity WHERE user='$login' AND pass='$password'";
 
    if($result = @$connection->query($sql))
    {
      $user_count = $result->num_rows;
      if($user_count>0)
      {
        $row=$result->fetch_assoc();
        $Login = $row['Login'];

W tym fragmencie musisz zmienić albo nazwę kolumny w zapytaniu na 'Login', albo wartość zmiennej $Login na $row['user]

2
komentarz 3 listopada 2022 przez mrc Nowicjusz (200 p.)
Dzięki, nie zauważyłem!

Problem leżał tylko w tym zapytaniu SQL. Kolumna nazywa się Login i Password.

Problem rozwiązany :)

Podobne pytania

+1 głos
1 odpowiedź 192 wizyt
0 głosów
1 odpowiedź 347 wizyt
pytanie zadane 7 marca 2017 w C# przez PejtaM Użytkownik (550 p.)
+1 głos
2 odpowiedzi 263 wizyt
pytanie zadane 19 czerwca 2015 w PHP przez Piotr Czarnecki Nowicjusz (200 p.)

92,539 zapytań

141,382 odpowiedzi

319,477 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...