Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Filtorwanie formularza
WEC_26
post 1.09.2006, 16:18:52
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 23.08.2006

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


Mam formularz:
  1. <form action="wpisz.php" method="post">
  2. <textarea name="opis">Tekst</textarea>
  3. <button type="submit" />Zapisz</button>
  4. </form>


I chcę oby $_POST[opis] został przefiltrowany, np z wyrazu "oko", czyli jak w treści będzie wyraz oko to zeby wyswietlil się "Błąd!". Próbowałem to zrobić za pomocą stworzonej funkcji:
  1. <?php
  2. function sprawdz_reszte($reszta) {
  3.  if(!preg_match('/^[a-z0-9.-_]+oko([a-z0-9-_]+.)*?[a-z]+$/is', $reszta)) {
  4. return true;
  5.  }
  6.  else {
  7. return false;
  8.  }
  9. }
  10.  
  11. if(sprawdz_reszte($_POST[opis])) {
  12. echo "OK";
  13. }
  14. else {
  15. echo "Błąd!";
  16. }
  17. ?>

ale ten sposób nie działa...

Czy jest inny sposób na zrobienie takiego czegoś?

Ten post edytował WEC_26 1.09.2006, 16:20:17
Go to the top of the page
+Quote Post
ikioloak
post 1.09.2006, 16:23:34
Post #2





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

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


Jesli chcesz sprawdzic tylko czy dany wyraz wystepuje w ciagu to uzyj strpos" title="Zobacz w manualu php" target="_manual - nie ma potrzeby uzywac tutaj wyrazen regularnych.

Ten post edytował ikioloak 1.09.2006, 16:23:58
Go to the top of the page
+Quote Post
WEC_26
post 1.09.2006, 17:23:01
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 23.08.2006

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


  1. <?php
  2. $pos_opis = strpos($_POST[opis], "oko");
  3.  
  4. if ($pos_opis === true) {
  5. header("Location: komunikat.php?blad=opis");
  6. }
  7. ?>


Zrobiłem takie coś, ale jak wpisuje "coś tam... oko cos tam.." to nie przenosi do "komunikat.php?blad=opis", a chyba powinno...

Co tu jest źle??

// EDIT

Już znalazłem przyczynę. Zamiast "===" w funkcji if, musiałem dać "==". Teraz wszystko działa.

Ten post edytował WEC_26 1.09.2006, 17:38:07
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 Wersja Lo-Fi Aktualny czas: 12.06.2025 - 13:29