Autor | Zpráva | ||
---|---|---|---|
root Profil * |
#1 · Zasláno: 15. 10. 2010, 10:13:24
http://sluzbyvdomacnosti.cz/objednavka.php - mám takovýto formulář který se odesílá pomocí metody POST na soubor odeslat.php
Jak mohu pomocí funkce mail() tento formulář odeslat na mail? A jak vlastně zjistím, že funkce mail() je podporována webhostingem, který mám u gigaserver.cz? Díky moc za ochotu :( |
||
panther Profil |
#2 · Zasláno: 15. 10. 2010, 10:15:54
root:
„ak mohu pomocí funkce mail() tento formulář odeslat na mail?“ zjistit si, jak funkce mail funguje. Například z manuálu. Pokud to víš, máme zkusit věštit a uhodnout, kde v kódu, který nevidíme, bys mohl mít chybu? |
||
root Profil * |
<form action="odeslat.php" method="post"> <fieldset> <div class="grid_4"> <label for="jmeno">Jméno:</label> </div> <div class="grid_8"> <input type="text" size="20" id="jmeno"> </div> <div class="grid_4"> <label for="prijmeni">Příjmení:</label> </div> <div class="grid_8"> <input type="text" size="20" id="prijmeni"> </div> <input name="send" value="ok" type="hidden" /> ..... a v odeslat.php je <?php if($_POST['send']=="ok"){ Mail("tamkamtochciposlat@tadybude.cz", "$jmeno", "$prijmeni"); echo "E-mail odeslán"; } ?> |
||
panther Profil |
#4 · Zasláno: 15. 10. 2010, 10:24:06
root:
jen tak mimochodem, proměnné jméno a prijmeni z funkce mail se plni kde? Pravděpodobně to jsou součásti pole POST, v HTML žádné položky se shodným atributem name nejsou. „A jak vlastně zjistím, že funkce mail() je podporována webhostingem, který mám u gigaserver.cz?“ možná tak, že jim napíšeš nebo se podíváš na stránky hostingu, některé mají nastevení serveru rozepsané (teď nevím, možná by to šlo vykoukat i z phpinfo()). |
||
root Profil * |
<form action="odeslat.php" method="post"> <fieldset> <div class="grid_4"> <label for="jmeno">Jméno:</label> </div> <div class="grid_8"> <input type="text" size="20" id="jmeno" name="jmeno"> </div> <div class="grid_4"> <label for="prijmeni">Příjmení:</label> </div> <div class="grid_8"> <input type="text" size="20" id="prijmeni" name="prijmeni"> </div> takto to musí být? |
||
root Profil * |
#6 · Zasláno: 15. 10. 2010, 10:30:28
Problém je v tom, že já těch položek mám 9 + komnetář či poznámku jako textarea ... to jde pomocí funkce mail() odeslat i více položek než jen předmět, příjemce, zpráva?
|
||
panther Profil |
#7 · Zasláno: 15. 10. 2010, 10:30:46 · Upravil/a: panther
root:
atribut name tam být musí každopádně, v PHP pak $_POST['hodnota_name'] a ne jen $hodnota_name. Dále se hodí i atribut ID, na který se váže atribut for z <label>u. „Problém je v tom, že já těch položek mám 9 + komnetář či poznámku jako textarea“ no a? „to jde pomocí funkce mail() odeslat i více položek než jen předmět, příjemce, zpráva?“ funkce mail má 3 povinné a 2 nepovinné argumenty. Z těch tvých devíti položek bude většina ve zprávě (těle mailu). |
||
root Profil * |
<form action="odeslat.php" method="post"> <fieldset> <div class="grid_4"> <label for="jmeno">Jméno:</label> </div> <div class="grid_8"> <input type="text" size="20" id="jmeno" name="jmeno"> </div> <div class="grid_4"> <label for="prijmeni">Příjmení:</label> </div> <div class="grid_8"> <input type="text" size="20" id="prijmeni" name="prijmeni"> </div> <div class="grid_4"> <label for="ulice">Místo výkonnu práce: *</label> </div> <div class="grid_8"> <input type="text" size="20" id="ulice" name="ulice"> </div> <div class="grid_4"> <label for="telefonx">Telefon domů:</label> </div> <div class="grid_8"> <input type="text" size="20" id="telefonx" name="telefonx"> </div> <div class="grid_4"> <label for="mobil">Mobilní telefon:</label> </div> <div class="grid_8"> <input type="text" size="20" id="mobil" name="mobil"> </div> <div class="grid_4"> <label for="email">E-mail:</label> </div> <div class="grid_8"> <input type="text" size="20" id="email" name="email"> </div> <div class="grid_4"> <label for="f2select">Nabídka služeb:</label> </div> <div class="grid_8"> <select id="f2select" name="sluzby"> <option value="1" selected="selected">Úklid</option> <option value="2">Žehlení</option> </select> </div> <div class="grid_4"> <label for="prace">Předpokládaný rozsah práce:</label> </div> <div class="grid_8"> <input type="text" size="20" id="prace" name=="prace"> </div> <div class="grid_4"> <label for="zs">Zahájení služby:</label> </div> <div class="grid_8"> <input type="text" size="20" id="zs" name="zs"> </div> <div class="grid_4"> <label for="komentar">Poznámka:</label> </div> <div class="grid_8"> <textarea id="komentar" name="komentar" cols="20" rows="10"></textarea> <input class="od" type="submit" id="f2submit" value="Odeslat objednávku" /> <input class="vy" type="reset" id="f2submit" value="Vyčistit formulář" /> </div> </fieldset> </form> Mám to takto, ale sám to dohromady asi nedám. Jak to můžu rozdělit to těla mailu? :( Jsem looser, asi kveteš ze mě já vím :( |
||
panther Profil |
#9 · Zasláno: 15. 10. 2010, 10:37:11
root:
najdi si, jak se spojují řetězce v PHP (z jednotlivých proměnných (políčka z formuláře) si poskládej proměnnou $zprava, kterou pak vlož do funkce mail jako 3. parametr (viz manuál). Kdyby sis na odkázané stránce pročetl příklady, třeba bys taky něco navíc pochytil. |
||
root Profil * |
#10 · Zasláno: 15. 10. 2010, 10:38:22
Ok, to je dobrý nápad. Díky
|
||
Časová prodleva: 14 let
|
0