#1 2016-08-29 09:05:28

shockwave3
Člen
Registrován: 2013-02-28
Příspěvky: 24

nefunguje php Mail();

Ahoj, poradí prosím někdo, proč mi nejdou posílat maily z formuláře:
....Děkuji za pomoc, už opravdu nevím, co je špatně. Formulář je dělaný v Boostrapu.


HTML FORM:

<div class="col-md-6 col-sm-6 col-xs-12">

<form action="send.php" method="post" role="form">
<div class="form-group">
Odesílatel:<input name="email"  class="form-control"
size="30" type="text" placeholder="Váš e-mail"/>
</div>
<div class="form-group">
Předmět:<input name="predmet" class="form-control"
size="30" type="text" placeholder="Předmět"/>
</div>
<div class="form-group">
Vypočítej:<input name="spam" class="form-control"
size="23" type="text" placeholder="Zadej součet"/><strong>= 1 + 1</strong>
</div>
<div class="form-group">
Zpráva:<textarea class="form-control"
name="zprava" rows="8" cols="50" placeholder="Váš dotaz"></textarea>
<div class="form-group">
<input type="submit" class="button" value="Odeslat e-mail!"/>
</form>
</div>

PHP soubor send.php  :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="Refresh" content="4;url=kontakt.html">
    <title>Odesílám ...</title>
    </head>
    <body>
<?php
$prijemce = $_POST['...........@seznam.cz'];
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['dotaz'];
if ($prijemce!="" and $predmet!="" and $email!="" and $zprava!="" and $spam=="2")
{
Mail($prijemce, $predmet, $zprava, "From: " . $email);
echo "<p>Váš e-mail byl úspěšně odeslán!";
}
else
{
echo "<p>Váš e-mail nelze odeslat, nebo jste špatně vyplnili matematický příklad!</p>";
}
?>
    </body>
</html>

Offline

#2 2016-08-29 09:19:38

jiriolah
Podpora
Registrován: 1970-01-01
Příspěvky: 307

Re: nefunguje php Mail();

Dobrý den,
vyzkoušel jsem si do vašeho scriptu místo POST proměnných svoje proměnné, aby byla splněna podmínka if. Email se v pořádku odeslal.
Moc dobře nechápu $prijemce = $_POST['...........@seznam.cz']; , která se ve formuláři nikde nepředává. Nemělo by to být $prijemce = "vasemail@domena.cz" ?

Offline

#3 2016-08-29 09:39:08

shockwave3
Člen
Registrován: 2013-02-28
Příspěvky: 24

Re: nefunguje php Mail();

Mě se po odkliknutí tlačítka Odeslat email zobrazí stránka s chybou 404, stránka nebyla nalezena. Přitom soubor send. php s php scriptem mám nahrán a v přijaté zkušební poště též nemám odeslanou poštu, ikdyž jsem změnil  z $prijemce=$_POST['xy@seznam.cz] na $prijemce="xy@seznam.cz";

Offline

#4 2016-08-29 10:21:45

jiriolah
Podpora
Registrován: 1970-01-01
Příspěvky: 307

Re: nefunguje php Mail();

Na účtě shockwave3 jsem php script send.php s odesíláním emailů nenašel.

Offline

#5 2016-08-29 10:40:13

shockwave3
Člen
Registrován: 2013-02-28
Příspěvky: 24

Re: nefunguje php Mail();

Soubor .php mám umístěn ve  webové prostory:  www.weblevne.8u.cz/web/send.php  v jiném podobném projektu s umístěním php souboru nebyl problém, ted mám soubor špatně nahrán?

Offline

#6 2016-08-29 11:03:33

jiriolah
Podpora
Registrován: 1970-01-01
Příspěvky: 307

Re: nefunguje php Mail();

Script již funguje. Chyba byla v tom, že jste do $zprava dával POST['dotaz']. Ve kontaktním formuláři však "dotaz" neexistoval, tudíž se do $zprava dosadil prázdný řetězec, z čehož plyne, že nikdy nebyla splněna podmínka. Upravte si $prijemce ='vasemail@domena.cz'; na váš email. Změnil jsem tuto hodnotu abych mohl otestovat.

Offline

#7 2016-08-29 13:45:16

shockwave3
Člen
Registrován: 2013-02-28
Příspěvky: 24

Re: nefunguje php Mail();

Děkuju moc za pomoc.

Jen jsem se ještě chtěl optat, cokoliv napíši do formuláře v textarea , tak má problém s češtinou, input tagy jsou v pořádku. Kodování stránky je v UTF-8.

Offline

#8 2016-08-29 14:34:19

jiriolah
Podpora
Registrován: 1970-01-01
Příspěvky: 307

Re: nefunguje php Mail();

Zřejmě byl samotný soubor založen v jiném kodování. Vytvořil jsem nový a již se diakritika zobrazuje tak, jak má.

Offline

Zápatí

Založeno na FluxBB | CZ a SK