Buonasera a tutti!
Dopo due ore di ricerca su internet e centinaia di prove mi trovo costretto a chiedere ai "più grandi" un aiuto su questo dannato errore che non mi da pace.
Ho visto che può essere dovuto a un sacco di cose quindi premetto che:
- non ho file .htaccess
- le cartelle hanno i permessi giusti (spero :P)
- lo script ha un ciclo non infinito
Allora.. è semplice:
Hosting Linux Aruba. Database con 3 tabelle: Email, Email_Right, Email_Wrong. Lo script prende l'email dalla tabella "email", controlla se esiste tramite controllo smtp e dns e la inserisce in Email_Right se esiste, in Email_Wrong con relativo problema.
Codice PHP:
if(trim($_POST['limit']) != '') {
$a = $_POST['limit'];
$y = 0;
$n = 0;
$sql = mysql_query("SELECT * FROM Email LIMIT 0,".$a);
while($rs = mysql_fetch_array($sql)) {
$email = $rs['email'];
$categoria = $rs['categoria'];
$regione = $rs['regione'];
if(validateEmail($email, true, true, 'info@liberodegliernici.it', 'liberodegliernici.it')) {
mysql_query("INSERT INTO Email_Right VALUES('','".$email."', '".$categoria."', '".$regione."');");
$y++;
} else {
$check = validateEmail($email, true, true, 'info@liberodegliernici.it', 'liberodegliernici.it', true);
echo $check."\n";
$exp1 = "/rejected/";
$exp2 = "/Address syntax not correct/";
$exp3 = "/No usable DNS records found for domain/";
if(preg_match($exp2, $check, $matches))
mysql_query("INSERT INTO Email_Wrong VALUES('','".$email."', '".$categoria."', '".$regione."', '1');");
elseif (preg_match($exp3, $check, $matches))
mysql_query("INSERT INTO Email_Wrong VALUES('','".$email."', '".$categoria."', '".$regione."', '2');");
elseif (preg_match($exp1, $check, $matches))
mysql_query("INSERT INTO Email_Wrong VALUES('','".$email."', '".$categoria."', '".$regione."', '3');");
else
mysql_query("INSERT INTO Email_Wrong VALUES('','".$email."', '".$categoria."', '".$regione."', '4');");
$n++;
}
set_time_limit(0);
mysql_query("DELETE FROM Email_Bank WHERE id = ".$rs['id']);
}
echo "$y indirizzi corretti\n$n indirizzi errati\n$a indirizzi totali";
}
Se lancio con Limit di 5 va tranquillo... con 10 a volte va a volte no.. da 20 in su non ho altro che un Internal Error. Dato che non posso mettermi lì a cliccare ogni 2 minuti e fare 5 email alla volta, mi serve la possibilità di alzare il limite senza incappare nel maledetto 500.
Spero mi sappiate aiutare e vi ringrazio preventivamente per la vostra pazienza ^__^
Matteo