Právě je 19 dub 2024 11:38

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 
Autor Zpráva
 Předmět příspěvku: PHP - Emailový formulář po odeslání zobrazí samotný skript
PříspěvekNapsal: 18 čer 2012 23:11 

Registrován:
18 čer 2012 23:03
Příspěvky:
7
Dobrý den,
mám problém, který akutně potřebuji vyřešit, nejsem v PHP expert, tak Vás prosím o přiměřené reakce .

Potřebuji vložit na stránku tento emailový formulář :
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="odeslat.php" method="post">
<table cellspacing="10">
<tr>
<td class="tx"><b>Jméno a Příjmení :</b></td> <td><input name="jmenoaprijmeni">
</td>
</tr>
<tr>
<td class="tx"><b>Váš e-mail :</b></td> <td><input name="email">
</td>
</tr>
<tr>
<td class="tx"><b>Ulice a číslo :</b></td> <td><input name="uliceacislo">
</td>
<tr>
<td class="tx"><b>PSČ :</b></td> <td><input name="psc">
</td>
<tr>
<td class="tx"><b>Město :</b></td> <td><input name="mesto">
</td>

</tr>
<tr>
<tr><td class="tx"><b>Poznámka :</b></td> <td><textarea name="vzkaz"></textarea>
</td>
</tr>
<tr>
<td><input type=submit value="Odeslat">
</td>
</tr>
</table>
</form>


Odeslat.php :
$email = $_POST['email'];
$jmenoaprijmeni = $_POST['jmenoaprijmeni'];
$uliceacislo = $_POST['uliceacislo'];
$pscamesto = $_POST['pscamesto'];
$vzkaz = $_POST['vzkaz'];

if(strstr($email, "\n") !== false || strstr($email, "\r") !== false) {
echo "Hackerum vstup zakazan!";
exit;
}
if(strstr($jmenoaprijmeni, "\n") !== false || strstr($jmenoaprijmeni, "\r") !== false) {
echo "Hackerum vstup zakazan!";
exit;
}
if(substr_count($email, '@') >= 2) {
echo 'Do kolonky "Vas e-mail" lze zadat pouze jednu emailovou adresu.';
exit;
}

$to = "mladezprotidrogam@gmail.com";
$extra = "From: $email\r\nReply-To: $email\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nContent-Transfer-Encoding: 8-bit\r\n";
$subject = "Vzkaz od ".$jmenoaprijmeni."";
$mess = "Jméno a Příjmení: ".$jmenoaprijmeni."\nE-mail:".$email."\nUliceasiclo:".$uliceacislo."\nPsc:".$psc."\nPscamesto:".$pscamesto."\nVzkaz: ".$vzkaz."\n";
if(mail ($to, $subject, $mess, $extra)) echo "Vzkaz byl uspesne odeslan";
else "Pri zpracovani vzkazu nastala chyba!";


V čem je problém, když po odeslání formuláře vyjede samotný script - viz obrázek. Děkuji za odpověď.


Přílohy:
Poznámka: Po odeslání formuláře mám problém, že na mě vyjede opět script v této podobě
Snímek obrazovky 2012-06-18 v 23.10.12.png
Snímek obrazovky 2012-06-18 v 23.10.12.png [ 67.37 KiB | Zobrazeno 7433 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: PHP - Emailový formulář po odeslání zobrazí samotný skript
PříspěvekNapsal: 21 čer 2012 11:47 
C4 podpora
C4 podpora

Registrován:
30 čer 2009 09:14
Příspěvky:
8504
Dobrý den,

server nepozná, že soubor odeslat.php obsahuje PHP kód, proto pouze vypíše obsah souboru. Správný zápis PHP musí na začátku kódu obsahovat <?php, pak následují PHP příkazy a na konci kódu musí být ?>. Takže kód v souboru odeslat.php bude vypadat takto:

Kód:
<?php
$email = $_POST['email'];
$jmenoaprijmeni = $_POST['jmenoaprijmeni'];
$uliceacislo = $_POST['uliceacislo'];
$pscamesto = $_POST['pscamesto'];
$vzkaz = $_POST['vzkaz'];

if(strstr($email, "\n") !== false || strstr($email, "\r") !== false) {
echo "Hackerum vstup zakazan!";
exit;
}
if(strstr($jmenoaprijmeni, "\n") !== false || strstr($jmenoaprijmeni, "\r") !== false) {
echo "Hackerum vstup zakazan!";
exit;
}
if(substr_count($email, '@') >= 2) {
echo 'Do kolonky "Vas e-mail" lze zadat pouze jednu emailovou adresu.';
exit;
}

$to = "mladezprotidrogam@gmail.com";
$extra = "From: $email\r\nReply-To: $email\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nContent-Transfer-Encoding: 8-bit\r\n";
$subject = "Vzkaz od ".$jmenoaprijmeni."";
$mess = "Jméno a Příjmení: ".$jmenoaprijmeni."\nE-mail:".$email."\nUliceasiclo:".$uliceacislo."\nPsc:".$psc."\nPscamesto:".$pscamesto."\nVzkaz: ".$vzkaz."\n";
if(mail ($to, $subject, $mess, $extra)) echo "Vzkaz byl uspesne odeslan";
else "Pri zpracovani vzkazu nastala chyba!";
?>

_________________
Radek Plašil
Webhosting C4
https://www.c4.cz/


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
PHP, MySQL Hosting
Návody pro C4

© 2009-2024 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz