Asi sa to tyka Ajaxu, no kedze header je PHP funkcia tak to pisem tu.
Otazka je v nazve temy, resp. znie: Ako poslem informacie($_POST napr.) cez funkciu header resp., cez presmerovanie? Da sa to vobec?
Dik moc
Fórum › PHP
Ako poslem informacie($_POST napr.) cez funkciu header?
takto? ale moc som ta nepochopil :(
header("Location: stranka.php?prem=$_POST[prem]");
Lordest
Ako poslem informacie($_POST napr.) cez funkciu header resp., cez presmerovanie?
Cituji z PHP manuálu[1]:
> header — Send a raw HTTP header
header() dokáže akorát měnit hlavičky odpovědi, nic víc, nic míň – záleží na klientovi, jak s odpovědí naloží. Viz kódy odpovědi 301[2] a 302[3]. Je možné předávat obsah čeho jen budeš chtít skrz QUERY STRING v URL hlavičky Location, jak radí marioff.
Ale obecně, z principu HTTP, bych se tomuhle radši vyhnul. POST by měl sloužit k vytvoření/změně nějakého resource (radši nebudu překládat do češtiny), proto by veškeré změny měly proběhnout při POST požadavku a pak jen vrátit klientovi odpověď s kódem 303[4] a tím oznámit, kde se vytvořená/změněná resource nachází.
[1] http://cz.php.net/manual/en/function.header.php
[2] http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2
[3] http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.3
[4] http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.4
no posielat data v $_POST sa da napr. pomocou jQuery...
tu je kod ktory pouzivam ja:
javascript:
<script type="text/javascript">
<!--
function nazov_funkcie()
{
$.post("adresa_cieloveho_suboru",
{nazov_postu: $("nazov_text_pola").val()});
}
-->
</script>
a html:
<input type="text" name="nazov_text_pola" id="nazov_text_pola" />
<a href="javascript:void(0);" onclick="javascript:nazov_funkcie">Poslať</a>
malo by to fungovat...ale este musis mat includovanu kniznicu jQuery ;)
P.S.: v danom subore mozes pracovat s $_POST normalne ako keby si to posielal php-ckom
teda $_POST['nazov'] = ....
dufam ze pomozem... ;)
marioff napsal:
takto? ale moc som ta nepochopil :(header("Location: stranka.php?prem=$_POST[prem]");
dik, o tomto ale uz bohuzial viem..
A celkovo nejak inak v presmerovani (nie cez header()) sa to neda? Pretoze napr., mam registraciu, a uzivatel nevypise nickname. Ak nevypise, presmerovat ho na chybu = 2. No lenze!.. Ako ja fixnem chybu = 2 z toho, aby sa tam nedalo dostat v pripade ze neklikol na tlacitko Registrovat? to je ten najvacsi problem. Alebo napriklad, uprava profilu. Aby mi vypisalo profil uspesne aktualizovany, to nieje problem. Lenze na aktualizaciu vsetkych veci je este potreba F5 teda presmerovanie. Mozem to urobit aj cez url v prehliadaci, no lenze, zas, ako to fixnem - ze ked napriklad neodoslal tlacitko Aktualizovat, tak ho hodi spat? Bez tohto web ochudobnujem o tieto vyhlasky, pretoze ich nemozem fixnut :/.. A potom uzivatela iba presmeruje a on nevie ci sa to mu to ulozilo ci nie.. a pod.
Na userovo F5 pri vyplnani formu by som sa vykaslal, je to jeho sprostost. Riesil by som to asi AJAXom, a na serveri len check ci su data vyplnene atd. pokial ano return SUCCESS a vygenerujem hlasku "profil aktualizovany", v opacnom pripade nejake chybove kody ktore povedia ze to a to je zle. pokial sa nemylim tak posielanie pomocou AJAXu by nemalo menit obsah len to poslat na "pozadi". takze ked mu to hodi hlasku uspesne aktualizovany tak pojde z profilu prec. :-) aspon ja by som siel ;-).
na odosielanie formu som pred casom pouzil JS framework http://www.prototypejs.org/learn/introduction-to-ajax s tym na par riadkoch posles cely form.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Kontrola cez funkciu — založil Anonym
Cez aku funkciu docielim nazov suboru na ktorom sa nachadzam? — založil Lordest
Ako na distribucnu funkciu? — založil ukulele
Ako priradit funkciu — založil Marek
Ako pracovat s url ktora ma namiesto id napr. meno productu — založil nord
Moderátoři diskuze