(PHP) Form

Programovacie jazyky, rady, poradňa...
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: (PHP) Form

Príspevok od používateľa *****HERO***** »

no pred pouzitim headeru nesmies nic vypisovat .. ta funkcia musi byt niekde na zaciatku scriptu, pred akymkolvek vystupom
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Re: (PHP) Form

Príspevok od používateľa buchticka221 »

*****HERO***** napísal:no pred pouzitim headeru nesmies nic vypisovat .. ta funkcia musi byt niekde na zaciatku scriptu, pred akymkolvek vystupom
keď to dám na začiatok warning nevipisuje lebo ma to chce hodit do zlozky i riadky...

Kód: Vybrať všetko

$_SERVER = 'index.php';
header('location: ' . $_SERVER['PHP_SELF']);
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: (PHP) Form

Príspevok od používateľa *****HERO***** »

a preco upravujes superglobalnu premennu $_SERVER?

proste na zaciatku action scriptu si odchyt formular, porob tu svoju magiu s tymi textovymi subormi a presmeruj to cez header dakam, to je vsetko. ak sa chces presmerovat na ten isty script v ktorom spracuvavas formular, tak pouzi to $_SERVER['PHP_SELF'] -> http://php.net/manual/en/language.varia ... lobals.php
pcsiete
Medium Star
Medium Star
Príspevky: 413
Registrovaný: 07 dec 2012, 18:47

Re: (PHP) Form

Príspevok od používateľa pcsiete »

Ak používaš čisto len echo alebo printf a output_buffering nie je nastavené na "On" v php.ini, posiela sa každý výstup priamo klientovi. Ak zapneš output_buffering alebo použiješ funkciu "ob_start()", začne sa výstup zapisovať do bufferu z kadial sa finálne vypíše (príp. je možné, že sa vypíše po jeho naplnení, alebo na príkaz).
No a toto celé má dopad na hlavičku. Totiž HTTP hlavička sa nevolá "header" len tak pre nič za nič, ale pre to, lebo sa zvyčajne posiela na začiatku spolu so základnými informáciami. Čiže ak nastavíš zapneš bufferovanie výstupu, hlavička bude taktiež niekde v nejakom bufferi a bude sa dať pozmeniť cez header.
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Re: (PHP) Form

Príspevok od používateľa buchticka221 »

*****HERO***** napísal:a preco upravujes superglobalnu premennu $_SERVER?

proste na zaciatku action scriptu si odchyt formular, porob tu svoju magiu s tymi textovymi subormi a presmeruj to cez header dakam, to je vsetko. ak sa chces presmerovat na ten isty script v ktorom spracuvavas formular, tak pouzi to $_SERVER['PHP_SELF'] -> http://php.net/manual/en/language.varia ... lobals.php
Ale keď dám na začiatok

Kód: Vybrať všetko

<?php
header('location: ' . $_SERVER['PHP_SELF']);?>
Tak mi to napíše Stránku sa nepodarilo správne presmerovať
Tak kam mám dať ten header...
Form vypadá takto

Kód: Vybrať všetko

<form name="counter" action="" method="post"><input type="text" size="8"
name="d2"><input type="submit" name="btn" id="btn" value="Ďalší web" style="display:none"/></form>
A je úplne na začiatku... Nedá sa to nejako inak alebo kam mám vložiť ten header?

//autoeditácia príspevku (16 Jan 2013, 14:57)
a nedá sa to nejako oklamať tým že by sa mi zmenili name="counter" a name="d2" na name="counter2" a name="d3" tým padom keď stlačí f5 sa nič nevykoná...
Lenže ako to spraviť?
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: (PHP) Form

Príspevok od používateľa *****HERO***** »

je ti snad jasne, ze ten redirect musis dat do nejakej podmienky, v ktorej kontrolujes, ci bol formular odoslany, inak sa to zacykli
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Re: (PHP) Form

Príspevok od používateľa buchticka221 »

*****HERO***** napísal:je ti snad jasne, ze ten redirect musis dat do nejakej podmienky, v ktorej kontrolujes, ci bol formular odoslany, inak sa to zacykli
hej dal som to navrch stánky ale teraz keď kliknem na next tak mi to hned presmeruje... takto to nepojde je este nejaky iny sposob?
pcsiete
Medium Star
Medium Star
Príspevky: 413
Registrovaný: 07 dec 2012, 18:47

Re: (PHP) Form

Príspevok od používateľa pcsiete »

