Autor | Zpráva | ||
---|---|---|---|
Sorty Profil * |
#1 · Zasláno: 11. 8. 2010, 13:55:44
Ahojte, mám menší problém s formulárom. Ide o to, že pokiaľ je užívateľ prihlásený tak z DB načíta jeho meno a mail, ak nieje tak ich musí vyplniť ručne.
Keď nieje prihlásený tak sa zobrazuje tento kód <input type="text" id="CeleMeno" maxlength="50" size="50" class="textInput" /> To ide. A keď je prihlásený tak <input type="hidden" id="CeleMeno" maxlength="50" size="50" class="textInput" value="<?php echo $uzivatel->data['CeleMeno']; ?>" /> A tu je ten problém, pretože mi po odoslaní formuláru napíše, že meno nebolo vložené, vo value sa síce nachádza, ale pokiaľ je pole hidden tak mi to neberie, ak type="text" tak áno, ale následne po obnovení stránky to meno z toho poľa aj tak zmizne ale vo value je. Neviem ako to proste ošetriť aby to pole bolo skryté a aby to aj fungovalo :( ďakujem za každú radu |
||
PostCC Profil |
#2 · Zasláno: 11. 8. 2010, 14:02:02
Chybí atribut NAME. Některé prohlížeče si s chybějícím NAME poradí a nahradí jej ID, ale zřejmě nikoli u všech typů tagu a navíc je to chybné chování.
Správně tedy: <input type="text" name="CeleMeno" id="CeleMeno" maxlength="50" size="50" class="textInput" /> resp. <input type="hidden" name="CeleMeno" id="CeleMeno" maxlength="50" size="50" class="textInput" value="<?php echo $uzivatel->data['CeleMeno']; ?>" /> |
||
tiso Profil |
#3 · Zasláno: 11. 8. 2010, 14:02:38
Sorty: chýba ti atribút name:
<input id="CeleMeno" name="???" …>
|
||
Sorty Profil * |
#4 · Zasláno: 11. 8. 2010, 14:30:25
Ďakujem za super rýchle odpovede, ale aj tak stým mám stále problém :(
Upravil som script a dal som tam teda name="CeleMeno", nahral na server, skúsil a išlo to.. ale po obnovení stránky mi to znova nezobralo. Nechápem tomu, niekedy to zoberie a niekedy nie a pritom meno vo value je stále napísané. Pokiaľ sa to vyplní ručne tak to ide perfektne a stále tak som z toho trošku mimo :o Funkcia, ktorá to kontroluje zatiaľ bez mailov, len meno a text správy: private function validate($nick = null, $msg = null) { $nick = $this->strFilter($nick); $msg = $this->strFilter($msg); if(empty($nick)) { $this->returnMessage(null, 'Napíšte vaše meno!'); return false; } if(empty($msg)) { $this->returnMessage(null, 'Vložte text správy!'); return false; } else { $this->addMessage($nick, $msg); } } V tom by nemala byť chyba keď to funguje, akurát nie pre prihlásených stále :( Pokiaľ funkciu vypnem, tak síce nenapíše chybu, aby som vložil meno, ale zase do databázy to CeleMeno neuloží. ďakujem ešte raz |
||
tiso Profil |
#5 · Zasláno: 11. 8. 2010, 14:35:53 · Upravil/a: tiso
Sorty: ten kód si sem pridal zbytočne, zaujímavé je ako vyzerá formulár (konkrétne tag form s atribútmi) a ako ho spracúvaš.
|
||
PostCC Profil |
#6 · Zasláno: 11. 8. 2010, 15:24:52
Jste si jistý, že oba ty tagy se ve stránce nevyskytují současně? Pokud máte ve stránce vloženy oba tagy se stejným atributem NAME a druhý v pořadí (prohlížeč zpracovává data zleva doprava shora dolů) má nastaveno 'value=""', samozřejmě se na server odešle prázdná hodnota.
|
||
Časová prodleva: 14 let
|
0