Form redirection

Autor nenikic, 11. Rujan 2013, 21:41

0 Članovi i 1 Gost pregledava ovu temu.

nenikic

Pozdrav!

Imam potrebu da na site-u imam nekoliko kontakt formi (cca. 15) i svaku od tih 15 formi bi nakon slanja redirectao na zasebnu thank-you stranicu?
Trenutno imam instaliran module s kontakt formom koji učitavam na svakom mjestu gdje želim da se forma pojavljuje. Nakon slanja forme, redirekciju sam napravio tako da sam dodao jednu linije koda u php file-u. Tako mi svaki poziv tog modula redirecta na uvijek isti url - ja želim redirekciju svake forme na zaseban url.

Kako?

Hvala!  :pivo:

Dario

ajd nam ubaci tu liniju koda koju si dodao za redirekciju da pogledamo prvo.... neznam gdje koristiš forme i dal ih imaš po čemu raspoznati, ali generalno mislim da neće bit problema... Morat ćeš pronaći ili napraviti neku varijablu da znaš uopće na koju stranicu redirectati pa neznam dal imaš što takvoga... Trebao bi imati s obzirom da po nečem moraš znati na koji url redirectati.... Također morali bi znati na kojim stranicama, odnosno koju komponentu prikazuješ na stranicama gdje je taj modul, pa možda po ID-jevima članaka ili kontakta ili gdje već koristiš možemo raspoznat kud treba redirectat....
---
Molim da mi ne šaljete privatne poruke sa zahtjevima za pomoć, takve poruke ignoriram - zato služi forum :)
2b || !2b; this.question();
http://www.dblaze.eu

Onebeat

Jel to znači da imas nekakav izbor forme npr. (prodaja,nabava,info itd) ili ?

Ako je tako onda jednostavno napravi usporedbu sa izborom inputa i ovisno o tome prosljedi na zeljeni redirect...

Postavio ovdje module i naravno tu liniju koda...
Truth will set you free

nenikic

Citat: DarioORION] link=topic=4449.msg15435#msg15435 date=1378982701]
ajd nam ubaci tu liniju koda koju si dodao za redirekciju da pogledamo prvo.... neznam gdje koristiš forme i dal ih imaš po čemu raspoznati, ali generalno mislim da neće bit problema... Morat ćeš pronaći ili napraviti neku varijablu da znaš uopće na koju stranicu redirectati pa neznam dal imaš što takvoga... Trebao bi imati s obzirom da po nečem moraš znati na koji url redirectati.... Također morali bi znati na kojim stranicama, odnosno koju komponentu prikazuješ na stranicama gdje je taj modul, pa možda po ID-jevima članaka ili kontakta ili gdje već koristiš možemo raspoznat kud treba redirectat....
Poznanici sam napravio jedan jednostavan site i na adresi: http://www.blascos.com.hr/mirrors nalazi se kolekcija ogledala koje ona vlastoručno izrađuje. Kad uđete u opis svakog ogledala nalazi se kontakt forma putem koje se može poslati upit za to ogledalo. Nakon što se forma popuni i pošalje, browser se redirecta na contact-thank-you stranicu. To je napravljeno tako da je u php skriptu modula, nakon uspješnog slanja podataka na mail dodana ova naredba:
header('Location: http://blascos.com.hr/contact-thank-you');

E sad, poznanica je angažirala jednu AdWords konzultanticu koja će joj organizirati nekoliko AdWords kampanja a ona me pak tražila da se svaki redirect, ovisno od kojeg je ogledala iniciran, redirecta na jedinstvenu thank-you stranicu (koje bi onda ona pratila kroz Analyticse).

Eto, to je situacija a ja ne znam kako to napraviti... a znam kako se to ne treba napraviti!  :-X

nenikic

Citat: Onebeat  u 12. Rujan 2013, 16:51
Jel to znači da imas nekakav izbor forme npr. (prodaja,nabava,info itd) ili ?

Ako je tako onda jednostavno napravi usporedbu sa izborom inputa i ovisno o tome prosljedi na zeljeni redirect...

Postavio ovdje module i naravno tu liniju koda...
evo gore je (nadam se) potanko sve objašnjeno pa će mi tvoje mišljenje biti interesantno!

Onebeat

Citat: nenikic  u 12. Rujan 2013, 21:01
evo gore je (nadam se) potanko sve objašnjeno pa će mi tvoje mišljenje biti interesantno!

Pozdrav,

dobro je objasnjeno nemam sto za rec...

Ovo sto tebi treba je jako jednostavno pa cu ti napisat kako bi ja to rijesio...

Kada kliknes na Buy now otvori se link http://www.blascos.com.hr/mirrors/10-thea koji na kraju ima naziv ogledala stoga trebas parsira url koji je otvoren i s obzirom na njega preusmjerit na odredenu thank you page

Poprilično jednostavno ;D
Truth will set you free

nenikic

Citat: Onebeat  u 12. Rujan 2013, 22:19
Citat: nenikic  u 12. Rujan 2013, 21:01
evo gore je (nadam se) potanko sve objašnjeno pa će mi tvoje mišljenje biti interesantno!
Ovo sto tebi treba je jako jednostavno pa cu ti napisat kako bi ja to rijesio...

Kada kliknes na Buy now otvori se link http://www.blascos.com.hr/mirrors/10-thea koji na kraju ima naziv ogledala stoga trebas parsira url koji je otvoren i s obzirom na njega preusmjerit na odredenu thank you page

Poprilično jednostavno ;D
Da, nešto kao kad čitaš recepte u kuharici - izgleda piece of cake a na kraju ispadne splačina samo takva.
Ajmo iz početka, koliko soli?  :-\

Onebeat

Citat: nenikic  u 12. Rujan 2013, 22:24
Da, nešto kao kad čitaš recepte u kuharici - izgleda piece of cake a na kraju ispadne splačina samo takva.
Ajmo iz početka, koliko soli?  :-\

Koliko soli - zavisno koliko volis slano....

Što te muči ?

Parsiranje urla ili...
Truth will set you free

nenikic

Citat: Onebeat  u 12. Rujan 2013, 22:43
Što te muči ?

Parsiranje urla ili...
Muči me puno toga... Nemoj se šokirati ako te upitam da li moram upaliti rernu da bi spekao kruh!  :geek:

OK, malo sam prošvrljao po drugim kuharicama i sad mi je jasnije što bi trebao napraviti ali ne i kako bi to trebao napraviti!  ???

Dakle:
- trebao bi parse_url i iz toga izvući path?
- maknuti iz patha: "/mirrors/*-" da bi mi ostalo samo $ime (kako? path pretvoriti u niz vrijednosti koje odjeljuje "-"?)
- taj path pridodati osnovnom redirect url-u "/contact-thank-you"path i tamo redirectati browser

Tri koraka mala za čovječanstvo ali velika za mene!  :P

BTW, taj redirect page ja sam napravio ručno: to je jedan članak koji se nigdje ne pokazuje osim pozivom hidden menu stavke, ima li elegantnijeg načina?
i još nešto, kako taj custom redirect page kreirati u letu da ne moram za svaki redirect raditi zasebni članak (jer sam obavješten da poznanioca baš radi neke mozaike koje bi isto stavila na web)  ::)

Dario

#9
Citat: nenikic  u 12. Rujan 2013, 20:59
header('Location: http://blascos.com.hr/contact-thank-you');

"Nebo otpri se....", za one koji su gledali Gruntovčane :)

a sad ajmo na problem.....
Prvo ako već radiš redirekciju u Joomli onda se to ne radi tako, već se radi kroz Joomlu, pa pod pretpostavkom da redirektaš is view-a umjesto kontrolera to bi išlo ovako:

<?php
$app 
JFactory::getApplication();
$app->redirect('index.php?option=com_nazivkomponente');
?>


jedino ovak napamet neznam dal će sam rutat link ili mu treba JRoute kod redirecta...

nadalje... Budući da mi nisi baš odgovorio na pitanja koja sam ti postavio evo kako bi ja napravio to, pod pretpostavkom da su ti forme u člancima odnosno defaultnom content komponentom

Prvo radi refernce moraš saznat na kojoj si uopće stranici, odnosno njen ID da bi znao kud kasnije preusmjerit... U primjeru sam ti uključio i dohvaćanje cijelog linka...

<?php
$clanakId 
JRequest::getVar('id'0);
$linkDoStranice JURI::getInstance()->toString();
?>



