![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 3.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam !
Próbuję do formularza dodać listę rozwijalną Jak to zrobić? Jestem w tym temacie zielony. Moje próby kończą się komunikatem Fatal error: Call to a member function fetch_row() on a non-object in C:\xampp\htdocs\zarejestruj\register.php on line 19 a to listing: <?php require 'config.php'; if ($_POST) { // Zabezpiecz dane z formularza przed kodem HTML i ewentualnymi atakami SQL Injection // Nie ma konieczności filtrowania haseł, bo one i tak zostaną zahashowane przed wstawieniem // do bazy danych $login = $db->real_escape_string(htmlspecialchars(trim($_POST['login']))); $password = $_POST['password']; $passwordVerify = $_POST['password_v']; $email = $db->real_escape_string(htmlspecialchars(trim($_POST['email']))); $emailVerify = $db->real_escape_string(htmlspecialchars(trim($_POST['email_v']))); $produkcja = $db->real_escape_string(htmlspecialchars(trim($_POST['produkcja']))); // Sprawdź czy podane przez użytkownika email lub login nie są zajęte $checkLogin = $db->query("SELECT COUNT(*) FROM users WHERE login = '$login'")->fetch_row(); $checkEmail = $db->query("SELECT COUNT(*) FROM users WHERE email = '$email'")->fetch_row(); // Podstawowa walidacja formularza $errors = array(); if (empty($login) || empty($email) || empty($emailVerify) || empty($password) || empty($passwordVerify) || empty($produkcja)) { $errors[] = 'Proszę wypełnić wszystkie pola'; } if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $errors[] = 'Podany adres e-mail jest niepoprawny'; } if ($checkLogin[0] > 0) { $errors[] = 'Ten login jest już zajęty'; } if ($checkEmail[0] > 0) { $errors[] = 'Ten e-mail jest już używany'; } if ($password != $passwordVerify) { $errors[] = 'Podane hasła się nie zgadzają'; } if ($email != $emailVerify) { $errors[] = 'Podane adresy e-mail się nie zgadzają'; } // Jeśli wystąpiły jakieś błędy, to je pokaż if (!empty($errors)) { foreach ($errors as $error) { echo '<p class="error">'.$error.'</p>'; } } else { // Blędów nie ma, możemy kontynuować rejestrację $password = password_hash($password, PASSWORD_BCRYPT); // hashowanie hasła // Zapisz dane do bazy $result = $db->query("INSERT INTO bazalogow (login, email, password, produkcja) VALUES('$login', '$email', '$password', '$produkcja')"); if (!$result) { echo '<p class="error">Wystąpił błąd przy rejestrowaniu użytkownika.<br>'.$db->error.'</p>'; } else { echo '<p class="success">'.$login.', zostałeś zarejestrowany. <br><a href="login.php">Logowanie</a></p>'; } } } ?> <form method="post" action="register.php"> <label for="login">Login:</label> <input maxlength="32" type="text" name="login" id="login" required> <br><br> <label for="password">Hasło:</label> <input type="password" name="password" id="password" required> <br><br> <label for="password_v">Hasło (ponownie):</label> <input type="password" name="password_v" id="password_v" required> <br><br> <label for="email">Email:</label> <input type="email" name="email" maxlength="255" id="email" required> <br><br> <label for="email_v">Email (ponownie):</label> <input type="email" name="email_v" maxlength="255" id="email_v" required> <br> <label for="produkcja">Produkcja:</label> <select name="produkcja" id="produkcja" required> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="inne">inne</option> </select> <br><br> <input type="submit" value="Zarejestruj"> <?php require 'footer.php'; |
|
|
![]()
Post
#2
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Proszę używać bb-code dla kodu...
Select/option jest tablicą, więc zasada taka:
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 3.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
jak używać bbcode ?
w którym miejscu wkleić ten kod ? gdzie są zapisane wartości z select: 1,2,3,4,5,inne ... ? |
|
|
![]()
Post
#4
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Obsługi Forum musisz nauczyć się sam(a).
Kod trzeba wkleić tam, gdzie ma być wyświetlana lista rozwijana - myślałem, że to logiczne... Błędem jest trzymanie wielu wartości w jednej komórce bazy danych. Ale jak kto woli... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 3.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Kshyhoo czy mógłbyś wkleić ten kawałek kodu do listingu i wyjaśnić mi te zmienne
Czy muszę utworzyć nową tabelę w bazie dla 1,2,3,4,5,inne ... pilnie potrzebuję rozwiązania tego problemu już mi łeb pęka Kshyhoo pomocy ... ! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 23:28 |