Jeg har proevet koden, som i har foreslaaet, og der er opstaaet et nyt problem. Det er stadig kun whilen med emailen der bliver koert, og intet der efter. Hvis jeg taker email whilen ud, saa det kun er bruger opdateringerne der koerer bliver de koert. Min teori er at PHP giver en time out da det taget en voldsom lang tid at koerer filen selv om jeg kun har oprettet 27 midlertidige brugere.
Koderne:
<?php
//funktioner.php
function mailme($fromname, $fromaddress, $toname, $toaddress, $subject, $message)
{
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "X-Priority: 3\n";
$headers .= "X-MSMail-Priority: Normal\n";
$headers .= "X-Mailer: php\n";
$headers .= "From: \"".$fromname."\" <".$fromaddress.">\n";
if(@mail($toaddress, $subject, $message, $headers))
{
return(true);
}
else
{
return(false);
}
}
function get_IP(){
return $_SERVER['REMOTE_ADDR'];
}
function Hot_mail($brugernavn, $email, $emne, $besked_HTML){
$besked = "<html>
<head>
<title>HoTML.dk | Det hotteste HTML!</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<style type=\"text/css\">
<!--
body{background-color:#E3E3C6;}
.banner_bg { background-image: url(images/Banner_nyhedsbrev.gif)}
.design { border:1px solid black; border-collapse:collapse;}
.design td { border:1px solid black; }
.pad { border:0px;}
.pad td { border:0px;}
.tekst { font-family: Tahoma; font-size: 12px; font-weight: normal; color: #000000; ; font-style: normal; line-height: normal; font-variant: normal}
A { font-family: Tahoma; font-size: 12px; font-weight: normal; font-style: normal; line-height: normal; font-variant: normal;}
A:active { color: #DFACA9; text-decoration: underline; }
A:visited { color: #DFACA9; text-decoration: underline; }
A:link { color: #DFACA9; text-decoration: underline; }
A:hover { color: #DFACA9; text-decoration: none; }
-->
</style>
</head>
<body bgcolor=\"#FFFFFF\" text=\"#000000\">
<center>
<table width=\"700\" border=\"0\" class=\"design\">
<tr>
<td class=\"banner_bg\" height=\"105\"><img src=\"\" width=\"190\" height=\"1\"><img src=\"reklamer/hot_pic.gif\" width=\"468\" height=\"60\"></td>
</tr>
<tr>
<td>
<table height=\"100%\" width=\"100%\" class=\"pad\"><tr><td class=\"tekst\">
Hej $brugernavn,<br><br>\n
".nl2br($besked_HTML)."
\n<br><br>Venlig hilsen <a href=\"
http://www.hotml.dk\">HoTML.dk</a> </p>
</td></tr></table>
</td>
</tr>
</table>
</center>
</body>
</html>";
if(mailme( "HoTML.dk | Det hotteste HTML!", "info@hotml.dk", "$brugernavn", "$email", "$emne", $besked)) {
return true;
}else{
return false;
}
}
//funktioner.php end
?>
<?php
include("funktioner.php");
db_connect();
select_db("hotml");
$result1 = mysql_query("select ID, Titel, Beskrivelse from nyheder WHERE Mail_sendt != 'T'") or die(mysql_error());
while ($nyhed = mysql_fetch_array($result1))
{
$besked = "Der er blevet tilføjet en ny kode, som muligvis har din interresse. <br><br><b>" . $nyhed['Titel'] . "</b><br>" . $nyhed['Beskrivelse'];
$result2 = mysql_query("select Brugernavn, Email from brugere WHERE Bruger_aktiveret = 'T'") or die(mysql_error());
while ($bruger = mysql_fetch_array($result2))
{
if (Hot_mail($bruger['Brugernavn'], $bruger['Email'], "HoTML.dk - Ny kode - " . $nyhed['Titel'] . "!", $besked))
{
$sendt[] = "a";
}
else
{
$ikke_sendt[] = "b";
}
}
$antal_sendt = (isset($sendt)) ? count($sendt) : $antal_sendt = 0;
$antal_ikkesendt = (isset($ikke_sendt)) ? count($ikke_sendt) : 0;
mysql_query("update nyheder set Mail_sendt='T', Antal_modtaget='" . $antal_sendt . "', Antal_umodtaget='" . $antal_ikkesendt . "' where ID=" . $nyhed['ID']) or die(mysql_error());
echo $nyhed['Titel'] . "Modtaget: $antal_sendt, Umodtaget: $antal_ikkesendt, Nyhed ID:" . $nyhed['ID'] . "<br>";
}
$tid = time() - (86400);
$result3 = mysql_query("select ID, Brugernavn, Oprettet_Dato from brugere WHERE Bruger_aktiveret != 'T' and Sidst_login < '$tid'") or die(mysql_error());
while ($bruger = mysql_fetch_array($result3))
{
echo $bruger['Brugernavn'].", ID:".$bruger['ID'].", Oprettet:".$bruger['Oprettet_Dato']."<br>";
mysql_query("DELETE from brugere where ID = ".$bruger['ID']."") or die(mysql_error());
}
//Efter 60 dage inaktiv
$tid = time() - (5184000);
$result4 = mysql_query("select * from brugere WHERE Bruger_aktiveret = 'T' and Sidst_login < '$tid' and Advarsel = '0'") or die(mysql_error());
while ($bruger = mysql_fetch_array($result4))
{
$besked ="Du har nu været inaktiv i 2 måneder og derfor modtager du denne mail, som en på mindelse om at når din bruger har været inaktiv i 3 måneder vil den, samt alle det gejl du har på den, blive slettet. Når din bruger først er slettet er der ingen data der kan genvindes da vi ikke tager back-up af vores bruger database.<br><br>Dette er den eneste advarsel du får, da den næste mail vil være en bekræftelse af at din bruger er blevet slettet. Hvis du logger ind vil advarslen dog blive nulstillet og du vil modtage endnu en påmindelse næstegang du har været inaktiv i to måneder.<br><br>
<b>Bruger information</b><br>Brugernavn:". $bruger['Brugernavn']."<br>Kodeord:".$bruger['Kodeord']."1. Advarsel<br>";
if (Hot_mail($bruger['Brugernavn'], $bruger['Email'], "HoTML.dk - Inaktivitet!", $besked))
{
mysql_query("update brugere set Advarsel='1' where ID=" . $bruger['ID']) or die(mysql_error());
echo $bruger['Brugernavn'].", ID:".$bruger['ID'].", Oprettet:".$bruger['Oprettet_Dato']."<br>";
}
}
//Efter 87 dage inaktiv
$tid = time() - (7516800);
$result5 = mysql_query("select * from brugere WHERE Bruger_aktiveret = 'T' and Sidst_login < '$tid' and Advarsel = '1'") or die(mysql_error());
while ($bruger = mysql_fetch_array($result5))
{
$besked = "Om 3 dage har din bruger været inaktiv i 3 måneder og det betyder at den vil blive slettet fra HoTML.dk, sammen med alt hvad du har oprettet af gejl på siden. Så skynd dig at logge ind på siden, så du undgår fuldkommen slettelse.Dette er den eneste advarsel du får, da den næste mail vil være en bekræftelse af at din bruger er blevet slettet. Hvis du logger ind vil advarslen dog blive nulstillet og du vil modtage endnu en påmindelse næstegang du har været inaktiv i to måneder.<br><br>
<b>Bruger information</b><br>Brugernavn:". $bruger['Brugernavn']."<br>Kodeord:".$bruger['Kodeord']." 2. Advarsel<br>";
if (Hot_mail($bruger['Brugernavn'], $bruger['Email'], "HoTML.dk - 3 dage til sletning!", $besked))
{
mysql_query("update brugere set Advarsel='2' where ID=" . $bruger['ID']) or die(mysql_error());
echo $bruger['Brugernavn'].", ID:".$bruger['ID'].", Oprettet:".$bruger['Oprettet_Dato']."<br>";
}
}
//Efter 90 dage inaktiv
$tid = time() - (7776000);
$result7 = mysql_query("select * from brugere WHERE Bruger_aktiveret = 'T' and Sidst_login < '$tid' and Advarsel = '2'") or die(mysql_error());
while ($bruger = mysql_fetch_array($result7))
{
$besked = "Din bruger er nu blevet slettet sammen med alt hvad du har oprettet på HoTML.dk, da du nu har været inaktiv i mere end 3 måneder.";
if (Hot_mail($bruger['Brugernavn'], $bruger['Email'], "HoTML.dk - Bruger slettet!", $besked))
{
echo $bruger['Brugernavn'].", ID:".$bruger['ID'].", Oprettet:".$bruger['Oprettet_Dato']." DEL<br>";
mysql_query("DELETE from brugere where ID=" . $bruger['ID']) or die(mysql_error());
}
}
?>