Ak riesis redirect, tak ja som to kedysi robil tak ze som echoval <meta>, ale bolo to z ineho dovodu. Pokial viem sa da aj vyechovat javascript.
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Re: (PHP) Form

Príspevok od používateľa buchticka221 »

pcsiete napísal:Ak riesis redirect, tak ja som to kedysi robil tak ze som echoval <meta>, ale bolo to z ineho dovodu. Pokial viem sa da aj vyechovat javascript.
Neriešim mne ide oto keď stlačím f5 nech sa nevykoná znovu príkaz(script)
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: (PHP) Form

Príspevok od používateľa *****HERO***** »

buchticka221 napísal: hej dal som to navrch stánky ale teraz keď kliknem na next tak mi to hned presmeruje... takto to nepojde je este nejaky iny sposob?

pojde to tak, ale ty to robis zle .. daj sem kod
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Re: (PHP) Form

Príspevok od používateľa buchticka221 »

[quote="*****HERO*****"]
kkk
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: (PHP) Form

Príspevok od používateľa *****HERO***** »

no a kde je teda problem? a kde je zvysok kodu, ktory sa ma vykonat ked odosles formular?
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Re: (PHP) Form

Príspevok od používateľa buchticka221 »

*****HERO***** napísal:no a kde je teda problem? a kde je zvysok kodu, ktory sa ma vykonat ked odosles formular?
keď kliknem na dalsi web tak mi to vykoná ten header co si mi poslal ( cize sa presmeruje stranka a script ide od zaciatku) cize ten kod v
if (isset($_POST['btn']) && !empty($_POST['btn'])){
sa vobec nevikoná ja to proste nemozem refreshovat stranku je neaky iny sposob?
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Odošle príkaz znovu

Príspevok od používateľa buchticka221 »

Mám form

Kód: Vybrať všetko

<form name="counter" action="" method="post"><input type="text" size="8"
name="d2"><input type="submit" name="btn" id="btn" value="Ďalší web" style="display:none"/></form>
keď kliknem na Ďalší web a potom stlacim f5 tak mi znovu vykona skript... Dá sa to upraviť aby po kliknuti na Ďalší web keď stlačí f5 tak sa refreshne stranka ale nevykona skript odznovu?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Odošle príkaz znovu

Príspevok od používateľa harrison314 »

nie
Everhard
Light Expert
Light Expert
Príspevky: 79
Registrovaný: 25 dec 2010, 14:41

Re: Odošle príkaz znovu

Príspevok od používateľa Everhard »

subor1 - formular, action na subor2
subor2 - vykonavajuci skript, a nakonci header("Location: ./subor3.php");
subor3 - hlaska: "ok, skript vykonany"

toto myslis? pripadne pouzi method GET, a nie POST. zalezi o aky formular ide
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Odošle príkaz znovu

Príspevok od používateľa harrison314 »

Everhard napísal:subor1 - formular, action na subor2
subor2 - vykonavajuci skript, a nakonci header("Location: ./subor3.php");
subor3 - hlaska: "ok, skript vykonany"

toto myslis? pripadne pouzi method GET, a nie POST. zalezi o aky formular ide
to sa riesilo uz v jeho teme http://www.hojko.com/php-form-t177276.html
Everhard
Light Expert
Light Expert
Príspevky: 79
Registrovaný: 25 dec 2010, 14:41

Re: Odošle príkaz znovu

Príspevok od používateľa Everhard »

V tej teme vidim, ze nechce pouzivat metodu GET, aby mu link hore neupravovalo. Tu nechce pouzivat metodu POST, koli F5.
Potom ostava obnovovat obsah webu cez JQuery.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: (PHP) Form

Príspevok od používateľa audiotrack »

témy spojené
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Re: Odošle príkaz znovu

Príspevok od používateľa buchticka221 »

Everhard napísal:V tej teme vidim, ze nechce pouzivat metodu GET, aby mu link hore neupravovalo. Tu nechce pouzivat metodu POST, koli F5.
Potom ostava obnovovat obsah webu cez JQuery.
JQuery a to už ako ja proste potrebujem aby sa vymazali tie data po odoslaní formulára a to tak že čo bude v
if (isset($_POST['btn']) && !empty($_POST['btn'])){
ostane zobrazené... Keby tam dam echo"som idiot"; a pouzil by som
header('location: ' . $_SERVER['PHP_SELF']);
tak mi to ten echo "som idiot"; nezobrazí lebo sa hneď stránka presmeruje...
Napísať odpoveď