Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie czy zmienna ma określoną wartość
Nastolatek
post 15.05.2006, 19:58:00
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.05.2006

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


Witam.

Mam pytanie. Jak sprawdzić czy zmienna, powiedzmy $test spełnia takie warunki:

- Zawiera 2 słowa
- Każde z tych słów ma przynajmniej 2 znaki
- Czy nie zawiera znaków typu: {}[],.?!@#$%^&*()_-+=|\:"<>/
- Każde słowo zaczyna się wielką literą
- Między tymi 2 słowami jest spacja, żaden inny znak. Spacja moze być jedna

Najlepiej to wszystko zmieścić w jednej funkcji. Przy wywołaniu funkcji jako argument daję zmienną. Jeśli zmienna nie spełnia warunku, oddaje rezultat false, jeśli spełnia true. Oraz przy każdym z tych typów błędów które wymieniłem wyżej wyświetlić okienko informacyjne o różnej treści.

Dokładne przeznaczenie: Piszę w php samodzielnie skomplikowany formularz kontaktowy. Jako że nie chcę oszustw, muszę zabezpieczyć przez przesyłaniem nieprawidłowych danych. Poprzez system paru "if" zabezpieczam przed podaniem:

- Nieprawidłowego imienia i nazwiska
- Podaniem nieprawidłowego adresu e-mail, lub podanie z nieistniejącej domeny
- Podaniem fałszywego adresu GG
- Przesłaniem szkodliwego kodu
- Nie przesłania treści wiadomości
- I parę innych..
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
erix
post 15.05.2006, 20:09:16
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <?php
  2. //dwa slowa
  3. $t = explode(' ', $tekst);
  4. if(count($t)>2){
  5. //jesli wiecej niz dwa slowa
  6. }
  7.  
  8. //dlugosc slowa = minimum 2 znaki
  9. //dalej zostaje $t
  10.  
  11. foreach($t as $a){
  12. if(strlen($a)<3){
  13. //kod na slowo krotsze niz dwa znaki
  14. }
  15. }
  16.  
  17. //znaki niedozwolone
  18.  
  19. $znaki = array('{', '}', '[', ']' /*tutaj wstawiasz znaki niedozwolone*/);
  20. foreach($znaki as $a){
  21. if(strpos($tekst, $a)!==false){
  22. //kod jesli zawiera ktorys ze znakow
  23. }
  24. }
  25.  
  26. //wielka litera
  27. //po co sprawdzac? Od razu zmien na wielkie litery w wyrazach
  28. $tekst = ucwords($tekst);
  29.  
  30.  
  31. ?>

sprawdzanie spacji jest w tym wypadku z glowy, bo jak jej nie znajdzie, to wystapi wyjatek w postaci braku dwoch slow.

Pisane 'z buta'...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Nastolatek
post 20.05.2006, 22:40:23
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.05.2006

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


Sporo błędów, widać że pisane na szybko winksmiley.jpg
Wszystko już naprawiłem, oprócz tego:
Nie ma zdefiniowanej zmiennej a. Nie wiem jakie jej parametry i zawartość dać.
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: 14.08.2025 - 05:58