Toon posts:

[PHP/Mysql] cronjob: verlengingsmail

Pagina: 1
Acties:
  • 43 views sinds 30-01-2008

Verwijderd

Topicstarter
Hey,

Ik ben bezig met een systeem voor een site om "Zoekertjes" te publiceren. Nu heb ik al bijna het hele systeem gemaakt (afmeldlink, activatiemail, ...), maar wil ik ook nog een cronjob maken met de volgende functie:

Een verleningsmail die elke dag dmv. een cronjob gestart wordt. De bedoeling ervan is dat het script kijkt welke zoekertjes ouder zijn dan 45 dagen, en hij die mensen een mail stuurt met de "hash_waarde" die al opgeslagen zit. (Met die hash-waarde kunnen mensen hun zoekertje weer laten verlengen.)

De "Hash-waarde" wordt bij het toevoegen van een zoekertje, random gegenereerd, en toegevoegd in een kolom in mijn mysql db. De datum wordt ook opgeslagen bij het toevoegen van een zoekertje.

Voorbeeld:
Afbeeldingslocatie: http://www.novawarez.org/sql.JPG

Dit is mijn script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
// Fouten weergeven
// error_reporting(E_ALL);

// Verbinden met de database
# Dit script zal elke dag 1x als cronjob gestart worden
# Het zal een mail met naar mensen met hun random_hash er in verzenden
# Als de datum op 45 dagen geleden staat

$database = "********";
$sqlhost = "localhost";
$sqluser = "*********";
$sqlpass = "*******";

mysql_connect($sqlhost,sqluser,sqlpass) OR DIE("Error.");
mysql_select_db($db) OR DIE("Error.");

$now = time();
$fortyfive_days_ago = $now - 3888000 - 43200;

$target_date = date('Y-m-d' . $fortyfive_days_ago);

// Email halen uit database
$mailget = "SELECT email
               FROM nieuwsbrief
               WHERE datum >= '$target_date 00:00:00'
               AND datum <= '$target_date 23:59:59'
               ";
               
$lid_mail = mysql_query($mailget,$db);

if (mysql_num_rows($lid_mail) > 0) {
while ($email_arr = mysql_fetch_array($lid_mail)) {
$to = $email_arr[0];

// Opgeslagen hash halen uit database.
$hashget = "SELECT random_hash
               FROM nieuwsbrief
               WHERE email = '$to'
               ";
               
$hash_var = mysql_query($hashget,$db);

while ($hash_arr = mysql_fetch_array($hash_var)) {
$hashwaarde = $hash_arr[0];

// Bericht mailen naar lid met zijn hashwaarde er in
$from = "ultrahackx@gmail.com";
$subject = "Jouw hash waarde";
$msg = "Jouw hash waarde: $hashwaarde";
$mailsend = mail($to, $subject, $msg, "From: $from");
?>


Nu geeft het bovenstaande script van hierboven helaas een error, waarvan ik de fout niet kan vinden.
Parse error: parse error, unexpected $ in /home/nova00/domains/novawarez.org/public_html/zoekertjes/hashmail.php on line 52

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Kijk naar de regel erboven, je bent waarschijnlijk een ; vergeten.

Verder zijn parse errors altijd oplossen door even goed te debuggen, en dat is iets dat elke programmeur zelf moet doen (zie ook P&W FAQ - Leer **** debuggen!!). We staan dan ook niet toe dat er topics worden geopend waarin wij slechts als automatische debugservice dienen. Op slot dus. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.