Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Sprawdzanie frazy w formularzu, sprawdzanie frazy w formularzu
SUICIDE
post 19.01.2016, 19:59:28
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 31.10.2012
Skąd: Gorzów Wlkp

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


Witam.
Mam formularz w którym trzeba podać identyfikator wyglądający w ten sposób "STEAM_ID:1:1:234235235"
Chcę zrobić aby po naciśnięciu przycisku sprawdzał czy wprowadzony przez użytkownika identyfikator zaczyna się faktycznie od frazy: "STEAM_ID:..........."
Go to the top of the page
+Quote Post
Pyton_000
post 19.01.2016, 20:04:18
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


  1. if(stripos($string, 'STEAM_ID') === 0)
Go to the top of the page
+Quote Post
SUICIDE
post 19.01.2016, 20:46:45
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 31.10.2012
Skąd: Gorzów Wlkp

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


Działa świetnie.
Tylko teraz Potrzebowałbym to zabezpieczyć od prawej strony identyfikatora.
Wprowadzaniem maks znaków
albo
nie wprowadzał tego co zaczyna się od spacji włącznie z nią. Tylko pierwszy ciąg znaków.
np.
STEAM_ID:1:1:123654234 0045
Go to the top of the page
+Quote Post
Pyton_000
post 19.01.2016, 21:07:59
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


No to zamiast tamtego:

  1. preg_match('/(STEAM_ID(?>:\d+){3})/', $steamID, $match);
  2.  
  3. if(isset($match[1])) {
  4. // Znaleziono
  5. }


To Ci pobierze Tylko STEAM_ID:1:1:123654234 0045
Go to the top of the page
+Quote Post
SUICIDE
post 19.01.2016, 21:17:21
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 31.10.2012
Skąd: Gorzów Wlkp

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


przepraszam tam źle podałem ten identyfikator

STEAM_1:0:11111111

bez tego id:

i teraz nie wiem za bardzo jak w tym ciągu znaków to poprawić.
STEAM_ID(?>:\d+){3})/

Mógłbyś mi od razu wjaśnić?
Go to the top of the page
+Quote Post
Pyton_000
post 19.01.2016, 21:30:40
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


(STEAM_\d(?>:\d+){2})

albo łopatologicznie:

(STEAM_\d:\d:\d{8})

\d - cyfra
Go to the top of the page
+Quote Post
SUICIDE
post 19.01.2016, 21:40:48
Post #7





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 31.10.2012
Skąd: Gorzów Wlkp

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


Jeśli chodzi o sprawdzanie zawartości przedrostka "STEAM_" Działa świetnie

Ale jeśli po cyfrach dodam spacja 66. To niestety też wprowadza do bazy.

Tak wygląda u mnie

preg_match('/(STEAM_\d:\d:\d{9})/', $steamid, $match);

if(isset($match[1])) {


{9}podałem jemu 9- Rozumiem że oznacza to ilość cyfr. Tyle akurat maksymalnie występuję w tych identyfikatorach.
Ale i tak wprowadza spacje i dalsze znaki.
Go to the top of the page
+Quote Post
Pyton_000
post 19.01.2016, 21:52:52
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


A widziałeś co masz w zmiennej $match[1] ? Bo chyba nie wink.gif
Go to the top of the page
+Quote Post
SUICIDE
post 19.01.2016, 22:04:35
Post #9





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 31.10.2012
Skąd: Gorzów Wlkp

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


hehehhe.
Przepraszam ale dzieci mnie tak wykończyły, że już nie myślę.
Wprowadzałem do bazy dane ze zmiennej $steamid zamiast $match[1]

Dziękuje.
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: 19.07.2025 - 14:02