Originariamente inviato da Avalox

posta sia il form, sia la pagina dove prelevi i dati dal form.... così non si capisce se c'è errore...
Ti posto il file php
Codice PHP:
$nome = stripslashes(strip_tags(trim($_POST['nome'],"\x00..\x1F")));
$email = $_POST['email'];
$citta = ucwords(stripslashes(strip_tags(trim($_POST['citta'],"\x00..\x1F"))));
$url = $_POST['url'];
$messaggio = ucfirst(stripslashes(strip_tags(trim($_POST['messaggio'],"\x00..\x1F"))));
$messaggio = wordwrap($messaggio, 60, "
",1);
//strlen = numero max di caratteri inseribili
if(strlen($nome) > 15){
$errore = true;
echo "
<tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\"> NOME: max 15 caratteri</font></center>
";
}
if(strlen($email) > 30){
$errore = true;
echo "
<tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\"> EMAIL: max 30 caratteri</font></center>
";
}
if(strlen($url) > 80){
$errore = true;
echo "
<tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\"> URL: max 80 caratteri</font></center>
";
}
if(strlen($citta) > 15){
$errore = true;
echo "
<tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\"> CITTA': max 15 caratteri</font></center>
";
}
if(strlen($messaggio) > 500){
$errore = true;
echo "
<tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\"> MESSAGGIO: max 500 caratteri</font></center>
";
}
//Caratteri non ammessi
if(strpos($nome.$citta.$messaggio, "\\") !== false)
$errore .= "
<tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Il carattere \"<font color=\"red\">\</font>\" non è ammesso</font></center>
";
//parole proibite (vedi config.php)
$stringa1 = $_POST['messaggio'].' '.$nome.' '.$email.' '.$url.' '.$citta;
foreach($parole_proibite as $parola){
if(stristr($stringa1, $parola) !== false){
$errore .= "
<tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">La parola \"<font color=\"red\">$parola</font>\" non è ammessa</font></center>
";
}
}
//siti proibiti (vedi config.php)
$stringa2 = $_POST['url'].' '.$nome.' '.$email.' '.$citta.' '.$messaggio;
$stringa2 = explode(" ",strtolower($stringa2));
foreach($stringa2 as $sito){
foreach($siti_proibiti as $banned){
if (strpos($sito,$banned))
$errore .= "
<tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Il sito \"<font color=\"red\">$sito</font>\" non è ammesso</font></center>
";
}
}
//Valida l'Email
//valida [email]pippo@email.{2,4}//pip.po[/email]@email.{2,4}//pip_po@email.{2,4}//pip-po@email.{2,4}
if($email){
if(!ereg("^([#$&a-z0-9]+)(\.[#$&a-z0-9]+)?(-[#$&a-z0-9]+)?(_[#$&a-z0-9]+)?[@][a-z]+(\.[a-z]{2,4})$",$email)){
$errore .= "
<tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Inserire un' Email valida</font></center>
";
}
}
//Valida url (Campo non obbligatorio)
//valida [url]https://www.pippo.sito.dominio.[/url]{2,4}/forum/home.{2,4}
if ($url){
if (!preg_match("/^((http(s)?:\/\/)|(www\.))+[A-Za-z0-9]+(\.[A-Za-z0-9]+)?(\.[A-Za-z0-9]+)?(\.[a-z]{2,4})(\/[A-Za-z0-9]+)?((\/[A-Za-z0-9]+)(\.[a-z]{2,4}))?$/",$url)){
$errore .= "
<tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Inserire un' URL valido</font></center>
";
}
}
//Campi obbligatori
if (empty($nome))
$errore .= "
<tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Inserire il Nome</font></center>
";
else
if (empty($messaggio))
$errore .= "
<tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Inserire il Messaggio</font></center>
";
if($errore)
echo $errore;
if($errore):
$tab_ins;
$meta="<META http-equiv=\"REFRESH\" content=\"3; url=http://www.miosito.altervista.org/guestbook/form.php\">";
//Fa mantenere i dati inseriti nel form dopo un'alert
session_start();
$_SESSION['nome'] = $nome;
$_SESSION['email'] = $email;
$_SESSION['url'] = $url;
$_SESSION['citta'] = $citta;
$_SESSION['messaggio'] = $messaggio;
else:
$nome = str_replace(array("\n","\r"),'',$nome);
$citta = str_replace(array("\n","\r"),'',$citta);
$url = str_replace(array("\n","\r"),'',$url);
$url = str_replace("www.", "http://",$url);
$messaggio = str_replace(array("\n","\r"),'',$messaggio);
$data=date("d/m/Y");
$orario=date("H.i");
$commento=$nome."|".$email."|".$citta."|".$url."|".$messaggio."|".$data."|".$orario."\n";
if (!(file_exists($file)))
{fopen($file,"w");}
// Scrittura del nuovo messaggio su file
$new_mess=fopen($file,"a+");
fwrite($new_mess,$commento);
fclose($new_mess);
$arr_mess=file($file);
$count=count($arr_mess);
$pagine_totali= ceil($count/$risultati_per_pagina);
$tab_ins= "
<table width=\"400\"height=\"150\" align=\"center\"\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#0000FF\" bgcolor=\"#DDFBDB\" style=\"border:1px solid;\">";
$tab_ins .= "<tr><td valign=\"bottom\"><center><font family=\"Arial\" size=\"4\">GRAZIE ".$nome."</td></tr></center><tr><td valign=\"top\"><center></font><font family=\"Arial\" size=\"4\">IL TUO MESSAGGIO E' STATO INSERITO!</font></center>";
$tab_ins .= "</td></tr></table>
";
$meta="<META http-equiv=\"REFRESH\" content=\"3; url=http://www.miosito.altervista.org/guestbook/form.php\">";
if ($meta){
//Distrugge tutti i dati registrati una sessione e il form si svuota
session_start();
$_SESSION['nome'] = $nome;
$_SESSION['email'] = $email;
$_SESSION['url'] = $url;
$_SESSION['citta'] = $citta;
$_SESSION['messaggio'] = $messaggio;
session_destroy();
}