Nie moge sobie poradzić z tym błędem, proszę o pomoc. Z góry dziękuje :)!
Notice: Undefined variable: polaczenie in C:\xampp\htdocs\nauka2\rejestracja.php on line 48
Fatal error: Uncaught Error: Call to a member function query() on null in C:\xampp\htdocs\nauka2\rejestracja.php:48 Stack trac
connect.php
<?php
return [
'server' => 'localhost',
'user' => 'root',
'password' => '',
'dbName' => 'blog'];
try {
$polaczenie = new PDO("mysql:host='server';dbname='dbName'; charset=utf8",'user','password', [
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
} catch (PDOException $error) {
echo $error->getMessage();
exit('Database error');
}
rejestracja.php
<?php
session_start();
if (isset($_POST['add'])){
$nick = $_POST['nick'];
$haslo1 = $_POST['haslo1'];
$haslo2 = $_POST['haslo2'];
$email = $_POST['email'];
$wszystkoOK = true;
if ((strlen($haslo1)<8) || (strlen($haslo1)>20)){
$wszystkoOK = null;
$_SESSION['eHaslo'] = 'nick musi mniec od 3 do 20 znakow';
}
if(strlen($nick) < 2 || (strlen($nick)) > 20 ){
$wszystkoOK = null;
$_SESSION['eHaslo'] = 'za krotkie lub za dlugi haslo';
}
if($haslo1 != $haslo2){
$wszystkoOK = null;
$_SESSION['eHaslo'] = 'podaj takie samo haslo';
}
$haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT);
$emailB = filter_var($email, FILTER_SANITIZE_EMAIL);
if((filter_var($emailB, FILTER_VALIDATE_EMAIL)==false) || ($emailB!=$email)){
$wszystkoOK = null;
$_SESSION['eEmail'] = 'podaj poprawny mejl';
}
include "connect.php";
$rezultat = $polaczenie->query("SELECT id FROM dane WHERE imie='$nick'");
$ileNickow = $rezultat->num_rows;
if($ileNickow>0){
$wszystkoOK = null;
$_SESSION['eNick'] = 'istnieje juz taki nick';
}
$rezultat = $polaczenie->query("SELECT id FROM dane WHERE email='$emailB' ");
$ileMejlow = $rezultat->num_rows;
if($ileMejlow>0){
$wszystkoOK = null;
$_SESSION['eEmail'] = 'Panie takie cos juz istnieje';
}
if ($wszystkoOK==true)
{
if($polaczenie->prepare("INSERT INTO dane VALUES (NULL, '$nick','$haslo_hash', '$email')"))
$polaczenie->bindValue(':imie', $nick, PDO::PARAM_STR);
$polaczenie->bindValue(':haslo', $haslo1, PDO::PARAM_STR);
$polaczenie->bindValue(':email', $emaiB, PDO::PARAM_STR);
$polaczenie->execute();
{
$_SESSION['udanarejestracja']=true;
header('Location: admin.php');
}
}
$polaczenie->close();
}
?>
e: #0 {main} thrown in C:\xampp\htdocs\nauka2\rejestracja.php on line 48