Problema su script

Salvo Salvi

Utente Attivo
14 Nov 2012
230
0
0
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Controllo Email</title>
</head>

<body>
	<?php
$n = 0;
	if ($_POST['submit_tre'] == "submit_tre"){
		
			$array = explode("\n", $_POST['email']);
		foreach ($array as $valore) {
	if( strpos($valore,'@hotmail') || strpos($valore,'@tin') || strpos($valore,'@yahoo') || strpos($valore,'@gmail') || strpos($valore,'@email') || strpos($valore,'@outlook') || strpos($valore,'@ymail') || strpos($valore,'@ymail') || strpos($valore,'@msn') || strpos($valore,'@ymail') || strpos($valore,'@tiscali') || strpos($valore,'@virgilio') || strpos($valore,'@interfree') || strpos($valore,'@iol.it') || strpos($valore,'@fastwebnet') ){  }
	else {		
		$dominio = explode('@', $valore);
		$estremo =  $dominio[1];
	
	//estraggo ip se sono numeri esiste (almeno credo)	
	$ip = gethostbyname(trim($estremo));

	//controllo con l'espressione regolare se sono numeri o no
		if (preg_match("/^[0-9-. ]+$/", $ip )) { //terzo if
    //se sono numeri e punti proseguo
	echo $valore ."<br />";
		}
		}
		}
		}else {
?>



<h1> CONTROLLO SE ESISTONO O NO LE MAIL </h1>
<form action="" method="POST">
<textarea style="height:400px; width:300px;" name="email">
<?php
if ( $_POST['submit_uno'] == "submit_uno" ){
$array = explode("\n", $_POST['email']);

foreach ($array as $valore) {

$email == $valore;
$chiocciola = strstr($valore, '@');
$it			= strstr($valore, '.it');
$net		= strstr($valore, '.net');
$com		= strstr($valore, '.com');


//controllo i valori che non ci devono essere

	if(strpos($valore,';') || strpos($valore,',') || strpos($valore,' ')) {
	}else{
//continuo...
 	

if($email == "") { //if zero
	if ($chiocciola != "" ){ //primo if
	if($net != "" || $it != "" || $com != ""){ //secondo if
	
		
  echo $valore; 
  
				
		} // if 2
			
	} //if 1
			
	} //if 0
			
} //fine primo if

//fine foreach
}
}//fine if
	

elseif ($_POST['submit_due'] == "submit_due"){
	$array = explode("\n", $_POST['email']);

foreach ($array as $valore) {
	if(strpos($valore,' ') !== false || strpos($valore,'google') !== false || strpos($valore,'mailup')  !== false || strpos($valore,'legalmail') !== false || strpos($valore,'ebay')  !== false || strpos($valore,'paginegialle')  !== false || strpos($valore,'paginebianche')  !== false || strpos($valore,'polizia')  !== false || strpos($valore,'vigili')  !== false || strpos($valore,'comune') !== false || strpos($valore,'provincia')  !== false || strpos($valore,'regione')  !== false || strpos($valore,'@118')  !== false || strpos($valore,'pompieri')  !== false || strpos($valore,'guardiadifinanza')  !== false || strpos($valore,'facebook')  !== false || strpos($valore,'spam')  !== false || strpos($valore,'messenger')  !== false || strpos($valore,'sulake')  !== false || strpos($valore,'atari')  !== false || strpos($valore,'blogspot')  !== false || strpos($valore,'enel')  !== false || strpos($valore,'@tim')  !== false || strpos($valore,'@pec')  !== false || strpos($valore,'@agip')  !== false || strpos($valore,'telecom')  !== false || strpos($valore,'vodafone')  !== false || strpos($valore,'wind')  !== false || strpos($valore,'@tre')  !== false || strpos($valore,'@119')  !== false || strpos($valore,'@113')  !== false || strpos($valore,'112')  !== false || strpos($valore,'[email protected]')  !== false || strpos($valore,'cgil')  !== false || strpos($valore,'inail')  !== false || strpos($valore,'guardiaforestale')  !== false || strpos($valore,'postacert')  !== false || strpos($valore, 'euronics')  !== false || strpos($valore, '@istruzione.')  !== false || strpos($valore,'@erickso')  !== false || strpos($valore,'@unicef')  !== false || strpos($valore,'@wwf')  !== false || strpos($valore,'@groupon')  !== false || strpos($valore,'@aruba')  !== false || strpos($valore,'@teletu')  !== false || strpos($valore,'@aruba')  !== false || strpos($valore,'@mediolanium')  !== false || strpos($valore,'bancaetruria')  !== false || strpos($valore,'@iol.it')  !== false || strpos($valore,'@avis')  !== false || strpos($valore,'[email protected]')  !== false || strpos($valore,'@mediaset')  !== false  || strpos($valore,'@confindustria')  !== false || strpos($valore,'@123rf')  !== false || strpos($valore,'@adecco.it')  !== false || strpos($valore,'@confcommercio')  !== false   ){} else {
		
		 echo $valore;
		  			
	
	}
}
}

?>

</textarea>
<input  type="submit" value="submit_uno" name="submit_uno"/>
<input type="submit" value="submit_due" name="submit_due"/>
<input type="submit" value="submit_tre" name="submit_tre"/>
</form>

<br><br>
<? } ?>
</body>
</html>
Ciao a tutti quello che vedete di sopra è uno script che serve ad individuare delle parole o se gli indirizzi email esistono o no e scegli di scartarle o tenerle.
Però cè un problema sembra che i strpos cioè questa parte
PHP:
foreach ($array as $valore) {
	if(strpos($valore,' ') !== false || strpos($valore,'google') !== false || strpos($valore,'mailup')  !== false || strpos($valore,'legalmail') !== false || strpos($valore,'ebay')  !== false || strpos($valore,'paginegialle')  !== false || strpos($valore,'paginebianche')  !== false || strpos($valore,'polizia')  !== false || strpos($valore,'vigili')  !== false || strpos($valore,'comune') !== false || strpos($valore,'provincia')  !== false || strpos($valore,'regione')  !== false || strpos($valore,'@118')  !== false || strpos($valore,'pompieri')  !== false || strpos($valore,'guardiadifinanza')  !== false || strpos($valore,'facebook')  !== false || strpos($valore,'spam')  !== false || strpos($valore,'messenger')  !== false || strpos($valore,'sulake')  !== false || strpos($valore,'atari')  !== false || strpos($valore,'blogspot')  !== false || strpos($valore,'enel')  !== false || strpos($valore,'@tim')  !== false || strpos($valore,'@pec')  !== false || strpos($valore,'@agip')  !== false || strpos($valore,'telecom')  !== false || strpos($valore,'vodafone')  !== false || strpos($valore,'wind')  !== false || strpos($valore,'@tre')  !== false || strpos($valore,'@119')  !== false || strpos($valore,'@113')  !== false || strpos($valore,'112')  !== false || strpos($valore,'[email protected]')  !== false || strpos($valore,'cgil')  !== false || strpos($valore,'inail')  !== false || strpos($valore,'guardiaforestale')  !== false || strpos($valore,'postacert')  !== false || strpos($valore, 'euronics')  !== false || strpos($valore, '@istruzione.')  !== false || strpos($valore,'@erickso')  !== false || strpos($valore,'@unicef')  !== false || strpos($valore,'@wwf')  !== false || strpos($valore,'@groupon')  !== false || strpos($valore,'@aruba')  !== false || strpos($valore,'@teletu')  !== false || strpos($valore,'@aruba')  !== false || strpos($valore,'@mediolanium')  !== false || strpos($valore,'bancaetruria')  !== false || strpos($valore,'@iol.it')  !== false || strpos($valore,'@avis')  !== false || strpos($valore,'[email protected]')  !== false || strpos($valore,'@mediaset')  !== false  || strpos($valore,'@confindustria')  !== false || strpos($valore,'@123rf')  !== false || strpos($valore,'@adecco.it')  !== false || strpos($valore,'@confcommercio')  !== false   ){} else {
		
		 echo $valore;
		  			
	
	}
Non funzioni qualcuno di voi sa aiutarmi?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
23
Roma
alessandro1997.netsons.org
Intanto cambialo in questo modo, ché come hai fatto tu è inguardabile:
PHP:
<?php
$domains = array(' ', 'google', 'mailup', 'legalmail', 'ebay', 'paginegialle', 'paginebianche', 'polizia');

foreach ($array as $valore) {
    foreach ($domains as $domain) {
        if (strpos($valore, $domain) === false) {
            continue;
        }

        // ...
    }
}
Ma poi non ho capito il senso di questo ciclo.