|
 | | |
| Autor | Správa |
max-m
 Užívateľ
 Založený: 17.01.2008 Príspevky: 650 Bydlisko: Žilina
 | Zaslal: St 23.01.08 10:17 |   |
kedze sa ucim PHP, mam tu opat mensi problem:
mam <form> v ktorom su rozne polia, napr.: meno a telefon.
potreboval by som spravit kontrolu poli (ci je nieco zadane) a v pripade, ze je niektore nezadane, zistit aj ktore aby som ho dokazal zvyraznit. samotne zistovanie, ci je nieco zadane nie je problem. ide len o to, ze ak je validate()=false nech sa mi nevykona action vo <form>.
DIK. |
| |
      |
 |
stenley
 Moderátor
 Založený: 27.07.2007 Príspevky: 3776 Bydlisko: Bratislava Vek: 27
 | Zaslal: St 23.01.08 10:45 |   |
Na zistenie, ktore pole nebolo vyplnene, mozes pouzit nasledujucu funkciu validate(). Ta predpoklada, ze form je typu POST a vracia meno prveho nevyplneneho pola, v opacnom pripade true:
| kód: | function validate()
{
for($i=0; $i<func_num_args(); $i++) {
if(empty($_POST[func_get_arg($i)]))
{
return func_get_arg($i);
}
}
return true;
} |
Pouzitie (ako parametre su pouzite mena poli, ktore chces zvalidovat):
| kód: | | validate('poleName1','poleName2', ...) |
A ked vies meno nevyplneneho pola, mozes ho napr. cez js zvyraznit...
Keby si validaciu robil aj cez js, tak aby sa ti formular neodoslal, mozes pouzit onsubmit... |
_________________ Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB | |
    |
 |
vl4kn0
 Užívateľ
 Založený: 22.11.2007 Príspevky: 254 Bydlisko: 127.0.0.1
 | Zaslal: St 23.01.08 11:27 |   |
moja funkcia validate:
| kód: | function validate($vars)
{
$empty_nums = 0;
foreach ($vars as $key => $val)
{
if (!isset($vars[$key]))
{
$emty_nums++;
$empty[] = $key;
}
}
if ($empty_nums !== 0)
{
return $empty;
}
else
{
return false;
}
} |
cize osetris to tak ze do spracovaneho scitu das validate($_POST); a to prejde celim polom a ak najde ze je niektory input prazdny vrati pole s nazvami. to potom staci prechadzat a vypisat  |
_________________ PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber... | |
     |
 |
Tominator
 Zablokovaný užívateľ
 Založený: 21.02.2007 Príspevky: 4009
 | Zaslal: Št 24.01.08 17:00 |   |
a taktiež regulárne výrazy |
| |
  |
 |
|
Nemôžete pridávať nové témy do tohto fóra. Nemôžete odpovedať na témy v tomto fóre. Nemôžete upravovať svoje príspevky v tomto fóre. Nemôžete mazať svoje príspevky v tomto fóre. Nemôžete hlasovať v tomto fóre.
|
| |