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

Wyświetla się błąd w php

42 Warsaw Coding Academy
0 głosów
154 wizyt
pytanie zadane 14 stycznia 2022 w PHP przez lukas1231233 Nowicjusz (240 p.)
<?php
session_start();

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

$conn=mysqli_connect($host, $db_user,$db_password, $db_name);

if($conn)
{
    echo "tak";
}
else{echo "nie";}

	if(isset($_POST['email'])) {
        $Jest_OK = true;
        $user = $_POST['user'];
        $imie = $_POST['imie'];
        $nazwisko = $_POST['nazwisko'];
        $ulica = $_POST['ulica'];
        $kraj = $_POST['kraj'];

        $email = $_POST['email'];
        $emailS = filter_var($email, FILTER_SANITIZE_EMAIL);

        $imie = htmlentities($imie, ENT_QUOTES, "UTF-8");
        $nazwisko = htmlentities($nazwisko, ENT_QUOTES, "UTF-8");

        if ((strlen($user) < 3) || (strlen($user) > 20)) {
            $Jest_OK = false;
            $_SESSION['e_user'] = "Nick musi posiadać od 3 do 20 znaków!";
        }

        if (ctype_alnum($user == false)) {
            $Jest_OK = false;
            $_SESSION['e_user'] = "Username może składać się tylko z liter i cyfr (bez polskich znaków)";
        }


        if ((strlen($imie) <= 1) || (strlen($imie) > 25)) {
            $Jest_OK = false;
            $_SESSION['e_pole'] = "Pole musi zawierać od 2 do 25 znaków i tylko litery";
        }


        if ((strlen($nazwisko) <= 1) || (strlen($nazwisko) > 25)) {
            $Jest_OK = false;
            $_SESSION['e_nazwisko'] = "Pole musi zawierać od 2 do 25 znaków i tylko litery";
        }


        if ((filter_var($emailS, FILTER_VALIDATE_EMAIL) == false) || ($emailS != $email)) {
            $Jest_OK = false;
            $_SESSION['email'] = "Wpisz poprawny adres E-mail";
        }


        $sekret = "6Lfp8QMeAAAAAOPkRGgcB9CdRNYqjPU8LELnoxuA";

        $sprawdz = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret=' . $sekret . '&response=' . $_POST['g-recaptcha-response']);

        $odpowiedz = json_decode($sprawdz);

        if ($odpowiedz->success==false) {
            $Jest_OK = false;
            $_SESSION['e_bot'] = "Potwierdź, że nie jesteś botem";
        }


        if ($odpowiedz->success==false) {
            $Jest_OK = false;
            $_SESSION['e_bot'] = "Potwierdź, że nie jesteś botem";
        }

        $haslo1 = $_POST['haslo1'];
        $haslo2 = $_POST['haslo2'];

        if ((strlen($haslo1) < 8) || (strlen($haslo1) > 20)) {
            $Jest_OK = false;
            $_SESSION['e_haslo'] = "Hasło musi zawierać od 8 do 20 znaków";
        }

        if ($haslo1 != $haslo2) {
            $Jest_OK = false;
            $_SESSION['e_haslo'] = "Podane hasła nie są identyczne";
        }

        $haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT);

        if (!isset($_POST['regulamin'])) {
            $Jest_OK = false;
            $_SESSION['e_regulamin'] = "Nie zaakceptowałeś regulaminu";
        }

        $_SESSION['fr_user'] = $user;
        $_SESSION['fr_email'] = $email;
        $_SESSION['fr_haslo1'] = $haslo1;
        $_SESSION['fr_haslo2'] = $haslo2;
        if (isset($_POST['regulamin'])) $_SESSION['fr_regulamin'] = true;


       mysqli_report(MYSQLI_REPORT_STRICT);


        try{


            if ($conn->connect_errno!=0) {
                throw new Exception(mysqli_connect_errno());
            } 
			else 
			{
                $result = $conn->query("SELECT * FROM uzytkownicy WHERE email='$email'");

                if (!$result) throw new Exception($conn->error);
                $result = $conn->query("SELECT * FROM uzytkownicy WHERE User='$user'");

                if (!$result) throw new Exception($conn->error);
                $ile_userow = $result->num_rows;

                if ($ile_userow > 0) 
				{
                    $Jest_OK = false;
                    $_SESSION['e_user'] = "Istnieje już konto o takiej nazwie Username";
                }
                $ile_maili = $result->num_rows;

                if ($ile_maili > 0) 
				{
                    $Jest_OK = false;
                    $_SESSION['e_email'] = "Istnieje już konto przypisane do tego adresu E-Mail";
                }

                if ($Jest_OK == true)
                {
                    if ($conn->query("INSERT INTO uzytkownicy 
						VALUES (NULL,'$user','$imie','$nazwisko','$email','$haslo_hash','$ulica','$kraj'"))
                    {
                        $_SESSION['udanarejestracja'] = true;
                        $_SESSION['udanarejestracja'] = "Jesteś zarejestrowany! Możesz się zalogować";
                        header("Location:Rejestracja.php");

                    }
                    else
                    {
                        throw new Exception($conn->error);
                    }

                }

                $conn->close();
            }
        }catch (Exception $e) {
            echo "Błąd serwera! Przepraszamy dokończ rejestrację w innym terminie! ";
            echo 'Informacja:' . $e;

        }
    }

?>

Nie mam pojęcia co jest źle, już sporo czasu szukam rozwiązania, poprawiam to i tamto i nadal nie wiem o co chodzi. Ten plik to Rejestracja.php, pod spodem jest kod html którego nie wklejam.

Treść błędu to :You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 2 in F:\xampp\htdocs\esklep\Rejestracja.php:148 Stack trace: #0 {main}

komentarz 14 stycznia 2022 przez VBService Ekspert (256,600 p.)

BTW, masz "zdublowany" kod linia: 66-75.  wink

1 odpowiedź

+1 głos
odpowiedź 14 stycznia 2022 przez SzkolnyAdmin Szeryf (89,610 p.)
Linia 139 przenieś cudzysłów pomiędzy nawiasy.

Podobne pytania

0 głosów
1 odpowiedź 368 wizyt
pytanie zadane 12 stycznia 2018 w PHP przez Xentis Początkujący (280 p.)
0 głosów
1 odpowiedź 650 wizyt
0 głosów
0 odpowiedzi 135 wizyt
pytanie zadane 15 lutego 2017 w PHP przez misiek.sz Bywalec (2,050 p.)

93,389 zapytań

142,385 odpowiedzi

322,547 komentarzy

62,749 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...