PHP - v URL je hodnota, kterou chci přenést do stránky...
Ahoj,
prosím programátory o radu...
Posíláme svým zákazníkům informační emaily (prostě spam :) ) a myslím, že systém, přes který to jede, je MandrillaApp.
Jde o to, že když dotyčný NECHCE zasílat naše maily tak si klikne na poslední odkaz kde je napsáno něco vy smyslu "nechcete-li, klikněte zde".
A ta mandrilla udělá to, že ho samozřejmě vyřadí a přesměruje na stránku, kterou ji zadám, čili: zruseni-odberu.php (na naší doméně)
Když se tak stane, zobrazí se tento odkaz:
Kód:
http://www.nasedomena.cz/zruseni-odberu.php?md_email=jan%40novak.cz&md_id=3d99f3ebc4bf49b5b7d50dc5fbb78a82
Chtěl bych ještě do textu přímo na web uvést:
Potvrzujeme, že Váš email: jan@novak.cz byl úspěšně vyřazen ze zasílání...
Ovšem nevím jak to z URL dostat do té stránky ??
Díky
Re: PHP - v URL je hodnota, kterou chci přenést do stránky...
Tak hurá - už jsem to našel....
<?php echo($_GET['md_email']);?>
Re: PHP - v URL je hodnota, kterou chci přenést do stránky...
Jen bych upozornil na http://cs.wikipedia.org/wiki/Cross-site_scripting , tedy doporucuji obalit volanim funkce htmlspecialchars
Re: PHP - v URL je hodnota, kterou chci přenést do stránky...
Meluzino, díky za tip.
Nicméně soubor, který řeší to co jsem potřeboval není napojen na DB, jediné co udělá, tak že odešle na mne email ve znění : Vyřaďte prosím ze zasílání newslettrů následující email : XXXX
Přičemž pod XXX je to, co na předchozí stránce vyplní do políčka...
V případě, že by tam zadal <stript>bla bla </script> stane se akorát to že mě do emailu pod XXX nepřijde nic a nebo nějaké blbosti, které prostě smažu...
A nebo se i tak pletu a stejně tak by případný útočník mohl cosi pozměnit ? Ikdyž samotný PHP nemá atributy pro zápis...
ADD: mimochodem asi první co tě napadne proč to neřeším metodou POST, ale GET. Jde o to, že automatický system, který se opravdu vyřazuje, je program MandrillApp.
Čili pokud v emailu dotyčný klikne na vyřadit, tak adresa pro vyřazení zní cca takto: http : //mandrilapp.com/vyrazeni-blabla....,
jenže žádná taková stránka se nezobrazí a rovnou se forwardne na náš web, kde jsem mohl suše napsat Váš email byl vyřazen... Ale protože jsem si všiml, že URl obsahovalo právě ?md_email=xxx@xxx.cz tak jsem ho pomocí fce GET přetáhl do stránky a pro klienta se rovnou zobrazí "Váš email XY byl vyřazen... "
Jenže na to se nabaluje problém č.2 - pokud si zákazníci v emailu kliknou, že si chtějí naše novinky prohlédnout na webu (nikoliv v emailu), pak se jim sice objeví stejná nabídka, ovšem poslední odkaz, kde je možnost odhlášení už nemá speciální URL, čili systém nemůže poznat že si newslettr prohlíží na webu Jarda a tak jej ani nemůže odhlásit....
Pokud tedy klikneš na odhlášení přímo z webu (nikoliv z emailu), tak v URL je hodnota md_email prázdná a tedy automat ti nabídne prázdné okno, kam můžeš vložit svůj email, i který např v DB ani není... A následně po odeslání se ti objeví sice stejná stránka, ovšem nyní už s vyplněnou hodnotou GET, tedy namísto prázdného okna se ti objeví "Váš email XY byl vyřazen... "
Snad jsem to napsal srozumitelně...
A pokud máš rady a nápady, že to dělám zbytečně složitě, klidně hoď nějaké info co bys udělal ty... Díky