Autor | Zpráva | ||
---|---|---|---|
ra100 Profil * |
#1 · Zasláno: 31. 10. 2011, 20:26:50
...mi robí problémy.
Po overení prišlých dát z formuláru - if(isset($_POST['send']) and empty($_POST['nazov'])) v prípade prázdnej premennej $_POST['nazov'] No vo chvíli, keď kliknem raz, alebo viac krát medzerníkom do príslušného imput-u, overovanie ..empty($_POST['nazov'])... Doteraz som sa s tým nestretol a netuším kde je problém. Ďakujem za každú cennú radu. |
||
jenikkozak Profil |
#2 · Zasláno: 31. 10. 2011, 20:30:27 · Upravil/a: jenikkozak
ra100:
if(isset($_POST['send']) and empty($_POST['nazov'])) = česky: Je-li nastavena hodnota pole $_POST[send] a zároveň pole $_POST[nazov] je prázdné. (Empty = prázdný) (Pochopil-li jsem, oč ti jde.) |
||
Tori Profil |
#3 · Zasláno: 31. 10. 2011, 20:34:04 · Upravil/a: Tori
ra100:
> vo chvíli, keď kliknem raz, alebo viac krát medzerníkom do príslušného imput-u, overovanie > ..empty($_POST['nazov'])... > prestáva pracovať správne. Mezera je taky znak = pole s mezerou není prázdné. Naopak pole, kam zadáte "0" se funkcí empty() vyhodnotí jako prázdné. Co třeba toto? if (isset($_POST['nazov']) AND trim($_POST['nazov']) !== '') |
||
CZechBoY Profil |
#4 · Zasláno: 31. 10. 2011, 20:35:00 · Upravil/a: CZechBoY
zkus tam přidat funkci TRIM:
If(Empty(Trim($_POST['nazov'])) echo "Nevyplnil jsi název"; |
||
ra100 Profil * |
#5 · Zasláno: 31. 10. 2011, 20:37:10
jenikkozak:
ano |
||
ra100 Profil * |
#6 · Zasláno: 31. 10. 2011, 20:41:22
Tori:
if (isset($_POST['nazov']) AND trim($_POST['nazov']) != '') |
||
ra100 Profil * |
#7 · Zasláno: 31. 10. 2011, 20:43:01
CZechBoY:
If(Empty(Trim($_POST['nazov'])) echo "Nevyplnil jsi název"; mi hádže nasledovné Fatal error: Can't use function return value in write context in.... |
||
Nox Profil |
#8 · Zasláno: 31. 10. 2011, 20:47:19
if( !isset($_POST['nazov']) or trim($_POST['nazov']) === '' ) echo "..."; |
||
ra100 Profil * |
#9 · Zasláno: 31. 10. 2011, 20:47:52
Skúšal som trim, všetky funkcie a includes atd. vpísať späť do kódu, pomenil som zoskupenie formulárov, kódu a stále s rovnakým výsledkom...
|
||
jenikkozak Profil |
#10 · Zasláno: 31. 10. 2011, 20:50:59
ra100:
Co chceš vlastně ověřit? Situaci, kdy byl formulář odeslán s prázdným políčkem (pro vypsání chyby), nebo chceš naopak zjistit, že to políčko je odeslané a vyplněné? Tori svůj příspěvek upravila. Nefunguje? CZechBoY neuzavřel jednu závorku. |
||
Nox Profil |
#11 · Zasláno: 31. 10. 2011, 20:54:38
jenikkozak:
Tori testuje na pozitivitu, ra100 chce vypsat chybovou hlášku... napsal jsem obrácenou podmínku CZechBoY má kód špatně, protože empty z principu může přijmat jen proměnné dokonce je tam příklad právě s "trim": empty() only checks variables as anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). |
||
ra100 Profil * |
#12 · Zasláno: 31. 10. 2011, 20:57:14
Nox:
Ďakujem, odrazu sa to rozbehlo, túto kombináciu ma nenapadlo vyskúšať ) Dodám len, že overovanie if(isset($_POST['send']) and empty($_POST['nazov'])) tam funguje tebou uvedený skript. Nechápem, prečo je to tak, no aspoň to funguje bez problémov ) Eśte raz ďakujem všetkým. |
||
Nox Profil |
#13 · Zasláno: 31. 10. 2011, 21:19:26
ra100:
Na tom serveru's to možná nesprávně aktualizoval, tahle verze neTRIMuje |
||
ra100 Profil * |
#14 · Zasláno: 31. 10. 2011, 21:32:05
Nox: Sorry. Nefunguje. Musím zmeniť podmienku
if( !isset($_POST['nazov'])... if(isset($_POST['nazov']... if( !isset($_POST['nazov']).. ..a som tam, kde som bol. |
||
ra100 Profil * |
#15 · Zasláno: 31. 10. 2011, 21:38:20
...pôvodný skript vonku je
if(isset($_POST['send']) and $_POST['nazov'] == '') na domácom pc to nepracuje... tak asi neaky upgrade serveru ? |
||
ra100 Profil * |
#16 · Zasláno: 31. 10. 2011, 21:41:00
---zabudol som tam dodať ten trim
|
||
ra100 Profil * |
#17 · Zasláno: 31. 10. 2011, 21:45:19
Nox:
verzia php je •Php 5.2.13 |
||
Nox Profil |
#18 · Zasláno: 1. 11. 2011, 07:14:29 · Upravil/a: Nox
|
||
ra100 Profil * |
#19 · Zasláno: 1. 11. 2011, 12:12:03
Nox:
Potrebujem overiť - ak bol sláčený (odoslaný) submit send vo formulári a zároveń s ním prišiel prázdny imput nazov - if(isset($_POST['send']) and trim($_POST['nazov']) =='') tak sa zobrazí ďaľší formulár z výzvou na vyplnenie input nazov posielam zjednodušený skript - prvý formulár, z ktorého overujem vyššie vzpomenutý skript - function add($add) { print '<form action="'.$_SERVER['PHP_SELF'].'" method="post" id="form_add"> <p id="p_add"><span class="span_add">Nový záznam</span><span class="span_add1"><a href="'.$_SERVER['PHP_SELF'].'" title="zruš">zatvor formulár X</a></span></p> <input type="hidden" name="add" readonly /> <span class="add">názov : </span><br /> <input type="text" name="nazov" class="input_add" /><br /> ... <input type="submit" value=" oodošli >> " class="submit_add" name="send" /> </form>'; exit(); } ak prišiel submit send z tohto formuláru a s ním prázdna premenná $_POST['nazov' objaví sa tento skript - function add_no_name() { //$nazov = trim(htmlspecialchars($_POST['nazov'])); ... print '<form action="'.$_SERVER['PHP_SELF'].'" method="post" id="form_add"> <p id="p_add"><span class="span_add">Nový záznam</span><span class="span_add1"><a href="'.$_SERVER['PHP_SELF'].'" title="zruš">zatvor formulár X</a></span></p> <input type="hidden" name="add1" readonly /> <span class="add_nazov_allert">Názov musí byť vypísaný !</span><br /> <span class="add">názov : </span><br /> <input type="text" name="nazov" class="input_add" /><br /> <input type="submit" value=" oodošli >> " class="submit_add" name="send" /> </form>'; exit(); } a tak dookola, kým je input nazov Keď kliknem do inputu a nepoužijem medzerník, overovanie je ok, s medzerníkom je overovenie nepoužiteľné. |
||
ra100 Profil * |
#20 · Zasláno: 1. 11. 2011, 13:12:41
Nox:
Pre zpresnenie - add($add); a potom overenie - if(isset($_POST['send']) and $_POST['nazov'] == '') { add_no_name(); } |
||
Nox Profil |
#21 · Zasláno: 1. 11. 2011, 13:32:07
<?php // neodesláno if( empty($_POST['send']) ) add($add); // odesláno, ale nevyplněno elseif( ! empty($_POST['send']) and ! isset($_POST['nazov']) or trim($_POST['nazov']) === '' ) add_no_name(); // odesláno a vyplněno else /* nějaké zpracování */ ?> možná bys ale mohl přemyslet použití těch hlašek, protože mít spešl funkci obsahující celý formulář pro každou hlášku... to pak musí být i kombinace a to bude ifů a funkcí že.... šlo by prostě mít formulář a do něj jen vepsat zadané hlášky |
||
ra100 Profil * |
#22 · Zasláno: 1. 11. 2011, 13:39:27
...tak som to vyriešil nasledovne -
využil som <input type="hidden" name="add" readonly /> a <input type="hidden" name="add1" readonly /> nasledovne - if(isset($_POST['add']) or isset($_POST['add1']) and trim($_POST['nazov']) == '' ){ add_no_name(); } else {} medzerník už nieje problémom...) Ešte raz ďakujem všetkým zainteresovaným ) |
||
ra100 Profil * |
#23 · Zasláno: 1. 11. 2011, 13:46:25
Nox:
...možná bys ale mohl přemyslet použití těch hlašek, protože mít spešl funkci obsahující celý formulář pro každou hlášku... Naštastie nie...dôležitý je len názov, keď sa rozhodneš otvoriť novy formulár, tak ak ho celý nevyplníš, nič sa nedeje, uloží sa len to, čo si stihol. A ak sa to rozhodneš celé uložiť, tak práve názov je dôležitý. Ďaľší obsah pod názvom môžeš editovať neskôr. Tvoja konštrukcia je dobrá. Ďakujem za radu. |
||
Časová prodleva: 12 let
|
0