Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] $_GET formatowanie wartości, mam problem
tomekpl
post
Post #1





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

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


Witam,
mam problem z formatowaniem wartości wysłanych za pomocą get z adresu do strony.
Mam adres: index.php?page=karty&kat=konstrukcje&id=1&szt=1

gdzie szt=1 to liczna sztuk.

i jak ktoś wpisze szt=alfabet, html, <script> itp..
to w polu które odczytuje liczbę sztuk jest to co wpisał.

Jak narazie mam tyle:
$szt = trim(HTMLSpecialChars($_GET['szt']));
ale to nie pomaga, ponieważ przepuszcza literki, a chciałbym zeby tylko same cyfry bez żadnych innych znaków.

----------------
Tak teraz wpadłem na pomysł zeby napisać warunek, jezeli szt nie jest rowne 1 or 2 or 3 to nie przepuszczaj, ale to chyba zły pomysł...

Czekam na pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Ar2r
post
Post #2





Grupa: Zarejestrowani
Postów: 140
Pomógł: 16
Dołączył: 12.06.2002
Skąd: Kielce

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


Użyj do weryfikacji tego pola funkcji is_int manual
Go to the top of the page
+Quote Post
starach
post
Post #3





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

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


is_int nie bo sprawdza ona typ zmiennej a wszytko z tablicy superglobalnej $_GET jest łańcuchem.
Do sprawdzania używaj is_numeric(). Możesz również rzutować typ. Poszukaj w manualu PHP tam masz to dokładnie omówione.
Go to the top of the page
+Quote Post
delfinium
post
Post #4





Grupa: Zarejestrowani
Postów: 90
Pomógł: 6
Dołączył: 30.06.2007
Skąd: Zielona Góra

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


Wstaw

  1. <?php
  2. $szt = (int)$_GET['szt'];
  3. ?>


i w $szt będziesz miał liczbę, jeśli w $_GET['szt'] będzie coś innego niż liczba to dostaniesz 0.
Go to the top of the page
+Quote Post
webdice
post
Post #5


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Crossposting, temat oczywiście zamykam, a autora ostrzegam że następnym razem uhonoruje go ostrzeżeniem.
Go to the top of the page
+Quote Post

Closed 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 - 11:08