Zdravím potřeboval bych úpravu scriptu, PHP neumím dělám grafiku takže mi prosím nepopisujte postup.
Na webu budou 5 inputů
E-mail, Telefon, Jiný kontakt, Text, Anti-spam
Mělo by to fungovat následovně input E-mail, Telefon a Jiný kontakt je povinný ale jen jeden ne všechny, ale jeden musí být vyplněn.
1. Pokud někdo odešle formulář a v kolonka email není vyplněna ale je vyplněná jedna z ostatních (telefon, jiný kontakt), tak script pokračuje, ale pokud je tam byď jen jeden znak tak zkontroluje jestli má email správný formát.
2. Pokud někdo odešle formulář a v kolonka telefon není vyplněna ale je vyplněná jedna z ostatních (email, jiný kontakt), tak script pokračuje, ale pokud je tam byď jen jeden znak tak zkontroluje jestli má telefon správný formát, pouze tudíž číslo.
3. Pokud někdo odešle formulář a v kolonka jiný kontakt není vyplněna ale je vyplněná jedna z ostatních (telefon, email), tak script pokračuje.
4. Zkontroluje jestli se ve vstupu nachází text zprávy.
5. Kontrola antispamu, by mela fungovat tak ze se bude automaticky generovat nahodné čísla třeba 5+6= A uživatel musí doplnit součet.
Na webu jsem nic nenašel a po 2,5 dnech hledání už to vzdávám a obracím se s pomocí na vás tak snad se najde nějaká spřízněná duše.
Děkuji za pomoc
Kód:
<?php
function checkmail($mail){
$mail = trim($mail);
if(strlen($mail)==0) return 0;
if(!preg_match("/^[a-z0-9_-]{1,20}+(\.){0,20}+([a-z0-9_-]){0,20}@(([a-z0-9-]+\.)+(com|net|org|mil|".
"edu|gov|arpa|info|biz|inc|name|[a-z]{2})|[0-9]{1,3}\.[0-9]{1,3}\.[0-".
"9]{1,3}\.[0-9]{1,3})$/is",$mail))
return 0;
return $mail;
}
if(isset($_POST['go']) || ($_POST['go'] == 'Odeslat'))
{
$_ERR='';
$_print='';
$name = htmlspecialchars(strip_tags(trim($_POST['jmeno'])));
$prijmeni = htmlspecialchars(strip_tags(trim($_POST['prijmeni'])));
$email = htmlspecialchars(strip_tags($_POST['email']));
$pass = htmlspecialchars(strip_tags(trim($_POST['pass'])));
$text = htmlspecialchars(strip_tags(trim($_POST['text'])));
if(!isset($name) OR $name == '')
{
$_ERR.='<span style="color:red">Chyba: Nezadal jste jméno!</span>';
}
elseif(!isset($prijmeni) OR $prijmeni == '')
{
$_ERR.='<span style="color:red">Chyba: Nezadal jste příjmeni!</span>';
}
elseif(checkmail($email) === 0)
{
$_ERR.='<span style="color:red">Chyba: Nezadal jste email nebo byl zadán špatně!</span>';
}
elseif(!isset($pass) OR $pass == '')
{
$_ERR.='<span style="color:red">Chyba: Zadejte heslo!</span>';
}
elseif(empty($text))
{
$_ERR.='<span style="color:red">Chyba: Napište zpravu!</span>';
}
/*------NOVE----------*/
if($_ERR != '')
{
$_print = $_ERR;
}
else
{
echo'
<script>
alert("Data jsou odeslána")
</script>
';
}
/*-------KONEC--------*/
}
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title></title>
</head>
<body>
<?php
echo $_print;
?>
<form action="" method="POST">
<table style="250px; border:3px solid black;">
<tr><td style="width:100px;">Jméno:</td>
<td style="width:150px;"> <input type="text"
name="jmeno" value="<?php echo $name;?>"></td></tr>
<tr><td style="width:100px;">Príjmení:</td>
<td style="width:150px;"> <input type="text"
name="prijmeni" value="<?php echo $prijmeni;?>"></td></tr>
<tr><td style="width:100px;">E-mail:</td>
<td style="width:150px;"> <input type="text"
name="email" value="<?php echo $email;?>"></td></tr>
<tr><td style="width:100px;">heslo:</td>
<td style="width:150px;"> <input type="password"
name="pass"></td></tr>
<tr><td style="width:100px;">Zprava:</td>
<td style="width:150px;"><textarea rows="5" cols="25" wrap="soft"
name="text"><?php echo $text;?></textarea></td></tr>
<tr><td colspan="2" style="width:250px; text-align:right;">
<input type="submit" name="go" value="Odeslat"></td></tr>
</table>
</form>
</body>
</html>