Utworzyłem prosty kod PHP o następującej treści:
<?php { } $registration = true; { $_SESSION['error_email_repeat'] = "<span style='color: red'>E-mail musi być identyczny!</span><br>"; $registration = false; } { $_SESSION['error_password'] = "<span style='color: red'>Hasło musi zawierać przynajmniej 8 znaków!</span><br>"; $registration = false; } { $_SESSION['error_password_repeat'] = "<span style='color: red'>Hasła muszą być identyczne!</span><br>"; $registration = false; } if($_SESSION['token'] != $_POST['token']) { $_SESSION['error_token'] = "<br><span style='color: red'>Źle przepisany token!</span>"; $registration = false; } { $_SESSION['error_rules'] = "<span style='color: red'>Nie zaakceptowano regulaminu!</span><br>"; $registration = false; } if($registration == true) { require_once 'connect.php'; $question = @$connect -> query( mysqli_real_escape_string($email))); if($question == true) { if(mysqli_num_rows($question) != 0) $_SESSION['error_email'] = "<span style='color: red'>Ten e-mail jest już zajęty!</span><br>"; { $hash_password = hash('md5', $password); $question = @$connect -> query( mysqli_real_escape_string($email), mysqli_real_escape_string($hash_password))); if($question == true) { require_once('class.phpmailer.php'); require_once('class.smtp.php'); $mail = new PHPMailer(); $mail -> From = ""; $mail -> FromName = ""; $mail -> AddReplyTo("", "mailing"); $mail -> Host = ""; $mail -> Mailer = "smtp"; $mail -> SMTPAuth = true; $mail -> Username = ""; $mail -> Password = ""; $mail -> Port = ; $mail -> Subject = ""; $mail -> Body = ""; $mail -> AddAddress ($email, ""); if($mail -> Send()) { $_SESSION['registration'] = "<span style='color: green'>Rejestracja powiodła się!</span>"; } else echo "Twoje konto zostało utworzone! Jednakże wystąpił błąd z wysłaniem e-mail'a autoryzującego, skontaktuj się z administratorem!"; } else } else } else } else $connect -> close(); ?>
Jest to system rejestracji konta. Problem pojawił się w chwili kiedy dodałem następujące funkcję:
htmlentities() - w linii: 11, 12, 14, 26;
mysqli_real_escape_string() - w linii: 53, 66, 67;
Ta modyfikacja miało zapobiec tak zwanemu "wstrzykiwaniu sql". Nie wiem czy działa czy nie, gdyż po utworzeniu konta za pośrednictwem powyższego kodu, wartości zapisane w bazie danych są niewidoczne (wygląda to mniej więcej tak jak na obrazku poniżej).

Bardzo proszę o pomoc, w czym może tkwić problem?
Pozdrawiam