Autor Zpráva
Tomson
Profil
zdravim všechny,

mám opět jeden problém, no spíš dotaz. Mám ve flashi formulář a odesílám ho přes php na mail. Vše funguje a je ok, to už jsem tu v minulé diskusi vyřešil. Ale k věci. Potřeboval by sem, aby se po odeslání formuláře, příšla osobě, která ho vyplnila, nějaká automatická odpověď. Představuju si to tak že: Jedním dotahovaným údajem z formuláře je i kontaktní email. Šlo by v tom php nějak nastavit, aby si vzalo hodnotu z pole kontaktní email a odeslalo na něj nějaký text např.: váš požadavek se zpracovává???

Možná je to nesmyslný dotaz, nevím, v tomhle se moc nevyznám

Díky za odpověď
Hugo
Profil
http://mirrors.inway.cz/manual/en/function.mail.php
Tomson
Profil
já bych to potřeboval trošku víc polopatě, pokud by to šlo pls
Tomson
Profil
Mohl by mi prosím někdo můj dotaz vysvětlit. S PHP nedělám, ten odkaz je sice super, ale ztrácím se tam, je to pro mě španělská vesnice.

Díky všem za pomoc
Hugo
Profil
$_POST['mail'] //tady je ulozena adresa na kterou se to ma odeslat

<?php
$to = $_POST['mail'];
$subject = 'Formular';
$message = 'Text zpravy';
$headers = 'From: tvuj@email' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

Toto je asi nejjednodušší skriptík. Pokud chceš něco víc, tak se můžem domluvit na rozšíření.
Tomson
Profil
ok zatím díky, já to prubnu a dám vědět, jestli mi to fachčí
Tomson
Profil
Nevím, jestli jsem tenhle script dobře pochopil. To co jsi napsal je ale, že určím defaultně jednu mailovou adresu, na kterou se bude odpvěď odesílat nebo jsem to pochopil špatně??? Já ale potřebuju tu zprávu zasílat tomu, kdo odešle ten formulář. Je to x adres. Nebo jde do toho scriptu místo tý adresy napsat název toho pole v tom formuláři, ze kterýho se ta adresa bude tahat??
igamenir
Profil
to přece dělá tenhle řádek: $to = $_POST['mail'];

