Autor Zpráva
phonos
Profil
Ahoj, tvořím na jednom webu takový ten klasický kontaktní formulář, ale už nevím jak opravit pár (snad) posledních chyb:
- když návštěvník nevyplní některá pole formuláře tak se mu sice zobrazí aby je vyplnil vsechny, ale i tak se nekompletní formulář odešle. Nevíte jak na to? A když už to budete zkoumat, zkuste mě prosím upozornit na chyby, jestli tam nějaké jsou...
díky

Formulář:

<?php
$ipi = getenv("REMOTE_ADDR");
$httprefi = getenv ("HTTP_REFERER");
$httpagenti = getenv ("HTTP_USER_AGENT");
?>

<input type="hidden" name="ip" value="<?php echo $ipi ?>" />
<input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
<input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />

Pokud máte zájem o naše služby, nebo se jen chcete na cokoliv zeptat, využijte tohoto formuláře:

<br /><br />
Vaše jméno:*<br />
<input type="text" name="visitor" size="35" />
<br />
Váš email:*<br />
<input type="text" name="visitormail" size="35" />
<br />
<br />
Text zprávy:*
<br />
<textarea name="notes" rows="8" cols="52"></textarea>
<br />
<input type="submit" value="Odeslat zprávu" />
</form>


Skript:


<?php
if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
{
echo "<h2>Neplatný email</h2>\n ";
$badinput = "<br /><br /><br /><br /><p><strong>Použijte Zpět a zadejte platný email.</strong></p> \n";
echo $badinput;
}
if(empty($visitor) || empty($visitormail) || empty($notes )) {
echo "<h2>Neúplný dotaz</h2>\n <br /><br /><br /><br /><p><strong>Použijte Zpět a vyplňte všechna pole.</strong></p> ";
}

$todayis = date("l, F j, Y, g:i a") ;

$attn = $attn ;
$subject = $attn;

$notes = stripcslashes($notes);

$message = " $todayis [EST] \n

Odesílatel: $visitor ($visitormail)\n
Zpráva: $notes \n
Doplňujíci informace : IP = $ip \n
Informace o prohlížeči: $httpagent \n
Reference: $httpref \n
";

$from = "Odesílatel: $visitormail\r\n";


mail("phon.os@gmail.com", $subject, $message, $from);

?>
<p>
<br />
<A href="" onCLick="history.go(-1);return false;">ZPĚT na kontaktní formulář</A><br /><br />
<a href="index.htm" title="Pokračovat na úvodní stranu">Pokračovat na úvodní stranu</a>
<br /><br />
</p>
Nox_lbc
Profil
if (podmínka) {
// blok kódu, který se vykoná v případě splnění podmínky
} else {
// blok kódu, který se vykoná v případě nesplnění podmínky
}

// blok kódu, který se vykoná NEZÁVISLE na jakýchkoli podmínkách ...

/*
Teď se podívej do tvého kódu a zjistíš jednu podstatnou věc ...
1) testuješ správnost emailu (začátek podmínky), pokud je email špatně vyplněn vypíšeš text ... konec podmínky
2) ... posíláš email ... nikde žádná podmínka ... chápeš ? ;-)
*/
phonos
Profil
chápu...ale nepobírám:)) Nutně to potřebuju na jeden web....mohl by jsi to, prosím prosím, předělat tak aby to fungovalo?
Dík moc...
peta
Profil
phonos
"mohl by jsi to, prosím prosím, předělat" :) na to patri otazka, co za to? :)
phonos
Profil
a co bys chtel?:)
Uroboros
Profil *
<?php

if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
{
echo "<h2>Neplatný email</h2>\n ";
$badinput = "<br /><br /><br /><br /><p><strong>Použijte Zpět a zadejte platný email.</strong></p> \n";
echo $badinput;
}
elseif (empty($visitor) || empty($visitormail) || empty($notes )) {
echo "<h2>Neúplný dotaz</h2>\n <br /><br /><br /><br /><p><strong>Použijte Zpět a vyplňte všechna pole.</strong></p> ";
}
else{
$todayis = date("l, F j, Y, g:i a") ;

$attn = $attn ;
$subject = $attn;

$notes = stripcslashes($notes);

$message = " $todayis [EST] \n

Odesílatel: $visitor ($visitormail)\n
Zpráva: $notes \n
Doplňujíci informace : IP = $ip \n
Informace o prohlížeči: $httpagent \n
Reference: $httpref \n
";

$from = "Odesílatel: $visitormail\r\n";


mail("phon.os@gmail.com", $subject, $message, $from);
}
?>


Ale nebude ti tam fungovat diakritika a podobný blbiny, neboť nemáš nastavenou hlavičku toho mailu.
phonos
Profil
Moc díky....fakt jsi mě pomohl...

BTW jak na tu hlavičku? Jak se musí nastavit?
Nox_lbc
Profil
BTW jak na tu hlavičku? Jak se musí nastavit?

http://cz2.php.net/manual/cs/function.mail.php
Toto téma je uzamčeno. Odpověď nelze zaslat.

0