Iako mislim da to baš nije ono što ti treba, ja bi na tvom mjestu modificirao modul. Naime, kod Joomle se u formi za prijavu, a vjerujem i u drugima proslijeđuje i skriveno polje imena returnurl koje se može iskoristiti za ove potrebe.... Probaj malo proguglati iako sam nekako stekao doja mda nemaš baš puno doticaja s PHP-om pa neznal dal ćeš ovo moći odraditi, al omžda se i varam.
---
Molim da mi ne šaljete privatne poruke sa zahtjevima za pomoć, takve poruke ignoriram - zato služi forum :)
2b || !2b; this.question();
http://www.dblaze.eu

Onebeat

Citat: nenikic  u 12. Rujan 2013, 22:55
Dakle:
- trebao bi parse_url i iz toga izvući path?
- maknuti iz patha: "/mirrors/*-" da bi mi ostalo samo $ime (kako? path pretvoriti u niz vrijednosti koje odjeljuje "-"?)
- taj path pridodati osnovnom redirect url-u "/contact-thank-you"path i tamo redirectati browser

Tri koraka mala za čovječanstvo ali velika za mene!  :P


Evo kako sam to ja to testno napravio parse url ;)

Što se tiče automatizma moze se to i izvest.

Ovo sto je Dario napisao stoji i dobro je za redirect al mislim da je ipak custom module rijesenje bolje...

Truth will set you free

nenikic

Citat: DarioORION] link=topic=4449.msg15443#msg15443 date=1379080346]
"Nebo otpri se....", za one koji su gledali Gruntovčane :)

a sad ajmo na problem.....
Prvo ako već radiš redirekciju u Joomli onda se to ne radi tako, već se radi kroz Joomlu, pa pod pretpostavkom da redirektaš is view-a umjesto kontrolera to bi išlo ovako:

<?php
$app 
JFactory::getApplication();
$app->redirect('index.php?option=com_nazivkomponente');
?>

....cut
A 'bem ga... ;) Ja sam puknuo u google "php page redirecton after form submit" i to mi je ispalo, šta sam ja znao da može i kompliciranije!  ;)

Teoretski razumijem ovo što pišeš ali praktično sam zapeo u pustoj šumi za vrijeme mladog mjeseca! Neke osnove php-a znam, ali ništa ozbiljnije. A pogotovo ne kako ukomponirati u Joomlu (malo mi je sve to nejasno: model-view-controler). Ali spreman sam naučiti pa ako imaš volje, biti ću ti zahvalan da mi osvjetliš put.  ;D

nenikic

Citat: Onebeat  u 13. Rujan 2013, 16:01
Evo kako sam to ja to testno napravio parse url ;)

Što se tiče automatizma moze se to i izvest.

Ovo sto je Dario napisao stoji i dobro je za redirect al mislim da je ipak custom module rijesenje bolje...

Ok, izvukao si [broj]-[ime] ali meni bi trebalo samo [ime]. Ali mene zanima KAKO si to izvukao i kojom komandom bi browser redirectao na custom thank-you stranicu. Ona komanda "header" kod nekih izaziva zgražanje!  :D

Onebeat

Citat: nenikic  u 13. Rujan 2013, 20:59
Ok, izvukao si [broj]-[ime] ali meni bi trebalo samo [ime]. Ali mene zanima KAKO si to izvukao i kojom komandom bi browser redirectao na custom thank-you stranicu. Ona komanda "header" kod nekih izaziva zgražanje!  :D

Ok nisam te shvatio da ti treba samo ime stoga sam prepravio kod


<?php
$url 
$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
$part explode('-'$url);
$last end($part);
?>



Objašnjenje bi glasilo "Pročitaj trenutni link i pronađi sve "-" te poslozi rezultate u polje te prikazi zadnji iz polja"

Sto se tiče redirecta mislim da ti je najbolje napravit thank you stranica bude u ovom obliku

http://blascos.com.hr/nazivogledala-contact-thank-you

Tako kada postavis skriptu onda pročita link nakon submita to pridoda ovom thank you page i to je to a ti napravis u joomli članak koji ce bit u obliku naziv ogledala thank you i to je to ;)
Truth will set you free

nenikic

Citat: Onebeat  u 13. Rujan 2013, 21:27
Ok nisam te shvatio da ti treba samo ime stoga sam prepravio kod...cut...
Hvala na ovome, sad mi se već čini kao da ću skuhati nešto. Neće biti cordon bleu ali neko jaje na oko bi moglo ispasti!  ;)

Još mi samo nije jasno kojom naredbom izvršiti redirect? Ono što sam koristio header('Location: http://blascos.com.hr/contact-thank-you'); valjda i nije neko rješenje?  :(