a me sembra corretta, il problema e che non me la prende
forse sbaglio qualcosa che gira attorno alle mie espressioni!
io ho un foglio php dove ci sono n funzioni... le mie funzioni per i controlli con le espressioni regolari...
controllano email, numeri,caratteri, etc...
la prima e la mail e funziona alla grande le altre sotto non molto ...
nel senso che mi riportano un true e un false , ma in maniera errata e a volte riportano solo false o solo true...
il foglio lo includo nella mia pagina principale in maniera da averle sempre disponibili!
Codice PHP:
include ("../../funzioni/controlli.php");
//richamo i valori via post ...
//controllo le espressioni
if ( (empty($coddeb))||(empty($ragsoc))||(empty($indi))||(empty($city))||(empty($pro))||(empty($e_mail))||(empty($p_iva))||(empty($cfisc))||(empty($rifdebit))||(empty($numerofatture)) ){
$reindirizzo_vuoti = true;
}
//Verifiche integrità campi (FALSE=sbagliata | TRUE=giusta)
if ($reindirizzo_vuoti == false){
//MAIL
$controllo_mail = controllo_mail($e_mail);
if ($controllo_mail){
$mailControl = true;
}else{
$mailControl = false;
}
//CITTA carattere
$controllo_citta = caratteri($city);
if ($controllo_citta){
$cittaControl = true;
}else{
$cittaControl = false;
}
//se trova errori redirect
if ($reindirizzo_vuoti){
header("Location:../../index.php?id_user=$idget&pag=insdeb&pieni=si");
}else if (!$mailControl){
header ("Location:../../index.php?id_user=$idget&pag=insdeb&pieni=mail");
}else if (!$cittaControl){
header("Location:../../index.php?id_user=$idget&pag=insdeb&pieni=cit");
ovviamente nell'altra pagina riprendo le variabili in get e stampo l'avviso dove voglio!
le mie espressioni sono queste
Codice PHP:
function controllo_mail($var_mail) {
$result = ereg("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)$",$var_mail);
if($result == false){
return false;
}else{
return true;
}
}
//controllo caratteri
function caratteri($var){
$result = ereg("^[a-zA-Z]+$",$var);
if ($result == false){
return false;
}else{
return true;
}
}
se in citta lascio cosi la mia espressione qualunque cosa metto mi restituisce false.
se metto le parentesi mi da false quando è giusta!
non vedo l'errore ...
grazie dell'aiuto