Dopiero zaczynam Swoją przygodę z PHPem, i nie mogę odnaleźć błędu w tym kodzie.. Może pomożecie?
Cały czas wyskakuje ten błąd:
Cytat
Wystąpił błąd w zapytaniu do bazy danych.
Oczywiście WIem , że ja go napisałem w przypadku nie poprawnej integralności z bazą danych, ale mimo to nie mogę sobie z tym poradzić, bardzo proszę o momoc
<?php // Ładowanie plików: require_once("config.php"); // Łączenie się z bazą danych $dbc = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PW, DB_DB) // Pobieram dane z formularza: // Jeśli któreś z pól jest puste, wykonaj: mysqli_close($dbc); return false; }else{ // W przypadku, gdy wszestkie pola są uzupełnione, wykonaj: // Sprawdź, czy hasła pasują do siebie: if($user_password1 !== $user_password2){ // Jeśli hasło1 nie pasuje do hasła2 wywal błąd: return false; }else{ // Sprawdź, czy nie ma już użytkownika w bazie danych o podanych danych: $query =
"SELECT * FROM users WHERE username == '$user_username'"
; $date = mysqli_query($dbc, $query) if(mysqli_num_rows($date) !== 0){ // Jeśli wynik spawdzenia okaże się różny od 0, wypisz błąd: echo "<p class='error'>W Naszej bazie danych znajduje się już użytkownik o podanej przez Ciebie nazwie, bądź adresie email.</p>"; return false; }else{ // Jęśli nie ma użytkownika o podanych danych w bazie danych: $query =
"INSERT INTO users (id, joindate, username, password, email) VALUES (NULL, NOW(), '$user_username', SHA1('$user_password1'), '$user_email1')"
; mysqli_query($dbc, $query) mysqli_close($dbc); } } } }else{ // Gdy formularz nie został jeszcze wysłany. ?>
A tu w normalniej nie formatowanej wersji:
Kod
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Rejestracja w serwisie</title>
</head>
<body>
<?php
// Ładowanie plików:
require_once("config.php");
if(isset($_POST['submit'])){
// Łączenie się z bazą danych
$dbc = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PW, DB_DB)
or die('Wystąpił błąd połączenia z bazą danych');
// Pobieram dane z formularza:
$user_username = mysqli_real_escape_string($dbc, trim($_POST['user_login']));
$user_password1 = mysqli_real_escape_string($dbc, trim($_POST['user_password1']));
$user_password2 = mysqli_real_escape_string($dbc, trim($_POST['user_password2']));
$user_email1 = mysqli_real_escape_string($dbc, trim($_POST['user_email1']));
$user_email2 = mysqli_real_escape_string($dbc, trim($_POST['user_email2']));
if(empty($user_username) || empty($user_password1) || empty($user_password2) || empty($user_email1) || empty($user_email1)){
// Jeśli któreś z pól jest puste, wykonaj:
echo "<p class='error'>Nie wszystkie pola zostały uzupełnione!</p>";
mysqli_close($dbc);
return false;
exit();
}else{
// W przypadku, gdy wszestkie pola są uzupełnione, wykonaj:
// Sprawdź, czy hasła pasują do siebie:
if($user_password1 !== $user_password2){
// Jeśli hasło1 nie pasuje do hasła2 wywal błąd:
echo "<p class='error'>Hasła nie pasują do siebie!</p>";
return false;
exit();
}else{
// Sprawdź, czy nie ma już użytkownika w bazie danych o podanych danych:
$query = "SELECT * FROM users WHERE username == '$user_username'";
$date = mysqli_query($dbc, $query)
or die('<p class="error">Wystąpił błąd w zapytaniu do bazy danych.</p>');
if(mysqli_num_rows($date) !== 0){
// Jeśli wynik spawdzenia okaże się różny od 0, wypisz błąd:
echo "<p class='error'>W Naszej bazie danych znajduje się już użytkownik o podanej przez Ciebie nazwie, bądź adresie email.</p>";
return false;
exit();
}else{
// Jęśli nie ma użytkownika o podanych danych w bazie danych:
$query = "INSERT INTO users (id, joindate, username, password, email) VALUES (NULL, NOW(), '$user_username', SHA1('$user_password1'), '$user_email1')";
mysqli_query($dbc, $query)
or die('<p class="error">Wystąpił błąd przy dodawaniu użytkownika do bazy danych</p>');
echo "<p>Użytkownik został poprawnie dodany do bazy danych.</p>";
mysqli_close($dbc);
}
}
}
}else{
// Gdy formularz nie został jeszcze wysłany.
?>
<form method="post" action="">
<input type="text" name="user_login" placeholder="Login" /><br>
<input type="password" name="user_password1" placeholder="Hasło" /><br>
<input type="password" name="user_password2" placeholder="Powtórz hasło" /><br>
<input type="email" name="user_email1" placeholder="Adres e-mail" /><br>
<input type="email" name="user_email2" placeholder="Potwierdź adres e-mail" /><br>
<input type="submit" name="submit" value="Rejestruj" />
<input type="reset" name="reset" value="Wyczyść" />
</form>
<?php
}
?>
</body>
</html>
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Rejestracja w serwisie</title>
</head>
<body>
<?php
// Ładowanie plików:
require_once("config.php");
if(isset($_POST['submit'])){
// Łączenie się z bazą danych
$dbc = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PW, DB_DB)
or die('Wystąpił błąd połączenia z bazą danych');
// Pobieram dane z formularza:
$user_username = mysqli_real_escape_string($dbc, trim($_POST['user_login']));
$user_password1 = mysqli_real_escape_string($dbc, trim($_POST['user_password1']));
$user_password2 = mysqli_real_escape_string($dbc, trim($_POST['user_password2']));
$user_email1 = mysqli_real_escape_string($dbc, trim($_POST['user_email1']));
$user_email2 = mysqli_real_escape_string($dbc, trim($_POST['user_email2']));
if(empty($user_username) || empty($user_password1) || empty($user_password2) || empty($user_email1) || empty($user_email1)){
// Jeśli któreś z pól jest puste, wykonaj:
echo "<p class='error'>Nie wszystkie pola zostały uzupełnione!</p>";
mysqli_close($dbc);
return false;
exit();
}else{
// W przypadku, gdy wszestkie pola są uzupełnione, wykonaj:
// Sprawdź, czy hasła pasują do siebie:
if($user_password1 !== $user_password2){
// Jeśli hasło1 nie pasuje do hasła2 wywal błąd:
echo "<p class='error'>Hasła nie pasują do siebie!</p>";
return false;
exit();
}else{
// Sprawdź, czy nie ma już użytkownika w bazie danych o podanych danych:
$query = "SELECT * FROM users WHERE username == '$user_username'";
$date = mysqli_query($dbc, $query)
or die('<p class="error">Wystąpił błąd w zapytaniu do bazy danych.</p>');
if(mysqli_num_rows($date) !== 0){
// Jeśli wynik spawdzenia okaże się różny od 0, wypisz błąd:
echo "<p class='error'>W Naszej bazie danych znajduje się już użytkownik o podanej przez Ciebie nazwie, bądź adresie email.</p>";
return false;
exit();
}else{
// Jęśli nie ma użytkownika o podanych danych w bazie danych:
$query = "INSERT INTO users (id, joindate, username, password, email) VALUES (NULL, NOW(), '$user_username', SHA1('$user_password1'), '$user_email1')";
mysqli_query($dbc, $query)
or die('<p class="error">Wystąpił błąd przy dodawaniu użytkownika do bazy danych</p>');
echo "<p>Użytkownik został poprawnie dodany do bazy danych.</p>";
mysqli_close($dbc);
}
}
}
}else{
// Gdy formularz nie został jeszcze wysłany.
?>
<form method="post" action="">
<input type="text" name="user_login" placeholder="Login" /><br>
<input type="password" name="user_password1" placeholder="Hasło" /><br>
<input type="password" name="user_password2" placeholder="Powtórz hasło" /><br>
<input type="email" name="user_email1" placeholder="Adres e-mail" /><br>
<input type="email" name="user_email2" placeholder="Potwierdź adres e-mail" /><br>
<input type="submit" name="submit" value="Rejestruj" />
<input type="reset" name="reset" value="Wyczyść" />
</form>
<?php
}
?>
</body>
</html>
bardzo proszę o pomoc