Caratteri non ammessi?? Inesistenti!!

Non riesco a trovare l'errore del codice, se nel form http://www.photoman.altervista.org/scrivimi1.php si scrive

"Ciao.

Scusa il disturbo, io sono Piero che ci siamo gi sentiti.

Mio mail xxx@sxxx.it

Grazie.

Piero."

esce l'alert php "i caratteri < >\ non sono ammessi" Ma dove sono?? :-\

La Sez. "Caratteri non ammessi mi sembra a posto"

Codice:

<?php
$nome = strip_tags(stripslashes(trim($_POST['nome'])));
$suoemail = $_POST['suoemail']; 
$citta = strip_tags(ucwords(stripslashes(trim($_POST['citta'])))); 
$ip = $_SERVER['REMOTE_ADDR'];
$messaggio = strip_tags(ucfirst(stripslashes(trim($_POST['messaggio'])))); 
$messaggio = wordwrap($messaggio, 75, "<br/>",1);
$giorni = array ("Domenica","Lunedi","Martedi","Mercoledi","Giovedi","Venerdi","Sabato");
$data = date("w", time());//scrive il giorno dell'array
$data1 = date("d/m/Y");
$orario = date("H:i");

//strlen = numero max di caratteri inseribili 
if (strlen($nome) > 15){ 
$errore = true;
echo "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">NOME: max 15 caratteri</font></center><br />";
} 
if (strlen($suoemail) > 30){ 
$errore = true;
echo "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">EMAIL: max 30 caratteri</font></center><br />";
}
if (strlen($citta) > 15){ 
$errore = true;
echo "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">CITTA': max 15 caratteri</font></center><br />";
}
if (strlen($messaggio) > 500){ 
$errore = true;
echo "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">MESSAGGIO: max 500 caratteri</font></center><br />";
}
//Caratteri non ammessi
if ($nome.$citta.$messaggio){
if (ereg("[\<>]+",$nome.$citta.$messaggio)){
$errore .= "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">I caratteri \"<font color=\"red\"><b>< > \</b></font>\" non sono ammessi</font></center><br />";
}
}
include("guestbook/parole-proibite.php");

//parole proibite (vedi guestbook/parole-proibite.php)
$stringa = $_POST['messaggio'].' '.$nome.' '.$suoemail.' '.$citta;
foreach($parole_proibite as $parola){
if (stristr($stringa, $parola) !== false){
$errore .= "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">La parola \"<font color=\"red\">$parola</font>\" non  ammessa</font></center><br />";
}
}
//Campi obbligatori
if (empty($nome))
$errore .= "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Inserire il Nome</font></center><br />";
else
//Valida l'Email
//valida pippo@email.{2,4}//pip.po@email.{2,4}//pip_po@email.{2,4}//pip-po@email.{2,4}
if (empty($suoemail))
$errore .= "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Inserire l'Email</font></center><br />";
else
if (!ereg("^([-_.#$&a-z0-9]+)[@][a-z]+(\.[a-z]{2,4})(\.[a-z]{2,4})?$",$suoemail))
$errore .= "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Inserire un' Email valida</font></center><br />";
else
if (empty($messaggio))
$errore .= "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Inserire il Messaggio</font></center><br />"; 
if ($errore)
echo $errore;

if ($errore): 
$tab_ins;
$meta="<META http-equiv=\"REFRESH\" content=\"3; url=http://www.photoman.altervista.org/scrivimi1.php\">"; 
//Fa mantenere i dati inseriti nel form dopo un'alert 
session_start(); 
$_SESSION['nome'] = $nome; 
$_SESSION['suoemail'] = $suoemail;
$_SESSION['citta'] = $citta;
$_SESSION['messaggio'] = $messaggio; 
else:
$tab_ins= "<br><br><br><br><br><table width=\"300\"height=\"120\" align=\"center\"\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#0000FF\" bgcolor=\"#FDFED6\" style=\"border:1px solid;\">";
$tab_ins .= "<tr><td valign=\"bottom\"><center><font family=\"Arial\" size=\"4\">GRAZIE ".$nome."<br></td></tr></center><tr><td valign=\"top\"><center></font><font family=\"Arial\" size=\"4\">MESSAGGIO INVIATO!</font></center>";
$tab_ins .= "</td></tr></table><br><br><br><a href=\"javascript:apriscrivimi();\"><center><font family=\"Arial\" size=\"4\">Chiudi finestra</center></font></a>";
$meta="<META http-equiv=\"url=http://www.photoman.altervista.org/scrivimi1.php\">";
if ($meta){ 
//Distrugge tutti i dati registrati una sessione e il form si svuota
$_SESSION = array();
}

...
inviato 6 anni fa
php
php
6
X 0 X

questa la riga che ti da problemi:

if (ereg("[\<>]+",$nome.$citta.$messaggio))

prova con

if (ereg("[\<\>]+",$nome.$citta.$messaggio))

:bye:

risposto 6 anni fa
Gianni Tomasicchio
X 0 X

questa la riga che ti da problemi:

if (ereg("[\<>]+",$nome.$citta.$messaggio))

prova con

if (ereg("[\<\>]+",$nome.$citta.$messaggio))

:bye:

Non va Gianni...ho provato anche cosi \< > e cosi \\<> :wallbash:

risposto 6 anni fa
php
php
6
X 0 X

io ho fatto una prova con un msg simile a quello che hai postato e non mi ha dato nessun errore.

risposto 6 anni fa
LonelyWolf
X 0 X
io ho fatto una prova con un msg simile a quello che hai postato e non mi ha dato nessun errore.

Nel primo post ho messo il link e la frase da mettere nel form, da errore. :lamo:

risposto 6 anni fa
php
php
6
X 0 X

Ho notato che dopo il messaggio reindirizzando alla pagina precedente viene "misteriosamente" aggiunto un <br/> tra mail e

risposto 6 anni fa
LonelyWolf
X 0 X

Ok, per forza ti dice che ci trova <>/, li aggiungi tu con wordwrap!

Se il messaggio pi lungo di 75 caratteri viene aggiunto <br/>:

$messaggio = wordwrap($messaggio, 75, "<br/>",1);

Certamente nel controllo successivo ci trova i caratteri proibiti, ce li hai appena messi, wordwrap mettilo successivamente ai controlli.

risposto 6 anni fa
LonelyWolf
X 0 X

Ok, per forza ti dice che ci trova <>/, li aggiungi tu con wordwrap!

Se il messaggio pi lungo di 75 caratteri viene aggiunto <br/>:

$messaggio = wordwrap($messaggio, 75, "<br/>",1);

Certamente nel controllo successivo ci trova i caratteri proibiti, ce li hai appena messi, wordwrap mettilo successivamente ai controlli.

Si vero, l'ho tolto e ora funziona...dove dovrei spostare il codice?

risposto 6 anni fa
php
php
6
X 0 X

L'ho spostato, ora funziona ;)

risposto 6 anni fa
php
php
6
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda