Php email form – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Php email form – PHP – Fórum – Programujte.comPhp email form – PHP – Fórum – Programujte.com

 

Tomas
~ Anonymní uživatel
560 příspěvků
1. 11. 2010   #1
-
0
-

Ahoj vytvářím html formulář, který data odešle na mail. Jsem začátečník, nevidíte někdo chybu v PHP? Předem děkuji. tom.tom@email.cz

<?php

$rezervace = $_POST["rezervace"];
$jmeno = $_POST["jmeno"];
$prijmeni = $_POST["prijmeni"];
$telefon = $_POST["telefon"];
$email = $_POST["email"];
$roknarozeni = $_POST["roknarozeni"];
$adresa = $_POST["adresa"];
$mesto = $_POST["mesto"];
$psc = $_POST["psc"];
$znacka = $_POST["znacka"];
$model = $_POST["model"];
$typ = $_POST["typ"];
$wincode = $_POST["wincode"];
$puvodvozidla = $_POST["puvodvozidla"];
$pocetkm = $_POST["pocetkm"];
$rokvyroby = $_POST["rokvyroby"];
$vozidloje = $_POST["vozidloje"];



$message= "Rezervace: " . $rezervace . "\n Jméno: " . $jmeno . "\n Příjmení: " . $prijmeni . "\n Telefon: " . $telefon . "\n E-mail: " . $email . $roknarozeni . " " . $adresa . " " . $mesto . " " . $psc . " " . "\n Značka: " . $znacka . "\n Model: " . $model . "\n Typ: " . $typ . "\n WIN code: " . $wincode . "\n Původ vozidla: " . $puvodvozidla . "\n Poček km: " . $pocetkm . "\n Rok výroby: " . $rokvyroby . "\n Vozidlo je: " . $vozidloje;

$to = "tomas.rydel@gmail.cz";
$subject = "Povinné ručení - rezervace " . $jmeno . " " . $prijmeni;
$headers = "From: Povinné ručení <ruceni@chytrepalice.cz>\ ";

if (@mail($to, $subject, $message, $headers)):
echo "<p><strong>Vaše nezávazná rezervace byla úspěšně odeslána!</strong></p>
<p>Náš operátor Vás bude kontaktovat nejdéle následující pracovní den a dohodne s Vámi podrobnosti objednávky a případně zodpoví Vaše dotazy.</p>";
else:
echo "<p><strong>Odeslání rezervace selhalo, kontaktujte nás prosím na telefonu +420 226 222 325 nebo e-mailem na <a href='mailto:ruceni@chytrepalice.cz'>ruceni@chytrepalice.cz</a></strong></p>";
endif;

?>

Nahlásit jako SPAM
IP: 212.24.153.–
Petr
~ Anonymní uživatel
746 příspěvků
1. 11. 2010   #2
-
0
-

No nevím, to bude chtít odborníka

Nahlásit jako SPAM
IP: 212.24.153.–
CZechBoY+4
Věrný člen
1. 11. 2010   #3
-
0
-

ten IF na konci je podle mě blbě...



<?php

$rezervace = $_POST["rezervace"];
$jmeno = $_POST["jmeno"];
$prijmeni = $_POST["prijmeni"];
$telefon = $_POST["telefon"];
$email = $_POST["email"];
$roknarozeni = $_POST["roknarozeni"];
$adresa = $_POST["adresa"];
$mesto = $_POST["mesto"];
$psc = $_POST["psc"];
$znacka = $_POST["znacka"];
$model = $_POST["model"];
$typ = $_POST["typ"];
$wincode = $_POST["wincode"];
$puvodvozidla = $_POST["puvodvozidla"];
$pocetkm = $_POST["pocetkm"];
$rokvyroby = $_POST["rokvyroby"];
$vozidloje = $_POST["vozidloje"];



$message= "Rezervace: " . $rezervace . "\n Jméno: " . $jmeno . "\n Příjmení: " . $prijmeni . "\n Telefon: " . $telefon . "\n E-mail: " . $email . $roknarozeni . " " . $adresa . " " . $mesto . " " . $psc . " " . "\n Značka: " . $znacka . "\n Model: " . $model . "\n Typ: " . $typ . "\n WIN code: " . $wincode . "\n Původ vozidla: " . $puvodvozidla . "\n Poček km: " . $pocetkm . "\n Rok výroby: " . $rokvyroby . "\n Vozidlo je: " . $vozidloje;

$to = "tomas.rydel@gmail.cz";
$subject = "Povinné ručení - rezervace " . $jmeno . " " . $prijmeni;
$headers = "From: Povinné ručení <ruceni@chytrepalice.cz>\ ";

if (@mail($to, $subject, $message, $headers))
echo "<p><strong>Vaše nezávazná rezervace byla úspěšně odeslána!</strong></p>
<p>Náš operátor Vás bude kontaktovat nejdéle následující pracovní den a dohodne s Vámi podrobnosti objednávky a případně zodpoví Vaše dotazy.</p>";
else
echo "<p><strong>Odeslání rezervace selhalo, kontaktujte nás prosím na telefonu +420 226 222 325 nebo e-mailem na <a href='mailto:ruceni@chytrepalice.cz'>ruceni@chytrepalice.cz</a></strong></p>";
?>

Nahlásit jako SPAM
IP: 213.192.10.–
insider0
Věrný člen
1. 11. 2010   #4
-
0
-

To CZechBoY : co presne si tam zmenil? Odstranil dvojtecky a "endif;"? Jeslti neco jineho, tak jsem to prehlid. - to je stara, ale stale funkcni notace, takze na funkcnosti to nic nezmenilo.
To Tomas : Me tam spis zarazi zapis $headers - s funkci mail skoro nepracuju, tak si tim nejsem jisty, ale mimo jine to lomitko na konci se mi zda divne. Jinak pomohlo by, kdyby si sem hodil chybou hlasku php, pokud to vubec nejakou hazi, popr co od toho ocekavas za chovani a jak se to ve skutecnosti chova

Nahlásit jako SPAM
IP: 147.32.96.–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
bedna
~ Anonymní uživatel
22 příspěvků
2. 11. 2010   #5
-
0
-

Přesně tak, u toho headers máš řetězec "....\" - tedy neukončený string, backslash... takže ejj buď umaž a nebo přidej n, či \r\n a pdoobně. Na tuto chybu tě ale upozorní už samo php a přijít si na to měl sám...

Nahlásit jako SPAM
IP: 158.194.148.–
besters0
Newbie
2. 11. 2010   #6
-
0
-

<?php 


$rezervace = $_POST["rezervace"];

$jmeno = $_POST["jmeno"];

$prijmeni = $_POST["prijmeni"];

$telefon = $_POST["telefon"];

$email = $_POST["email"];

$roknarozeni = $_POST["roknarozeni"];

$adresa = $_POST["adresa"];

$mesto = $_POST["mesto"];

$psc = $_POST["psc"];

$znacka = $_POST["znacka"];

$model = $_POST["model"];

$typ = $_POST["typ"];

$wincode = $_POST["wincode"];

$puvodvozidla = $_POST["puvodvozidla"];

$pocetkm = $_POST["pocetkm"];

$rokvyroby = $_POST["rokvyroby"];

$vozidloje = $_POST["vozidloje"];


$message= "Rezervace: " . $rezervace . "\n Jméno: " . $jmeno . "\n Příjmení: " . $prijmeni . "\n Telefon: " . $telefon . "\n E-mail: " . $email . $roknarozeni . " " . $adresa . " " . $mesto . " " . $psc . " " . "\n Značka: " . $znacka . "\n Model: " . $model . "\n Typ: " . $typ . "\n WIN code: " . $wincode . "\n Původ vozidla: " . $puvodvozidla . "\n Poček km: " . $pocetkm . "\n Rok výroby: " . $rokvyroby . "\n Vozidlo je: " . $vozidloje;



$to = "tomas.rydel@gmail.cz";

$subject = "Povinné ručení - rezervace " . $jmeno . " " . $prijmeni;

$headers = 'From: ruceni@chytrepalice.cz' . "\r\n" .
'Reply-To: tomas.rydel@gmail.cz' . "\r\n" .
'X-Mailer: PHP/' . phpversion();


if (@mail($to, $subject, $message, $headers)){

echo "
<p><strong>Vaše nezávazná rezervace byla úspěšně odeslána!</strong></p>
<p>Náš operátor Vás bude kontaktovat nejdéle následující pracovní den a dohodne s Vámi podrobnosti objednávky a případně zodpoví Vaše dotazy.</p>";

}else{

echo "<p><strong>Odeslání rezervace selhalo, kontaktujte nás prosím na telefonu +420 226 222 325 nebo e-mailem na <a href='mailto:ruceni@chytrepalice.cz'>ruceni@chytrepalice.cz</a></strong></p>";

}

?>


Pravděpodobná chyba v syntaxi , procedurální email handler není moc vhodný a doporučoval bych na přepsání na OOP.

Nahlásit jako SPAM
IP: 213.155.231.–
Audiatur et altera pars – Budiž vyslyšena i druhá strana
bedna
~ Anonymní uživatel
22 příspěvků
2. 11. 2010   #7
-
0
-

Pravděpodobná chyba v syntaxi , procedurální email handler není moc vhodný a doporučoval bych na přepsání na OOP.



A to je jako co? Co je to procedurální handler?

Šmarja bóže, nechci flámovat, ale necpěte všude za každou cenu OOP. Stejně v té třídě budeš mít někde kód

mail($this->to, $this->subject, $this->message, $this->headers)


A za druhé, kód, který jsi vložil je funkční. ;-)

Nahlásit jako SPAM
IP: 213.191.125.–
besters0
Newbie
3. 11. 2010   #8
-
0
-

