Ho fatto queste modifiche e funziona, c'è ancora il problema della barra spaziatrice:Originariamente inviato da progalba
penso di si, anke se ammetto che non so a cosa serva..
se la schiaccio senza poi inserire caratteri nella casella del form, viene riconosciuta come un carattere inserito e non esce l'alert.
Non c'è un modo per obbligare l'utente ad inserire almeno un vero carattere?
//strip_tags elimina tutto il codice contenuto fra i tag < e >, tag compresi
//htmlspecialchars() trasforma i tag < e > (quando inseriti in coppia) nei relativi caratteri speciali (< >che a sua volta saranno scritti a video < e > ma sarano innoqui.
//trim toglie gli spazi bianchi prima e dopo la parola inserita
$nome = htmlspecialchars(strip_tags(trim($_POST['nome'],"\x00..\x1F")));
$email = htmlspecialchars(strip_tags(trim($_POST['email'],"\x00..\x1F")));
$url = htmlspecialchars(strip_tags(trim($_POST['url'],"\x00..\x1F")));
$citta = htmlspecialchars(strip_tags(trim($_POST['citta'],"\x00..\x1F")));
$messaggio = htmlspecialchars(strip_tags(trim($_POST['messaggio'],"\x00..\x1F")));
//se vuoi eliminare tutti gli spazi vuoti della stringa puoi fare cosi:
$url = str_replace(" ", "",$url);
$email = str_replace(" ", "",$email);
//Campi obbligatori
$errore=false;
if (($nome=="") || ($messaggio=="")) {
$errore=true;
}
//controlla che sia inserita un'email valida
if ($email){
if (!(eregi("([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})", $email))){
$errore = true;
}}
//strlen = numero max di caratteri inseribili
if(strlen($nome) > 25){
$errore = true;
}
if(strlen($email) > 30){
$errore = true;
}
if(strlen($url) > 80){
$errore = true;
}
if(strlen($citta) > 30){
$errore = true;
}
if($errore):
$tab_ins="
<tr><td align=\"center\"><font face=\"arial\" size=\"6\" color=\"red\">HAI I CONTROLLI JS DISATTIVATI!!</font>
<font face=\"arial\" size=\"5\" color=\"red\">Attivali e compila il form correttamente!
<img src=\"soldato.gif\"></font></td></tr>";
$meta="<META http-equiv=\"REFRESH\" content=\"3; url=http://www.xx.org/guestbook/form.php\">";

che a sua volta saranno scritti a video < e > ma sarano innoqui.
Rispondi quotando