$_POST['mail'] znamená obsah pole s name="mail" odeslaný z formuláře s method="post"
Hugo
Profil
Pokud chceš poslat mail na víc adres, tak je odděl čárkou.
Tomson
Profil
Mám to takhle, ale teď mi to nefunguje vůbec. Nevím, kde mám chybu. Už si s tím nevím rady ;o(((. Pomozte pls

<?php
$to = $_POST['text5'];
$subject = 'Formular';
$message = 'Text zpravy';
$headers = 'From: poptavkovy system <tomaskunc@centrum.cz>' . "\r\n" .
'Content-type: text/html; charset=utf-8' . "\r\n";
'X-Mailer: PHP/' . phpversion();

$datum = date( "d.M.Y H:i:s");
$info = "";


$data =
"<b>Poptávající</b>"."\n"."\n".

"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Předchozí spolupráce s Frans Maas: </b>".$combo1."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Název firmy: </b>".$text1."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kontaktní osoba: </b>".$text2."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Telefon: </b>".$text3."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fax: </b>".$text4."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E-mail: </b>".$text5."\n"."\n"."\n".


"<b>Přeprava</b>"."\n"."\n".

"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifikace zboží: </b>".$text6."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nebezpečné zboží: </b>".$combo2."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Místo odeslání (přístav nakládky): </b>".$text7."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Místo určení (přístav doručení: </b>".$text8."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Počet/druh obalů: </b>".$text9."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Celková hmotnost (kg): </b>".$text10."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rozměry (d x š x v): </b>".$text11."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Datum/období: </b>".$text12."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Speciální požadavky: </b>".$text13."\n"."\n"."\n".


"<b>Doplňující informace</b>"."\n"."\n".

"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Místo proclení v ČR: </b>".$text14."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Připojištění zásilky: </b>".$combo3."\n".
"<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kontejner: </b>".$combo4.'
'.$info.'

Datum a čas zaslání: '.$datum.'

';


mail($email, $predmet, NL2BR($data), $to, $subject, $message, $headers);

echo $data;

?>
Hugo
Profil
mail($email, $predmet, NL2BR($data), $to, $subject, $message, $headers); toto je špatně

správně to má být takto

mail($to, $predmet, NL2BR($data), $headers);

BTW: Ty mezery v tom HTML jsou pěkná prasárna.
Tomson
Profil
my si asi úplně nerozumíme. Ten $email a $predmet tam mám proto, že v tom flashovým formuláři mám pro uživatele skryté políčko $email - tam je napsaná adresa, kam se má zaslat vyplněný formulář a skryté políčko $predmet - tady je zase natvrdo napsaný předmět, aby uživatel vyplňující formulář nemusel tuhle položku zadávat, a hlavně aby pro toho, kdo došlé formuláře vyřizuje, bylo jasné, o jaký formulář jde. Nevím, jestli náhodou nepletu dvě věci do jednoho.

Ty mezery tam mám proto, že chci, aby ty položky byly odražené od levého okraje. Lepší způsob mě nenapadl
Hugo
Profil
Tomson

Jenže ty musíš dodržet počet a pořadí argumentů funkce. V tvé verzi jich je poněkud moc, takže to skončí chybou.

První argument je adresa, kam se to má poslat. Druhý je předmět mailu, třetí je text mailu a poslední jsou emailové hlavičky, tam je dobré dát minimálně kódování.

Tak si to tam naskládej podle sebe. Všechno najdeš pěkne popsané v php manuálu.

Ad mezery)

Co takhle použít CSS?
Tomson
Profil
Upřímě řečeno já se v tomhle vůbec neorientuju, dělám spíš ve flashi, ale okolnosti mě donutili vytvořit i poptávkový formuláře. Tak jsem se pustil do neznáma, stáhnul jsem si z netu nějakej příklad klasickýho mailovýho formuláře, kterej jsem si metodou pokus omyl dotovřil i s tvojí pomocí, za kterou ti děkuju. Teď jsem to chtěl jen trošku dovylepšit tím, že když mě někdo (resp. té firmě) vyplní poptávkový formulář a ten přijde do mailu té firmy, tak aby se automaticky zaslala odpověď tomu, kdo ten poptávkový formulář vyplnil. Já jsem, co se týče znalostí PHP a CSS úplný analfabet a proto možná spoustu věcí, který se tobě zdají naprosto jasný a srozumitelný, jsou pro mě neúplný.

Co se týče těch argumentů, tak argument adresa tam prostě dvakrát být musí. V tom flashovym formuláři mám taky dvě políča s adresou. Jedna ta adresa je skrytá, jak jsem psal a je v ní natvrdo vložená mailová adresa, kam se má zaslat vyplněný mailový formulář. To je to $email. Druhá adresa, tu vyplňuje uživatel dotazníku a je to adresa, kam se má zaslat odpověď, že se na jeho problému pracuje. Tahle ta mailová adresa samozřejmě slouží i jako kontaktní mail, ale to jen tak na dovysvětlenou. No a to je teda zřejmě to $to, o kterým mi tu píšeš. Jak tam ale tyhle dva argumenty poskládat? Co se týče toho $subjekt a $predmet, to je ten samý případ. $predmet je v tom formuláři napsaný natvrdo a $subjekt je předmět, který se použije pro zaslání odpovědi. Tady by mi nevadilo, kdyby byl předmět mailu stejný jak pro příchozí vyplněný formulář a odesílající automatickou odpověď.
Hugo
Profil
Nojo, ale to musíš poslat dva různé maily. Takže prostě tu funkci použij dvakrát, pokaždé s jinou sadou parametrů.
Tomson
Profil
Aha, takže jedno to PHP bude tahat ty data z toho formuláře a posílat je na mail, tak jak jsem to měl do teď a druhý PHP bude podle toho, cos mi psal odesílat automatickou mailovou odpověď jo?
Hugo
Profil
Tomson

Ne, vlož do toho skriptu ještě jeden řádek, kde bude funkce mail(), která pošle tu odpověď.
Hugo
Profil
mail($email, $predmet, NL2BR($data), $headers);
mail($to, $subject, $message, $headers);
Tomson
Profil
ok, a jinak to mám teda dobře, tak jak jsem to psal výš, celý ten script?
Tomson
Profil
Hugo, díky za trpělivost, která přinesla ovoce. Už to fachčí a je to super. Slibuju, že si koupím nějakou knížku o PHP a bude se učit :o))))))) Díky MOOOOC
Toto téma je uzamčeno. Odpověď nelze zaslat.

0