salve, ho trovato e modificato questo script da internet
codice:
<script>
function checkForm() {
var f = document.forms.formRegistra;
var parole = new RegExp("(<? $sqla = "select * FROM progettoratorio ORDER BY `id`";
$resulta = mysql_query($sqla, $db);
while ($rowa = mysql_fetch_array($resulta)) { echo$rowa[pg]."|"; } ?>)");
var stringhe = ["titolo"];
for (i=0; i<stringhe.length; i++){
var campo = f.elements[stringhe[i]];
if(campo.value.match(parole) && campo.value.match(parole)[0]){
campo.style.backgroundColor='red'
campo.style.color='white'
alert("La pagina '"+campo.value.match(parole)[0]+"' è già presente!\nSi raccomanda di inserire un nome diverso per la corretta visualizzazione del sito!");
campo.focus();
campo.style.color=""
return false;
}
}
var titolo = document.getElementById("titolo").value
var descrizione = document.getElementById("descrizione").value
if ( titolo=="" || descrizione=="" ) {
alert("Completa tutti i campi!")
}else {
document.getElementById("formRegistra").submit()
}
}
</script>
In pratica se per caso il campo titolo contiene una parola che non voglio mi da l'allarme.
Io lo utilizzo per non fare inserire dei valori doppi in un DB mysql.
Quindi inserisco (tramite il ciclo while di php) i vari nomi delle pagine!
Se il nome è già presente, si ferma, altrimenti controlla che i 2 campi (descrizione e titolo) siano completi.
l'ho provato e quando inserisco nel titolo (parole permesse) mi dice che i campi sono vuoti, ma non è vero!
Se invece inserisco la parola (per esempio, pagina123) e nello script è presente la parola pagina, mi dice che la parola pagina è presente anche se io nel campo inserisco pagina123...
Non sono stato molto chiaro, ma spero di essere capito :P