Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Wyrażenia regularne - pierwsza spacja
rafalek1001
post 4.11.2018, 00:56:13
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 9.02.2013

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


Witam. Tworzę walidację formularza i mam pole "Mecz" w której chcę, aby można było wpisać nazwę spotkania, np. "Liverpool - Chelsea". Wszystko jest ok. Za pomocą wyrażeń regularnych zablokowałem jeszcze możliwość wpisywania apostrofu i znaku równości oraz dodałem warunek if(empty($_POST['mecz']), który sprawdza czy pole nie jest puste. Problem jest tylko taki, że jeżeli przykładowo wpiszę w tym polu samą spację to rekord przechodzi i zostaję dodany do bazy danych. Moje pytanie: jak zablokować możliwość wpisywania samej spacji oraz spacji lub znaku ' albo = na pierwszej pozycji? (np. "=Liverpool - Chelsea", "'Liverpool - Chelsea" albo " Liverpool - Chelsea")

Próbowałem już kilka różnych wariantów, ale ciągle nie mogę sobie z tym poradzić. Poniżej ostatni kod:

  1. $mecz = $_POST['mecz'];
  2.  
  3. if(!preg_match('/^(\S|[^\'\=]){1}[^\'\=]+$/D', $_POST['mecz']))
  4. {
  5. $_SESSION['e_mecz']="Pole zawiera niedozwolone znaki!";
  6. $wszystko_OK = false;
  7. }
  8.  
  9. if((empty($_POST['mecz'])) || (!preg_match('/^\S{1}$/D', $_POST['mecz'])))
  10. {
  11. $_SESSION['e_mecz']="Pole nie może być puste!";
  12. $wszystko_OK = false;
  13. }
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.07.2025 - 17:10