Kód: Vybrat vše
<?php
mb_internal_encoding("UTF-8");
$hlaska = '';
if (isset($_GET['uspech']))
$hlaska = 'Email byl úspěšně odeslán, brzy vám odpovíme.';
if ($_POST) // V poli _POST něco je, odeslal se formulář
{
if (isset($_POST['name_f']) && $_POST['name_f'] &&
isset($_POST['mess_f']) && $_POST['mess_f'] &&
isset($_POST['email_f']) && $_POST['email_f'] )
{
$title_f = mysql_real_escape_string($_POST['title_f']); //SQL Injenction
$message_f = mysql_real_escape_string($_POST['mess_f']); //SQL Injenction
$name_f = mysql_real_escape_string($_POST['name_f']); //SQL Injenction
$tel_f = mysql_real_escape_string($_POST['tel_f']); //SQL Injenction
$email_f = mysql_real_escape_string($_POST['email_f']); //SQL Injenction
/*
$robot_f = mysql_real_escape_string($_POST['robot_f']); //SQL Injenction
*/
$title_f = substr(htmlspecialchars(trim($_POST['title_f'])), 0, 100);
$mess_f = substr(htmlspecialchars(trim($_POST['mess_f'])), 0, 1000);
$name_f = substr(htmlspecialchars(trim($_POST['name_f'])), 0, 30);
$email_f = substr(htmlspecialchars(trim($_POST['email_f'])), 0, 30);
$robot_f = substr(htmlspecialchars(trim($_POST['robot_f'])), 0, 5);
$zprava_f = '
Jméno odesílatele: '.$_POST['name_f'].' <br />
Telefonní číslo: '.$_POST['tel_f'].' <br />
Email: '.$_POST['email_f'].' <br />
Předmět: '.$_POST['title_f'].' <br />
Zpráva: '.$_POST['mess_f'];
// $to - příjemce emailu
$to_f = 'xxx@xxx.cz';
// $from - odesílatel
$headers_f = 'MIME-Version: 1.0' . "rn";
$headers_f .= 'Content-type: text/html; charset=utf-8' . "rn";
$headers_f .= 'From: xxx.cz<xxx@xxx.cz>'. "rn";
$title_f = $_POST['title_f'];
$uspech = mb_send_mail($to_f, $title_f, $zprava_f, $headers_f);
$name_f = $_POST['name_f'];
$tel_f = $_POST['tel_f'];
$email_f = $_POST['email_f'];
$recaptcha = json_decode(file_get_contents('https://www.google.com/recaptcha/api/s=6Lf7IispkyOe9eWCPvbI3CRUJ&response=' . $_POST['g-recaptcha-response']));
if (ereg ("[0-9]", $name_f))
{
$hlaska_error = 'Napište prosím správné jméno!';
$hlaska = '';
}
elseif (ereg ("[A-Z]", $tel_f))
{
$hlaska_error = 'Zadejte prosím správné telefonní číslo!';
$hlaska = '';
}
elseif (ereg ("[a-z]", $tel_f))
{
$hlaska_error = 'Zadejte prosím správné telefonní číslo!';
$hlaska = '';
}
elseif (!ereg ("^.+@[a-z0-9]+.+.+[a-z]$", $email_f))
{
$hlaska_error = 'Špatný formát emailu!';
$hlaska = '';
}
/*
elseif ($robot_f !=3)
{
$hlaska = 'Špatně vypočítané ověření! 1+2 není $robot_f!';
}
*/
elseif (!$recaptcha->{'success'})
{
$hlaska_error = 'Zaškrtněte prosím ověření!';
$hlaska = '';
}
elseif ($uspech)
{
$hlaska_error = '';
$hlaska = 'Email byl úspěšně odeslán, brzy vám odpovíme.';
header('Location: kontakt.php?uspech=ano');
exit;
}
else
{
$hlaska = 'Email se nepodařilo odeslat. Zkontrolujte adresu.';
}
}
else
$hlaska = 'Formulář není správně vyplněný!';
}
?>
Poté je html
Kód: Vybrat vše
<?php
$name_f = (isset($_POST['name_f'])) ? $_POST['name_f'] : '';
$tel_f = (isset($_POST['tel_f'])) ? $_POST['tel_f'] : '';
$email_f = (isset($_POST['email_f'])) ? $_POST['email_f'] : '';
$title_f = (isset($_POST['title_f'])) ? $_POST['title_f'] : '';
$mess_f = (isset($_POST['mess_f'])) ? $_POST['mess_f'] : '';
?>
<form action="#napiste" method="POST">
<div class="formular">
<div class="jmeno">Jméno: <span class="red">*</span> <br />
<input class="insert" type="text" name="name_f" required="required" placeholder="povinný údaj" value="<?= htmlspecialchars($name_f) ?>" /></div>
<div class="jmeno" >Telefonní číslo:<br />
<input class="insert" type="text" name="tel_f" value="<?= htmlspecialchars($tel_f) ?>" /></div>
<div class="jmeno" >E-mail: <span class="red">*</span><br />
<input class="insert" type="text" name="email_f" required="required" placeholder="povinný údaj" value="<?= htmlspecialchars($email_f) ?>" /></div>
<div class="jmeno">Předmět:<br />
<input class="insert" type="text" name="title_f" value="<?= htmlspecialchars($title_f) ?>" /> </div>
<br />
<div class="text_pole">
Text zprávy: <span class="red">*</span><br />
<textarea class="center" rows="8" name="mess_f" required="required" placeholder="max. 1000 znaků" ><?= htmlspecialchars($mess_f) ?></textarea>
<!--
<div class="robot">
Nejsem robot: 1+2=<input type="text" name="robot_f" required="required" placeholder="?" />
</div>
-->
<div class="napiste_nam">
<div class="g-recaptcha" data-sitekey="6Lf7IiMTAAAAAI-8I4fZQJd8Et_ZAtXjMv8DD3xC" data-size="" data-theme="dark" data-callback="callback"></div>
</div>
<div class="napiste_nam"><input class="send" type="submit" value=" Odeslat " name="odeslat_zpravu" /></div>
</div>
</div>
</form>
<?php
if ($hlaska)
{
echo('<div class="poptavka_ok">' . htmlspecialchars($hlaska) . '</div>');
}
$hlaska_error = (isset($hlaska_error)) ? ($hlaska_error) : '';
if ($hlaska_error)
{
echo('<div class="poptavka_error">' . htmlspecialchars($hlaska_error) . '</div>');
}
?>
Dodatečně přidáno po 1 hodině 9 minutách 57 vteřinách:
Tak jsem na to asi přišel. Stačilo v
Kód: Vybrat vše
header('Location: kontakt.php?uspech=ano');
Asi to kolidovalo již s proměnou $uspech, v které byla funkce mail. Myslíte, že je to možné? (již to ale funguje )