Cześć mam kod php i do tego oczywiście formularz i męczę się już 2 dni i nie mogę znaleźć błędu :
Normalnie kod php się wykonuje ale nie wstawia rekordu do bazy danych, ale baza też działa pod względem że bez pośrednio na bazie da się wstawić rekord:
<?php
session_start();
if (isset($_POST['email']))
{
$wszystko_OK=true;
$login = $_POST['login'];
if ((strlen($login)<3) || (strlen($login)>20))
{
$wszystko_OK=false;
$_SESSION['e_nick']="Nick musi posiadać od 3 do 20 znaków!";
}
if (ctype_alnum($login)==false)
{
$wszystko_OK=false;
$_SESSION['e_nick']="Nick może składać się tylko z liter i cyfr (bez polskich znaków)";
}
$email = $_POST['email'];
$emailB = filter_var($email, FILTER_SANITIZE_EMAIL);
if ((filter_var($emailB, FILTER_VALIDATE_EMAIL)==false) || ($emailB!=$email))
{
$wszystko_OK=false;
$_SESSION['e_email']="Podaj poprawny adres e-mail!";
}
$password1 = $_POST['password1'];
$password2 = $_POST['password2'];
if ((strlen($password1)<8) || (strlen($password1)>20))
{
$wszystko_OK=false;
$_SESSION['e_haslo']="Hasło musi posiadać od 8 do 20 znaków!";
}
if ($password1!=$password2)
{
$wszystko_OK=false;
$_SESSION['e_haslo']="Podane hasła nie są identyczne!";
}
$password_hash = password_hash($password1, PASSWORD_DEFAULT);
$connect = new PDO('mysql:host=localhost;dbname=blogi', 'root', '');
$result_email = $connect->prepare("SELECT id FROM uzytkownicy WHERE email=:email");
$result_email->bindValue(':email', $email);
$count_email = $result_email->rowCount();
if($count_email>0)
{
$wszystko_OK=false;
$_SESSION['e_email']="Istnieje już konto przypisane do tego adresu e-mail!";
}
$result_login = $connect->prepare("SELECT id FROM uzytkownicy WHERE login=:login");
$result_login->bindValue(':login', $login);
$count_login = $result_login->rowCount();
if($count_login>0)
{
$wszystko_OK=false;
$_SESSION['e_nick']="Istnieje już gracz o takim nicku! Wybierz inny.";
}
if ($wszystko_OK==true)
{
$user = $connect->Prepare("INSERT INTO uzytkownicy VALUES (NULL, :login, :email, :password_hash)");
$user->bindValue(':login', $login);
$user->bindValue(':email', $email);
$user->bindValue(':password_hash', $password_hash);
}
}
?>