Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Prosty problem - uzupełnienie skryptu.
koperkuba
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 11.06.2007

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


Potrzebuje jedną rzecz do tego skryptu - pewnie banalną, ale to mój pierwszy skrypt. Pracownicy mają przypisane ulice. W formularzu podajesz ulice - pokazuje ci do jakiego pracownika ona należy. I teraz:
- jeśli nie wpisze nic - pojawi się komunikat 'Nie podano adresu'
- jeśli wpisze prawidłową ulicę - pojawią się dane pracownika.
- jeśli nie wpisze prawidłowej ulicy - żadnej z podanych z if - to.... chce żeby się pojawił komunikat "Podano zły adres, lub ulica nie ma przypisanego pracownika".


<?php
$ulicapracownika = $_POST['ulicapracownika'];

if ($ulicapracownika == NULL) echo 'Nie podano adresu';

if ($ulicapracownika == Nawojowska) echo 'Twój pracownik to Koprowski';
if ($ulicapracownika == Dworska) echo 'Twój pracownik to Sierotowicz';


?>

Ten post edytował koperkuba 11.06.2007, 07:34:11
Go to the top of the page
+Quote Post
nexis
post
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Dane przechowuj najlepiej w tablicy, a nazwy ulic wpisuj w niej małymi literami

  1. <?php
  2. $pracownicy = array( 'nawojowska' => 'Koprowski', 'dworska' => 'Sierotowicz' );
  3. ?>


A warunki i odpowiednie komunikaty wyglądają wtedy tak

  1. <?php
  2. if ( empty( $_POST['ulicapracownika'] ) ) echo 'Nie podano adresu!';
  3. else {
  4. if ( array_key_exists( strtolower( $_POST['ulicapracownika'] ), $pracownicy ) ) echo 'Twój pracownik to ' . $pracownicy[strtolower( $_POST['ulicapracownika'] )];
  5. else echo 'Podano zły adres!';
  6. }
  7. ?>


Całość prezentuje się zatem następująco

  1. <?php
  2. $pracownicy = array( 'nawojowska' => 'Koprowski', 'dworska' => 'Sierotowicz' );
  3.  
  4. if ( empty( $_POST['ulicapracownika'] ) ) echo 'Nie podano adresu!';
  5. else {
  6. if ( array_key_exists( strtolower( $_POST['ulicapracownika'] ), $pracownicy ) ) echo 'Twój pracownik to ' . $pracownicy[strtolower( $_POST['ulicapracownika'] )];
  7. else echo 'Podano zły adres!';
  8. }
  9. ?>


Dzięki takiemu rozwiązaniu masz czysty kod, prosty sposób dodania nowej ulicy i przypisania jej pracownika oraz właściwy wynik niezależnie od DUŻYCH czy małych liter użytych w formularzu.

Ten post edytował nexis 11.06.2007, 07:48:41


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
koperkuba
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 11.06.2007

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


Wywala mi błąd:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www\www\przetworzrejon.php on line 14

A nie, już ok. Poradziłem sobie. Literówka była. Niemniej wielkie dzięki:)

Cytat(nexis @ 11.06.2007, 08:41:10 ) *
właściwy wynik niezależnie od DUŻYCH czy małych liter użytych w formularzu.

A to już nie chce działać....

Ten post edytował koperkuba 11.06.2007, 08:05:31
Go to the top of the page
+Quote Post
nexis
post
Post #4





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


A zmieniałeś coś w kodzie? Jeśli tak to przedstaw go proszę...


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
koperkuba
post
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 11.06.2007

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


  1. <body>
  2. <form action = "formul.php" method=post>
  3. <table border = 0>
  4. <tr> 
  5. <td size= "10">Ulica</td>
  6. <td allign = "center"><input type = "text" name = "ulicapracownika" size = "30" max length = "30" />
  7. </td>
  8. <td align = "center"> <input type = "submit" value = "Szukaj pracownika"></td>
  9. </tr>
  10. </table>
  11.  
  12.  
  13. <?php
  14.  
  15. $pracownicy = array( 
  16.  
  17. 'Nawojowska' => 'Koprowski', 
  18. 'Dworska' => 'Sierotowicz'
  19.  
  20. );
  21.  
  22.  
  23. if ( empty( $_POST['ulicapracownika'] ) ) echo 'Nie podano adresu!';
  24.  
  25.  
  26. else 
  27.  
  28. {
  29.  
  30. if ( array_key_exists( $_POST['ulicapracownika'], $pracownicy ) ) 
  31.  
  32. echo 'Twój  pracownik to ' . $pracownicy[$_POST['ulicapracownika']];
  33.  
  34. else 
  35. echo 'Podano zły adres, albo adres do którego nie przypisano pracownika!';
  36. }
  37.  
  38. ?>
  39.  
  40. </body>


Ten post edytował koperkuba 11.06.2007, 10:55:22
Go to the top of the page
+Quote Post
nexis
post
Post #6





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Napisałem przecież, żebyś nazwy ulic wpisał z małych liter do tablicy

  1. <body>
  2. <form action="formul.php" method="post">
  3. <table border="0">
  4. <tr>
  5. <td size="10">Ulica</td>
  6. <td align="center"><input type="text" name="ulicapracownika" size="30" /></td>
  7. <td align="center"><input type="submit" value="Szukaj pracownika" /></td>
  8. </tr>
  9. </table>
  10.  
  11. <?php
  12. $pracownicy = array( 
  13. 'nawojowska' => 'Koprowski',
  14. 'dworska' => 'Sierotowicz'
  15. );
  16.  
  17. if ( empty( $_POST['ulicapracownika'] ) ) echo 'Nie podano adresu!';
  18. else {
  19. if ( array_key_exists( strtolower( $_POST['ulicapracownika'] ), $pracownicy ) ) echo 'Twój pracownik to ' . $pracownicy[strtolower( $_POST['ulicapracownika'] )];
  20. else echo 'Podano zły adres!';
  21. }
  22.  
  23. ?>
  24.  
  25. </form>
  26. </body>


I proszę STOSUJ TAGI!

Ten post edytował nexis 11.06.2007, 09:16:39


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
koperkuba
post
Post #7





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 11.06.2007

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


Cytat(nexis @ 11.06.2007, 10:13:53 ) *
Napisałem przecież, żebyś nazwy ulic wpisał z małych liter do tablicy
Ok poprawiłem. Wszystko ładnie działa. Jeszcze raz dzięki!


Cytat(nexis @ 11.06.2007, 10:13:53 ) *
I proszę STOSUJ TAGI!

Poprawiłem:)
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: 21.08.2025 - 04:40