Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z funkcją
tdr
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.02.2013

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
kipero
post
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

Ostrzeżenie: (0%)
-----


Funkcja pustePole nie ma ciała. Poza tym jest deklarowana dwa razy, a PHP nie obsługuje przeładowania nazwy funkcji.

Ten post edytował kipero 15.06.2013, 12:43:20


--------------------
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Przy wywołaniu funkcji nie ma potrzeby używania function.
Go to the top of the page
+Quote Post
tdr
post
Post #4





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.02.2013

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
Wazniak96
post
Post #5





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
tdr
post
Post #6





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.02.2013

Ostrzeżenie: (0%)
-----


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!!!!!!

Ten post edytował tdr 15.06.2013, 15:02:54
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #7





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 04:35