Autor | Zpráva | ||
---|---|---|---|
Post Profil * |
#1 · Zasláno: 1. 6. 2007, 01:01:45
Mám klasický formulář který se odesílá do php skriptu který ho spracuje... Pokud například uživatel nevyplní kolonku jméno, vrátím ho pomocí header zpátky na stránku a do headeru přidám ostatní vyplněné informace (nadpis, text..) aby je nemusel vyplnovat znovu, takže se mu vlastně vrátí něco jako
test.php?nick=Honza&nadpis=blabla&text=textblabla_bla funguje to v pohodě, problém nastane když chci vrátit text z <textarea> v tom případě na mě na stránce se spracováním vyskočí Warning: Header may not contain more than a single header, new line detected. Takže mě napadlo že kdybych to místo metody get v tom headeru vrátil metodou post tak by to mělo fungovat... jenže nevím jak pomocí headeru odeslat data metodou POST poradí někdo? (popřípadě nějakou jinou metodu jako header, kterou bych mohl vrátit obsah políčka textarea ..) díky |
||
zero0x Profil |
#2 · Zasláno: 1. 6. 2007, 06:36:11
tieto formulare sa maju spracovavat trosku inak
<? php kod.. ?> <html> html kod </html> ide o to, ze na jednej stranke mas uplne na zaciatku php kod, a potom nizsie mas html kod. takymto sposobom budes mat iba <form method="post"> ... </form> pretoze ak nespecifikujes action, tak sa data z formu poslu na stranku, na ktorej sa nachadza. a to prave chceme. a potom pomocou PHP zistis, ci sa form odosiela, mozes to urobit napriklad tak, z pridas hidden pole posielam=1, a ak sa posiela tak skontrolujes udaje. ak su udaje v poriadku tak mozes vykonat nejaku dalsiu akciu, alebo mozes presmerovat na inu stranku. ak udaje nie su v poriadku, tak zobrazis chybove hlasenie, a udaje zobrazis uz jednoducho <input name="test" value="<?=$_POST['test'];?>" /> |
||
Aleš Janda Profil |
#3 · Zasláno: 1. 6. 2007, 11:03:58
> <input name="test" value="<?=$_POST['test'];?>" />
Chyba - text musíš projet funkcí HTMLSpecialChars() - jinak se to zasekne třeba na uvozovkách. > test.php?nick=Honza&nadpis=blabla&text=textblabla_bla funguje to v pohodě, problém nastane když chci vrátit text z <textarea> v tom případě na mě na stránce se spracováním vyskočí Warning: Header may not contain more than a single header, new line detected. Parametry musíš projet funkcí URLEncode(), jinak souhlasím s příspěvkem výše. |
||
Post Profil * |
#4 · Zasláno: 1. 6. 2007, 13:29:17
jj vím že by to šlo udělat tak že bych dal php kod nad vložení formuláře, ale nemám to takhle moc rád, takže se to snažím udělat aby to šlo přes tu další stránku
|
||
zero0x Profil |
#5 · Zasláno: 1. 6. 2007, 14:05:57
no tak potom to urob tak, ako pise Ales, funkciou URLEncode,
ta chyba vznika preto, lebo sa nasiel znak . ked ho tou funkciou zakodujes, tak uz nebude vznikat chyba |
||
Časová prodleva: 17 let
|
0