| Autor | Zpráva | ||
|---|---|---|---|
| tpilar Profil |
#1 · Zasláno: 26. 2. 2013, 10:12:06
Jsem v podstatě začátečník.
Nejsem schopen dát dohromady funkční odesílání e-mailu. Nejde mi o rozvržení nebo o posílání příloh ale zatím jen a pouze o to aby mail opravdu odešel a neotevíral pouze nějaký Outlook ne Win.Mail apod. Podle správce webhostingu na savana.cz by měla stačit funkce mail a není nutné instalovat nebo volat phpmailer : <?php
function show_form()
{
?>
<form action="" method=post>
<div align="center">
<br />Jméno:*<br />
<input type="text" name="name" size="40">
<br />Telefonní číslo:<br />
<input type="text" name="tel" size="40">
<br />E-mail:*<br />
<input type="text" name="email" size="40">
<br />Téma:<br />
<input type="text" name="title" size="40">
<br />Text zprávy:*<br />
<textarea rows="10" name="mess" cols="30"></textarea>
<br /><input type="submit" value="Odeslat" name="submit">
</div>
</form>
* Musíte vyplňit.
<?php
}
function complete_mail() {
// $_POST['title'] data z inputu Přemět, trim() - odstraňuje zbytečné
//mezery a řádky, htmlspecialchars() - převádí specifické symboly
//do HTML entit, proto, aby jsme zabránili nejjednoduššímu pokusu o
//hacknutí stránky a substr($_POST['title'], 0, 1000) -
//omezujeme text do 1000 znaků. Pro proměnné
//$_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email']
//uděláme to samé.
$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
$message = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
$name = substr(htmlspecialchars(trim($_POST['name'])), 0, 30);
$tel = substr(htmlspecialchars(trim($_POST['tel'])), 0, 30);
$email = substr(htmlspecialchars(trim($_POST['email'])), 0, 50);
$mess = '
Jméno odesílatele: '.$name.' <br>
Telefonní číslo: '.$tel.' <br>
Email: '.$email.' <br>
'.$message;
// $to - příjemce emailu
$to = $email;
// $from - odesílatel
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'From: rexon.cz<info@rexon.cz>'. "\r\n";
if(mail($to, $title, $mess, $headers)){
echo 'Děkujeme! Váš dopis byl odeslán.';
}else{
echo 'Dopis nebyl odeslán';
}
}
function output_err($num)
{
$err[0] = 'Chyba! Zadejte jméno.';
$err[1] = 'Chyba! Špatný e-mail.';
$err[2] = 'Chyba! Zadejte zprávu.';
echo '<p>'.$err[$num].'</p>';
show_form();
exit();
}
if (!empty($_POST['submit'])) complete_mail();
else show_form();
?> Případně k vidění ve zkušebním ovšem jak již jsem psal zcela nefunkčním stavu odeslání e-mailu na : www.tpilar.cz Předem díky za rady. Tom |
||
| Demoniak Profil |
#2 · Zasláno: 26. 2. 2013, 12:20:32
Nevím, jestli už si to opravoval, ale mě to u tebe normálně proběhne a email mi přijde bez problémů.
|
||
|
Časová prodleva: 13 let
|
|||
0