Necpu všude oop ,ale upřímě bych to řešil určitě jinak a to jinak by bylo OOP.

A ano je funkční proto jsem napsal jak to má vypadat + popsal toho co měl dotyčný špatně ;)

Ta syntaxe co je psaná na začátku diskuze je hrozná a nechápu jak k ní někdo vůbec v dnešní době přišel :)

Nahlásit jako SPAM
IP: 78.45.109.–
Audiatur et altera pars – Budiž vyslyšena i druhá strana
bedna
~ Anonymní uživatel
22 příspěvků
3. 11. 2010   #9
-
0
-

Pořád nechápu, proč by to mělo být objektově? Ta syntax zas tak hrozná není, určitě na ni přišel v manuálu. Můžeš mi vysvětlit tedy 2 věci?

1) Jak by to vypadalo přepsáno do OOP (alespoň kostra, náčrt, jsem zvědavý, jak může mít OOP vliv na správnou syntax :-D)
2) Co je to ten procedurální handler?

Děkuji,

jestli tě příliš štvu, tak mě pošli do oněch míst...

Nahlásit jako SPAM
IP: 158.194.144.–
besters0
Newbie
3. 11. 2010   #10
-
0
-

ad. MyPost #6 02. 11. 2010 @ 12:32

chyběla mi tam čárka :) Pravděpodobná chyba v syntaxi , procedurální, email handler není moc vhodný a doporučoval bych na přepsání na OOP.




/*
@$message = array ;
$message[]= $_POST["objekt"];
*/

public $from;
private $to;

public function SendMail($from, $to= "services@example.com, $header ,$message){

// zde se provede header
...

// zde naparsuju zprávu do objektového tvaru ročleněním pole $message
...

// zde zkontroluji všechny data zda jsou v pořádku

...

// odešlu zprávu a zapíšu email do logu

$this->Logger("Zadost o newsletter" , $this->to);
}


Nahlásit jako SPAM
IP: 213.155.231.–
Audiatur et altera pars – Budiž vyslyšena i druhá strana
bedna
~ Anonymní uživatel
22 příspěvků
3. 11. 2010   #11
-
0
-

Děkuji, to je pěkné, ale stále mě nechápeš. K čemu využíváš OOP? K čemu dědičnost, zapouzdření? K tomu, že pak existuje nějaký speciálnější email, který umí odeslat i html neboj jak? Furt mi to nedochází :-)

Ale kašleme na to...

Nahlásit jako SPAM
IP: 88.102.223.–
CZechBoY+4
Věrný člen
3. 11. 2010   #12
-
0
-

ten můj kod nefunguje? v PsPaud jsem viděl vše správně, ty nechápeš k emu je endif v tom je chyba, endif zavírá IF a else taky...
tohle není Visual Basic ty musíš uzavřít kod z IF a kod z Else taky!!!
takže ten můj ti jako nefunguje nebo ho nechceš ani vyzkoušet?

Nahlásit jako SPAM
IP: 213.192.10.–
insider0
Věrný člen
3. 11. 2010   #13
-
0
-

To CZechBoY : tak v tomhle jsem se ztratil :)
Konstrukce

if():

kod
else:
kod
endif

odpovida konstrukci
if(){

kod
}else{
kod
}

v pripade, ze "kod" ma jen jeden radek, da se pouzit bez tech slozenych zavorek, nebo dvojtecek s endif
Ta podminka prepsana z dvojteckove notace na "dnesni" nijak funkcnost kodu neovlini

Nahlásit jako SPAM
IP: 147.32.96.–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
besters0
Newbie
3. 11. 2010   #14
-
0
-

Asi takhle šlo mi o to ,že procedurální kód není vhodný v dnešní době frameworku , vlastních MVC , popřípadě jiné struktury.
Takhle poskládaná aplikace z vlastních souborů je hodně netypická , jako funkce je to dostatečné pro nějaky newsletter na MFA webech... Ale každopádně je to jen můj názor , protože když se poohlednu co bylo v době před 5 lety už není teď. Ta syntaxe mě prostě ujistila v tom ,že lidé jsou málo informovaní o možnostech využití frameworků a dobře propojené struktury programu.


CzechBoy : jen tak pro zajímavost , PHP děláš aktivně nebo okrajově ?

Nahlásit jako SPAM
IP: 78.45.109.–
Audiatur et altera pars – Budiž vyslyšena i druhá strana
CZechBoY+4
Věrný člen
4. 11. 2010   #15
-
0
-

PHP dělám podle toho co potřebuju :D ne nijak náročně 8hodin denně ale když něco potřebuju udělat tak není problém
s těmahle dvojtečkama nemám moc zkušenosti, píšu to jen u for a while

Nahlásit jako SPAM
IP: 195.113.165.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 40 hostů

Podobná vlákna

Email přes PHP — založil Borisek

Form vs php — založil Paja2

Email — založil Marek

Email — založil Alan

Email - rozeslání — založil peXtr

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý