Autor | Zpráva | ||
---|---|---|---|
Payrac Profil * |
#1 · Zasláno: 20. 6. 2017, 13:42:12
Vazeni, prosim pomozte i odhalit proc mi tento script nezasila do emailu obsah - dekuji
<form action="contact.php" method="post"> <div class="row form-group"> <div class="col-md-12"> <label for="fname">Ihr Name</label> <input type="text" name="fname" class="form-control"> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label for="email">Email</label> <input type="text" name="email" class="form-control"> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label for="message">Bericht</label> <textarea name="message" cols="30" rows="10" class="form-control"></textarea> </div> </div> <div class="form-group"> <input type="submit" value="Senden" class="btn btn-primary"> </div> </form> <?php $to = "mail@seznam.cz"; $extra = "From: $email\r\n"; $subject = "Vzkaz od ".$email.""; $mess = "Jmeno: ".$fname."\nZprava:".$message."\nEmail: ".$email." \n"; mail ($to, $subject, $mess, $extra); ?> |
||
Enko Profil |
#2 · Zasláno: 20. 6. 2017, 14:09:39
Máš to opsané z nějakého pravěkéhonávodu ještě pro PHP4. Jen v rychlosti přepsané takto:
$to = "mail@seznam.cz"; $extra = "From: {$_POST["$email"]}\r\n"; $subject = "Vzkaz od ".$_POST["$email"].""; $mess = "Jmeno: ".$_POST["fname"]."\nZprava:".$_POST["message"]."\nEmail: ".$_POST["email"]." \n"; mail ($to, $subject, $mess, $extra); |
||
Tomášeek Profil |
#3 · Zasláno: 20. 6. 2017, 16:10:12
Enko:
$_POST["$email"] určitě ne...
Na co je na konci třetího řádku sekvence znaků ."" ?
Proč odřádkováváš na druhém řádku pomocí \r\n a o dva řádky níže pouze \n ?
Myslím, že ten kód není o moc lepší :-) |
||
Payrac Profil * |
#4 · Zasláno: 20. 6. 2017, 17:03:08
Tomášeek:
Ahoj , prosim te jak by mel spravne vypadat ten kod...?? Muzu pozadat o radu tedy prosim.. Nejak to jde ale.... nedosazuje se mi Vzkaz OD ...a from... Nevim si s tim rady a nejsem vlastne programator ... stranky si napsat v css zvladnu atd.. HTML ale to php se mi nyni nedari. dekuju |
||
Keeehi Profil |
Payrac:
„nedosazuje se mi Vzkaz OD ...a from.“ To bude proto, že se ten email nejspíše zobrazuje jako HTML. A tam, jak určitě víš, se odřádkování bere jako obyčejná mezera. Je tedy potřeba převést odřádkování na <br> tagy. Na to je v PHP funkce nl2br.
|
||
Payrac Profil * |
#6 · Zasláno: 20. 6. 2017, 17:48:50
Keeehi:
jeste i prosim péradte avy mi tato radka $extra = "From: {$_POST["$email"]}\r\n"; posilala konkretene web@mail,com. A bude mi to stacit. dekuji |
||
Keeehi Profil |
$extra = "From: web@mail.com\r\n"; |
||
Payrac Profil * |
#8 · Zasláno: 21. 6. 2017, 00:13:14
Vážení, jak docílím toho aby mi po odeslání emailu resp formuláře vyskočilo na stránce echo že byl email odeslán? Jak napsat podminku k tomuto scriptu viz - vyse ale text ktery se ma objevit - echo aby bylo na strance kde si urcim ja:
Dekuji za rady jsem opravdu v php laik a potrebuji toto nejak dodelat v tomto pripade. nezlobte se |
||
Keeehi Profil |
Payrac:
Tak ten PHP script posuň na místo, kde chceš aby se to vypisovalo. if (isset($_POST["email"])) { // zajistí odeslání emailu jen při odeslání formuláře // kód pro přípravu zprávy if (mail( .....)) { echo "Message sent"; } } Funkce mail vrací true, když úspěšně předá email k odeslání. To ale neznamená, že se musí i vždy doručit. Ono je dokonce i možné, že se vůbec neodešle. Je to lepší než nic, ale moc se na to spoléhat nedá. |
||
Tomášeek Profil |
#10 · Zasláno: 21. 6. 2017, 06:51:30
Keeehi:
V #5 jsi reagoval na něco jiného, nedosazuje vs. neodsazuje :-) Pole "od" je subject, nikoliv součást contentu. Problém v #5 i následně v #9 (a vlastně i #7) je v uvedení klíče, $_POST[$email] vs $_POST['email'] .
|
||
Keeehi Profil |
#11 · Zasláno: 21. 6. 2017, 08:15:34
Tomášeek:
Díky, nějak jsem to při kopírování přehlédl. Už je to správně. |
||
Payrac Profil * |
#12 · Zasláno: 21. 6. 2017, 12:46:56
Keeehi: dekuji zda se ze to jede bez problemu.... Jeste bych sed jen zeptal cim by mohlo byt to, ze kdyz odeslu formular, vysedek mi dorazi na email , ale 2x to same ve stejny cas.
|
||
Keeehi Profil |
#13 · Zasláno: 21. 6. 2017, 13:43:14
Payrac:
No, protože to nespíše nějak dvakrát odesíláš. Nemáš tam tu funkci mail dvakrát? Nebo v nějakém cyklu? |
||
Payrac Profil * |
#14 · Zasláno: 21. 6. 2017, 15:23:15
Keeehi:
<div class="php_scr"><?php $to = "jiri.michalek@seznam.cz"; $extra = "From:web@b3btravel.com \r\n"; $subject = "Vzkaz od ".$_POST["$email"]."B3BTRAVEL"; $mess = "Jmeno: ".$_POST["fname"]."\nZprava:".$_POST["message"]."\nEmail: ".$_POST["email"]."\n"; mail ($to, $subject, $mess, $extra); if (isset($_POST["email"])) { // zajistí odeslání emailu jen při odeslání formuláře // kód pro přípravu zprávy if (mail($to, $subject, $mess, $extra)) { echo "Message sent"; } } ?></div> |
||
Keeehi Profil |
Vždyť tam tu funkci mail máš dvakrát. To jako čekáš, že ta první funguje jen v pracovní dny a ta druhá o víkendech? Když ji tam máš dvakrát, tak se přece odesílá dvakrát. Příště prosím použij hlavu.
Navíc při každém načtení stránky by ti měl chodit i jeden prázdný email (když si stránku zobrazíš, ještě než odesíláš formulář). Což možná nevíš, jelikož je bude asi filtrovat spammový filter. <div class="php_scr"><?php if (isset($_POST["email"])) { $to = "jiri.michalek@seznam.cz"; $extra = "From:web@b3btravel.com \r\n"; $subject = "Vzkaz od ".$_POST["email"]." B3BTRAVEL"; $mess = "Jmeno: ".$_POST["fname"]."\nEmail: ".$_POST["email"]."\nZprava:".$_POST["message"]."\n"; if (mail($to, $subject, $mess, $extra)) { echo "Message sent"; } } ?></div> |
||
Payrac Profil * |
#16 · Zasláno: 21. 6. 2017, 16:18:00
Keeehi: Opravdu ti diky,,,, super a nezlob se
|
||
Časová prodleva: 7 let
|
0