Minden mező kitöltése kötelező? (PHP)
Pl. tegyük fel, hogy van egy „nick” nevű szövegbeviteli meződ <input name="nick" … />.
Ekkor ugye a $_POST illetve $_GET-ben is ezen a néven fog szerepelni (attól függően, hogy POST vagy GET metódussal küldöd el a formot.)
Innen már elég megvizsgálni, hogy az adott változó üres-e.
if (empty($_POST['nick'])) {
echo "Üres";
} else {
// nem üres, mehetünk tovább…
}
De ez nem biztos, hogy elég. Főleg, ha nem megbízható userektől jön az adat. Pl. mi van, ha szóközöket ír be? Névnek ez nem jó. Egy minimális ellenőrzést minimum illik beletenni.
if (empty($_POST['nick'])) {
echo "Üres";
} else {
if (trim($_POST['nick'])=='') {
echo "space és tab van csak benne…";
} else {
// nem üres, mehetünk tovább…
}
}
Persze lehet egyéb paramétereket is vizsgálni: Nem túl rövid-e, nem túl hosszú-e a megadott adat, milyen karakterekből, milyen formátumban kellene megadni. (Pl. telefonszámnál ne szöveg legyen írva, névben ne legyenek bizonyos karakterek, mint dollárjel, kukac, stb…).
Ajánlom figyelmedbe a PHP kézikönyvet. Érdemes lapozgatni:
Pl. string kezelő függvények:
www.php.net/manual/en/ref.strings.php
A szöveg hosszát az strlen függvénnyel kérheted le. Innen már mennie kell. (Ha nem, akkor ne akarj még programozni, hanem előbb tanuld meg az alapokat.)
A formátum ellenőrzésre egy külön kis „nyelv” van: reguláris kifejezések. Lásd:
Egyszerűbb szűrni a megengedett karakterek szerint. Pl. ha bejelentkező névről van szó, akkor meg lehet szabni, hogy minimum 3, maximum 30 karakterből álljon, csak angol betű, szám és aláhúzás lehet benne.
if (preg_match("/^[a-z0-9_]{3,30}$/ius",$_POST['loginname'])) {
// jó
}
Én inkább js-el próbálkoznék.
Akkor ugyanis megoldható,hogy a post gomb csak akkor legyen aktív,ha már eleve van értéke a mezőknek.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!