Witam szanownych forumowiczów, mam problem ze znalezieniem błędu, kilka godzin spędzonych nad szukaniem, głowa się zamknęła zamiast otworzyć.
Otóż mam standardowego connecta z bazą danych w php nic specjalnie odbiegającego od podręcznikowego wzoru, działające w innych moich projektach;
<?php
class Database
{
public $pdo;
public function __construct()
{
if (!isset($this -> pdo))
{
try
{
$this -> pdo = new PDO('mysql:Host=localhost;dbname=projekt', 'root', '');
$this -> pdo -> query("SET NAMES utf8");
}
catch (PDOException $e)
{
die("Błąd połączenia z bazą danych" .$e->getMessage());
}
}
}
}
?>
Dodatkowo klasę user
<?php
include_once 'Session.php';
include 'Database.php';
class User
{
public $db;
function __construct()
{
$this->db = new Database();
}
public function rejestruj($dane)
{
$stmt = $this->db->pdo->prepare('INSERT INTO uzytkownicy (email, password) VALUES(:email, :password)');
$stmt->execute (['email' => $dane['email'], 'password' => $dane['password'],]);
if ($stmt)
{
$msg = " Sukces ! ";
return $msg;
}
else
{
$msg = " Błąd ! ";
return $msg;
}
}
no i pliczek z formularzem
<?php
include 'header.php';
include 'classes/User.php';
?>
<?php
$user = new User();
if (isset($_POST['zarejestruj']))
{
$user->rejestruj($_POST);
}
?>
<form action="" method="POST">
<div class="form-group">
<label for="email"> Adres Email </label>
<input type="text" id="email" name="email" class="form-control">
</div>
<div class="form-group">
<label for="password"> Hasło </label>
<input type="password" id="password" name="password" class="form-control">
</div>
<div class="form-group">
<input type="submit" name="zarejestruj" id="submit" class="btn btn-default" value="Zarejestruj się" />
</div>
</form>
czyli standardowe dodawanie userka bez żadnej walidacji do bazy danych, w pliczku z formularzem odwołanie do metody z klasy user wszystko super trafia do tej metody wszystko działa do poziomu execute php nie krzyczy errorami nawet ponoć przechodzi ale do bazy danych nie trafia nic, pomimo podania właściwych danych itd. zwracam się do was użytkownicy może ktoś ma bystre oko i otwartą głowę, bo ja nie mogę znaleźć problemu, dzięki za wszelką pomoc :)
Ps. w executa wsadziłem też na próbę dane z palca zamiast ze zmiennej i też nie dotarło do bazy.