Autor Zpráva
Pavel Vlček
Profil *
<html>
<head>
<meta name="description" content="">
<meta name="keywords" content="">
<meta http-equiv=Content-Type content="text/html; charset=windows-1250">
<title>Výsledek</title>
</head>
<body>

<?
if ($_POST["heslo"]==""&&$_POST['name'] == ""&&$_POST['vasmail']==""){alert('Některé položky nebyly vyplněny!'); return false;
}
else
mail("vlcekp1@seznam.cz", "novy uzivatel", "Login: $_POST[name] \r\n \r\n \r\n Heslo: $_POST[heslo] \r\n Mail: $_POST[vasmail] \r\n Subscribtion 1.0.", "Content-Type:text/plain;charset=windows-1250");
echo "Váš mail byl přidán do databáze. Jakmile vás administrátor přidá, budete na váš mail, který jste vložili informováni.";


?>
</body>
</html>
Tohle je kód mého prý špatně vyrobeného skriptu. Hlásí to, že mám undefined function alert. Někdo mi poskytl mailform, ve kterém je to úplně stejně a hlášky to nehlásí.
Můžete mi prosím pomoct?
Děkuji.
Joker
Profil
V PHP neexistuje funkce alert().
Samozřejmě je možné si ji napsat, ale v tom příkladu se zjevně motá dohromady Javascript a PHP.
Pavel Vlček
Profil *
Ale v tomto kódu jde.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250" />
<meta name="author" content="blg.ic.cz" />
<title>PHP Mailform</title>
</head>

<body>
<script src="date.js">
</script>
<?php

//nastaveni prijemce
$prijemce="vlcekp1@seznam.cz";

//odeslani e-mailu
$zprava="";
if($prijemce==""){echo "Nejdrive musite nastavit prijemce!"; exit;}
if(isset($_POST['text'])){

//nacteni promennych
$email=trim($_POST['email']);
$jmeno=trim($_POST['jmeno']);
$predmet=trim($_POST['predmet']);
$text=trim($_POST['text']);

//sestaveni textu
$text.="\n\n________________________________________________________\n \nOdesláno ".date("j.n. Y H:i")." z domény ".$_SERVER['HTTP_HOST']." (IP odesílatele je ".$_SERVER['REMOTE_ADDR'].").\n";

//odeslani emailu
$odeslano=@mail($prijemce, $predmet, $text, "Content-Type:text/plain;charset=win-1250\nReply-To:$email");
if($odeslano){$zprava="Zpráva byla odeslána.";}
else{$zprava="Zprávu se nepodařilo odeslat!";}



}

?>
<?php echo "<"; ?>?xml version="1.0" encoding="windows-1250"?>
<h1>PHP Mailform</h1>
<?php if($zprava!=""){echo "<p><b>$zprava</b></p>";} ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="mailform" onsubmit="if(mailform.email.value=='' || mailform.email.value=='@' || mailform.jmeno.value=='' || mailform.predmet.value=='' || mailform.text.value==''){alert('Některé položky nebyly vyplněny!'); return false;}">

<label for="mail">Váš e-mail</label>
<input type="text" name="email" size="20" id="mail" value="@">
<label for="name">Vaše jméno</label>
<input type="text" name="jmeno" size="20" id="name">
<label for="subject">Předmět zprávy</label>
<input type="text" name="predmet" size="20" id="subject">
<label for="txt">text zprávy</label>
<input type="text" name="text" id="txt">

<input type="submit" value="Odeslat">

</form>

</body>
</html>
Nikde tam nevidím function alert.
Joker
Profil
Pavel Vlček
Ale v tomto kódu jde.
No jenže tam taky není použitý v PHP, ale v Javascriptu.
Měsíček
Profil
Ale v tomto kódu jde.

Není, funkce z JS jsou taky v JS a PHP je odděleno, ty to motáš dohromady ;)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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