Forum » Programiranje » PHP POST težava
PHP POST težava
gufy123 ::
Pozdravljeni
Delam na spletni strani, kjer imam težavo z vnosno formo in procesiranjem le-te.
v php je torej narejen form, ki po submit kliče neko skripto s POST. Ta preverja podatke in če niso OK, bi želel še enkrat sprožiti POST z naslednjim postopkom:
Ugotavljam, da se ta kripta v celoti izvede, ni pa nobenega rezultata. Ne redirekta na AddArticle.php kot bi pričakoval, da bo.
Ali bi lahko bil problem v tem, da se najprej izvede POST, pri procesiranju tega bi želel še enkrat izvesti POST?
lp
Delam na spletni strani, kjer imam težavo z vnosno formo in procesiranjem le-te.
v php je torej narejen form, ki po submit kliče neko skripto s POST. Ta preverja podatke in če niso OK, bi želel še enkrat sprožiti POST z naslednjim postopkom:
$data = array ( 'AddArticle' => 'aaa', 'ArticleTitle' => $title, 'ArticleComment' => $comment ); $data = http_build_query($data); $url = "http://localhost:90/aa/AddArticle.php"; $context_options = array( 'http'=>array( 'method' => 'POST', 'header' => "Content-type: application/x-www-form-urlencoded\r\n" ."Content-Length: " . strlen($data), 'content' => $data ) ); $context = stream_context_create($context_options); $stream = fopen ($url, 'rb', false, $context);
Ugotavljam, da se ta kripta v celoti izvede, ni pa nobenega rezultata. Ne redirekta na AddArticle.php kot bi pričakoval, da bo.
Ali bi lahko bil problem v tem, da se najprej izvede POST, pri procesiranju tega bi želel še enkrat izvesti POST?
lp
DeeJay ::
Zakaj pa ne delaš z AJAX requestom?
Najprej preveriš vnose preko javascript (jquery), če je vse ok pošleš podatke na nov php preko AJAXa in tam še enkrat preveriš poslane podatke.
Če je ok vrneš 1, če ni ok vrneš napako, ki jo preko jquery tudi izpišeš.
Najprej preveriš vnose preko javascript (jquery), če je vse ok pošleš podatke na nov php preko AJAXa in tam še enkrat preveriš poslane podatke.
Če je ok vrneš 1, če ni ok vrneš napako, ki jo preko jquery tudi izpišeš.
gufy123 ::
Ta varjanta se mi zdi bolj elegantna, kot da se je*em z ajay, jquery, validacija tukaj, validacija tam... Na "moj" način imam rešeno vse v paketu, npr. jquery pa še vedno lahko naknadno dodam za kakšno malenkost.
DeeJay ::
PHP vedno laufa server side, se prav se more za vsako akcijo (naprimer POST) zgodit refresh strani, pri AJAXU pa ne rabiš nič refreshat strani.
Ne vem za kak namen to rabiš. Če je to samo zate pol te to verjetno ne bo motilo, če delaš pa za neko splošno uporabno stran, je pa tvoja metoda zastarela.
Ne vem za kak namen to rabiš. Če je to samo zate pol te to verjetno ne bo motilo, če delaš pa za neko splošno uporabno stran, je pa tvoja metoda zastarela.
gufy123 ::
OK. To, da je način zastarel, je dovoljšen razlog, da poskusim ta AJAX način. Imaš mogoče kakšen v redu primer takega načina? Drugače bom pobrskal po netu... Hvala!
DeeJay ::
Na hitro:
https://stackoverflow.com/questions/500...
kokr sm pregledal, bo to čist dovolj za začetek, da ti bo jasno.
Seveda boš mogu v skripti dodat klic do jquery knjižnice.
Sej načeloma ne rabiš delat validacije že takoj z javascriptom, morš pa nujno validirat v drugi PHP skripti, ki jo kliče ajax.... Je pa bl "fensi", če validiraš polje že takoj, ko se uporabnik premakne na drugo vnosno polje.
https://stackoverflow.com/questions/500...
kokr sm pregledal, bo to čist dovolj za začetek, da ti bo jasno.
Seveda boš mogu v skripti dodat klic do jquery knjižnice.
Sej načeloma ne rabiš delat validacije že takoj z javascriptom, morš pa nujno validirat v drugi PHP skripti, ki jo kliče ajax.... Je pa bl "fensi", če validiraš polje že takoj, ko se uporabnik premakne na drugo vnosno polje.
smacker ::
Ne rabiš ajaxa za tole... POST zadošča da pošlješ podatke iz clienta na server. Potem na serveru jih preveriš in če ustrezajo pokličeš funkcijo (scripto add article zapakiraš v fukcijo) ki podatke shrane v bazo ali karkoli, če ne ustrezajo pa uporabniku prikažeš poročilo o napaki. Pošiljat POST request iz serverja na server je bedarija, če pa lahko direktno kličeš funkcijo:
Drugač pa "lep" vmesnik danes res sproti preverja vnesene podatke. Če zadošča preverjanje pri clientu (torej dolžina gesla, vsebovanje posebnih znakov,...) potem to nardiš z javascriptom. Za sprotne preverbe na strežniku (ali username že obstaja) pa rabiš ajax klic na server. !VEDNO! pa se podatki preverjajo tudi na strežniku, preden izvedeš kakršnokoli akcijo.
AddArticle($title, $content)
Drugač pa "lep" vmesnik danes res sproti preverja vnesene podatke. Če zadošča preverjanje pri clientu (torej dolžina gesla, vsebovanje posebnih znakov,...) potem to nardiš z javascriptom. Za sprotne preverbe na strežniku (ali username že obstaja) pa rabiš ajax klic na server. !VEDNO! pa se podatki preverjajo tudi na strežniku, preden izvedeš kakršnokoli akcijo.
blackbfm ::
da je http POST zastarel lahko govorijo ljudje ki ne razumejo kako delujejo zadeve
enostavne stvari lahko še lažje s htmljem
Če zadošča preverjanje pri clientu (torej dolžina gesla, vsebovanje posebnih znakov,...) potem to nardiš z javascriptom
enostavne stvari lahko še lažje s htmljem
DeeJay ::
da je http POST zastarel lahko govorijo ljudje ki ne razumejo kako delujejo zadeve
Če zadošča preverjanje pri clientu (torej dolžina gesla, vsebovanje posebnih znakov,...) potem to nardiš z javascriptom
enostavne stvari lahko še lažje s htmljem
Kdo je reku da je POST zastarel? sej ajax tud nardi GET ali POST na strežnik, odvisno kaj izbereš.
Zastarela metoda je da delaš vse samo s PHP, ker morš narest najmanj en page refresh več, kar roko na srce danes zgleda zelo lame.
smacker ::
Za en submit narediš en request (refresh), nikoli dveh OP je sicer želel dva, ampak to ni potrebno.
blackbfm ::
Zastarela metoda je da delaš vse samo s PHP, ker morš narest najmanj en page refresh več, kar roko na srce danes zgleda zelo lame.
pri enostavnem obrazscu je vseeno ce ti refresha page.. ni smiselno rinit VSE v ajax
DeeJay ::
Za en submit narediš en request (refresh), nikoli dveh OP je sicer želel dva, ampak to ni potrebno.
Kaj pa če pride do napake? Zato sm napisal, da je najmanj en refresh.
Zastarela metoda je da delaš vse samo s PHP, ker morš narest najmanj en page refresh več, kar roko na srce danes zgleda zelo lame.
pri enostavnem obrazscu je vseeno ce ti refresha page.. ni smiselno rinit VSE v ajax
Ja sej zato je pa tolk konfuzno grdih in neuporabnih strani na internetu.
Če delaš neki na novo, pol vsaj nared tko kokr se zagre. Pa vseen, če je to ena mala forma al pa forma s 100 polji.
Stran more bit konsistenčna, če na vsakem obrazcu uporabš drugačno metodo samo medeš uporabnika.
Zgodovina sprememb…
- spremenil: DeeJay ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | JS frameworks: knockoutJS, angularJS, react, ...Oddelek: Programiranje | 7251 (4096) | kuall |
» | [php] preverjanje online uporabnikovOddelek: Programiranje | 2058 (1714) | cobrica |
» | Download vsebine strani s JSOddelek: Izdelava spletišč | 2548 (1846) | MrBrdo |
» | PHP, povezava, _SESSIONOddelek: Izdelava spletišč | 842 (667) | Lion29 |
» | Pošiljanje podatkov - Ajax (post) v php fileOddelek: Izdelava spletišč | 2674 (2497) | Lion29 |