Witam,
Problem polega na tym że skrypt łączy się z bazą ale konta z tym samym loginem można cały czas tworzyć.
Oto błąd jaki wyskakuje:
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given in D:\Baza\www\rejestracja.php on line 32
A to kod:
<?php
$servername = "localhost";
$user = "root";
$pass = "";
$dbname = 'db101';
$link = mysqli_connect($servername, $user, $pass, $dbname);
if($link)
{
echo "Nawiązano połączenie z bazą danych";
}
else {
echo "Nie można nawiązać połączenia z bazą danych";
}
function filtruj($zmienna)
{
if(get_magic_quotes_gpc())
$zmienna = stripslashes($zmienna);
return mysqli_real_escape_string(htmlspecialchars(trim($zmienna)));
}
if (isset($_POST['rejestruj']))
{
$login = ($_POST['login']);
$haslo1 = ($_POST['haslo1']);
$haslo2 = ($_POST['haslo2']);
$email = ($_POST['email']);
$ip = ($_SERVER['REMOTE_ADDR']);
if (mysqli_num_rows(mysqli_query($link, "SELECT login FROM uzytkownicy WHERE login = ".$login."")) == 0)
{
if ($haslo1 == $haslo2)
{
mysqli_query($link, "INSERT INTO `uzytkownicy` (`login`, `haslo`, `email`, `rejestracja`, `logowanie`, `ip`) VALUES ('".$login."', '".$haslo1."', '".$email."', '".time()."', '".time()."', '".$ip."')");
echo "Konto zostało utworzone!";
}
else echo "Hasła nie są takie same";
}
else echo "Podany login jest już zajęty.";
}
?>