Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z funkcją
Forum PHP.pl > Forum > PHP
tdr
Cześć!
Zacznijmy od tego, że się uczę wink.gif
Teraz, staram się stworzyć formularz rejestracyjny do strony i cały czas mi podświetla mi błąd w 25 linijce... Nie wiem o co chodzi, więc czy możecie zerknąć?
  1. <?php
  2. require_once("config.php");
  3.  
  4. $dbc = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME)
  5. or die('Wystąpiły problemy z połączeniem do bazy danych');
  6.  
  7. /* ------------------------------
  8.   Pobieramy wartości formularza
  9.   ------------------------------ */
  10.  
  11. $user_username = mysqli_real_escape_string($dbc, trim($_POST['username']));
  12. $user_password1 = mysqli_real_escape_string($dbc, trim($_POST['password1']));
  13. $user_password2 = mysqli_real_escape_string($dbc, trim($_POST['password2']));
  14. $user_email1 = mysqli_real_escape_string($dbc, trim($_POST['email1']));
  15. $user_email2 = mysqli_real_escape_string($dbc, trim($_POST['email2']));
  16. $user_regulamin = $_POST['regulamin'];
  17. $user_subskrybcja = $_POST['subskrybcja'];
  18.  
  19. function pustePole($pole){
  20. if (empty($pole)){
  21. echo '<p class="error">Nie wypełniłeś/łaś wszystkich wymaganych pól.</p>';
  22. }
  23. }
  24.  
  25. function pustePole($user_username);
  26.  
  27. ?>
kipero
Funkcja pustePole nie ma ciała. Poza tym jest deklarowana dwa razy, a PHP nie obsługuje przeładowania nazwy funkcji.
Crozin
Przy wywołaniu funkcji nie ma potrzeby używania function.
tdr
aaaa... faktycznie nie używamy słowa function przy wywołaniu.. smile.gif dziękuję za pomoc smile.gif

koledzy, a jeszcze w linijce 24
Kod
$pole['name']
nie chce mi się to wyświetlić... wiecie może dlaczego?
  1. <?php
  2. require_once("config.php");
  3. require_once("formularze.php");
  4.  
  5. $dbc = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME)
  6. or die('Wystąpiły problemy z połączeniem do bazy danych');
  7.  
  8. /* ------------------------------
  9.   Pobieramy wartości formularza
  10.   ------------------------------ */
  11.  
  12. if ($_POST['submit']){
  13.  
  14. $user_username = array("login" => mysqli_real_escape_string($dbc, trim($_POST['username'])), "name" => 'loguj');
  15. $user_password1 = mysqli_real_escape_string($dbc, trim($_POST['password1']));
  16. $user_password2 = mysqli_real_escape_string($dbc, trim($_POST['password2']));
  17. $user_email1 = mysqli_real_escape_string($dbc, trim($_POST['email1']));
  18. $user_email2 = mysqli_real_escape_string($dbc, trim($_POST['email2']));
  19. $user_regulamin = $_POST['regulamin'];
  20. $user_subskrybcja = $_POST['subskrybcja'];
  21.  
  22. function pustePole($pole){
  23. if (empty($pole)){
  24. echo '<p>Pole '.$pole['name'].' nie zostało uzupełnione.</p>';
  25. exit();
  26. }
  27. }
  28.  
  29. /* ------------------------------------------------------
  30.   Sprawdzenie, czy wszystkie pola zostały uzupełnione.
  31.   ------------------------------------------------------ */
  32.  
  33.  
  34. pustePole($user_username);
  35. pustePole($user_password1);
  36. pustePole($user_password2);
  37. pusetPole($user_email1);
  38. pustePole($user_email2);
  39. pustePole($user_regulamin);
  40. pustePole($user_subskrybcja);
  41.  
  42. echo "Wszystko OK";
  43. }else{
  44. echo $form_register;
  45. }
  46.  
  47. ?>
Wazniak96
Jest warunek "jeżeli $pole jest puste" a pod tym warunkiem chcesz wyświetlić element $pole... Gdyby $pole nie ba pusta to by nic nie wywyswietliło.
tdr
No tak ale ja chciałem się odwołać do nazwy pola input... to co, nie mogę do niego?
chodzi mi o to, aby po wykryciu ze pole znie zostało uzupełnione to pobrało
Kod
<input name="logowanie" ... />

i wyskoczył komunikat pole logowanie nie zostało uzupełnione.

potrzebna POMOC!!!!!!
SmokAnalog
Kombinujesz naokoło. Proponuję zmienić logikę Twojej strony tak, żeby zrezygnować z tej niintuicyjnej funkcji. Zamiast tego użyj pętli, która przejdzie wszystkie wartości i wypluje błąd jeśli któraś wartość będzie pusta.

A odpowiadając bezpośrednio na Twoje pytanie, $user_username nigdy nie będzie empty, bo jest tablicą o takiej strukturze:
  1. 'login' => 'wartość z inputa',
  2. 'name' => 'loguj'
  3. )

Czyli nawet gdy wartość z inputa będzie pusta, to tablica nie jest empty.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.