Autor Zpráva
stitch123
Profil
Ahoj. Chtěl jsem vytvořit jednoduchej mailto formulář. Vzniklo z toho toto:

<H3> Kontaktujte mě...</H3>
       <form action="mailto:[můj@email.cz]" enctype="text/plain" method="post">
         <b>Vaše jméno:</b> <input name="Name" type="text" id="Name" size="30"><br>
         <b>Váš e-mail:</b> <input name="E-mail" type="text" id="E-mail" size="30"><br>
         <p><b>Zpráva:</b></p>
         <p><textarea name="Comment" cols="60" rows="6"
         id="Comment"></textarea></p>
         <p><input type="submit" name="Submit" value="Odeslat!"></p>
       </form> 

Po kliknutí na odeslat se prostě žádná zpráva neodešle. Neví někdo příčinu?

Prosím, neukamenujte mě za blbej dotaz. S HTML začínám-
Taps
Profil
stitch123:
ke studiu Formulář na mail

Pro odeslání na e-mail bude nutné použít technologii PHP
Marschmallow
Profil
stitch123:
Tvůj uvedený způsob je velmi nespolehlivý napříč prohlížeči a e-mailovými klienty. Zkusil bych variantu s pomocí serverového skriptu PHP. Zde je funkční skript s antispamovou ochranou - trošku mnou upravený, původně od Tomáše Erlicha:
formular.php:
<form action="odeslat.php" method="post">
Odesílatel:<input name="email" size="30" type="text"/>
Předmět:<input name="predmet" size="30" type="text"/>
Vypočítej:<input name="spam" size="23" type="text"/><strong>= 1 + 1</strong>
Zpráva:<textarea name="zprava" rows="8" cols="50"></textarea>
<input type="submit" class="button" value="Odeslat e-mail!"/>

odeslat.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=index.php">
    <title>Odesílám ...</title>
    </head>
    <body>
<?
$prijemce = $_POST['tvuj@mail.cz'];
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];
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>
Vyznačení:
- Čtyřka (4) označuje, za jak dlouho má dojít k přesměrování na stránku index.php
- tvuj@mail.cz si zaměň za svůj e-mail
Zechy
Profil
Marschmallow:
Proč ten email dáváš jako index postu?
stitch123
Profil
Taps, Marschmallow: Díky, ale PHP vůbec neumím. Nejspíš teda budu muset využít služeb Blueboard nebo Mailform.
Marschmallow
Profil
stitch123:
...ale PHP vůbec neumím.
Vždyť v [#3] máš hotový skript, stačí ho uložit dva soubory, stejně pojmenovat a dát do stejné složky. Pak stačí mít jen hosting s podporou PHP (klidně bez databáze). Změnit e-mail, případně přesměrování a hotovo. Pak jen nahrát na FTP.


Pokud vím, tak Sweb od seznamu, který máš uvedený v profilu jako svou webovou stránku PHP podporuje ;)
Mimochodem, proč na svém webu podporuješ fašismus (důkaz - levý sloupeček "Moje vlastní vlajky")? Myslím, že je to u nás dokonce trestné.
stitch123
Profil
Marschmallow:
...proč na svém webu podporuješ fašismus...?
Nepodporuju. Vysvětlení je níže na tom webu :)

Každopádně na tenhle web mailto formulář nepotřebuju, ale i ten druhý, kde bych ho chtěk využít, je na Swebu od Seznamu.

No já popravdě vůbec nevím, jak PHP funguje. Jestli stačí jenom vytvořit a nahrát je, tak to nějak zkusím. Díky!
jenikkozak
Profil
Marschmallow:
Vždyť v [#3] máš hotový skript
Ale jak upozornil Zechy, nebude to fungovat.
- $_POST['tvuj@mail.cz']; je položka pole $_POST, která má index tvuj@mail.cz. Hodnotu však nemá nastavenou žádnou.
- Lomítka na koncích značek políček formuláře jsou jen pro srandu králíkům.
- Hláška o úspěšném odeslání e-mailu vůbec nekontroluje, zda e-mail byl předán dál.
- Hláška o chybném vyplnění příkladu se zobrazí i v případě, že je vypočítán správně, ale chybí třeba zpráva.

stitch123:
Nejspíš teda budu muset využít služeb Blueboard nebo Mailform.
Jo, to bude asi jistější.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: