login  Naam:   Wachtwoord: 
Registreer je!
 Forum

problemen met functie

Offline flance - 26/09/2004 15:32 (laatste wijziging 26/09/2004 15:59)
Avatar van flanceHTML interesse Ik heb een probleem met mijn error functie. Dit script draait voor een cron job. Het script werkt opzich goed. Wat is mijn probleem:
wanneer er zich een MySQL error voordoet, werkt de functie niet goed. Er wordt NIET gemailt en ik krijg alle mysql_errors op mijn scherm te zien.

Ik krijg wel de volgende melding: Er is een mailtje naar de beheerders gegaan met alle technische gegevens. Deze cronjob kon niet voltooid worden.

Waar ligt mijn fout?
  1. <?php
  2.  
  3. include ("../config.php");
  4. /*
  5. mysql_connect($host, $user, $pass);
  6. mysql_select_db($db);
  7. */
  8. function error($error)
  9. {
  10. $bestand = "timestamp.dat";
  11. $file = fopen($bestand, "r");
  12. $time = fread($file, filesize($bestand));
  13.  
  14. fclose($file);
  15. unset($bestand);
  16.  
  17. $nu = time();
  18. $nu = $nu-3600;
  19. if ($nu >= $time)
  20. {
  21. $bericht = "Op de olympic town kon de cron job niet voltooid worden. Het gaat om de cronjob die overbodige pm\'s cleant uit de db. Dit bestand staat hier: http://ot.site-to-make.nl/user/pm_cronjob.php. De error die veroorzaakt werd is: ".$error;
  22. mail ("***@tiscali.nl", "Cron job OT failed", $bericht, "from: Technical Report OT <tech@site-to-make.nl>");
  23. mail ("***@zonnet.nl", "Cron job OT failed", $bericht, "from: Technical Report OT <tech@site-to-make.nl>");
  24. echo "Er is een mailtje naar de beheerders gegaan met alle technische gegevens. Deze cronjob kon niet voltooid worden.";
  25.  
  26. $timestamp = time();
  27. $bestand = "timestamp.dat";
  28. $file = fopen($bestand, "W");
  29. fwrite($file, $timestamp);
  30. fclose($file);
  31. }
  32. else
  33. {
  34. echo "Wegens technische problemen is de cronjob tijdelijk niet mogelijk.";
  35. }
  36.  
  37. }
  38.  
  39. echo ("U bent niet gewenst op deze pagina, bij herhaaldelijk bezoek wordt er automatisch een mail naar de admins gestuurd.");
  40. $sql = "DELETE FROM ot_pm WHERE delsender = '1' AND delreceiver = '1'";
  41. mysql_query ($sql) or error(mysql_error());
  42. ?>

5 antwoorden

Gesponsorde links
Offline SickBoy - 26/09/2004 15:43 (laatste wijziging 26/09/2004 15:44)
Avatar van SickBoy MySQL beginner mail( " ...
Offline Ros - 26/09/2004 15:47
Avatar van Ros HTML interesse Gebruik een editor met colorcoding, dan zie je meteen waar de fout zit
Offline BigTeddy - 26/09/2004 15:51 (laatste wijziging 26/09/2004 15:53)
Avatar van BigTeddy Gouden medaille

PHP gevorderde
mss een beetje meer uitleg geven SickBoy ;)

Wel je hebt een doubel-qoute fout gemaakt.

Dit staat er=>
  1. mail ("***@tiscali.nl", "Cron job OT failed", $bericht, "from: Technical Report OT <tech@site-to-make.nl>");
  2. mail (***@zonnet.nl", "Cron job OT failed", $bericht, "from: Technical Report OT <tech@site-to-make.nl>");


En het moet dit worden
  1. mail ("***@tiscali.nl", "Cron job OT failed", $bericht, "from: Technical Report OT <tech@site-to-make.nl>");
  2. mail ("***@zonnet.nl", "Cron job OT failed", $bericht, "from: Technical Report OT <tech@site-to-make.nl>");


Wat dacht je mss ook om een Content-Type mee te geven.
Zo iets dus

  1. $header = "From: Technical Report OT <tech@site-to-make.nl>\r\n";
  2. $header .= "Reply-To: tech@site-to-make.nl\r\n";
  3. $header .= "Content-Type: text/html; charset=iso-8859-1\r\n";
  4.  
  5. mail("***@tiscali.nl", "Cron job OT failed", $bericht, $header);
  6. mail("***@zonnet.nl", "Cron job OT failed", $bericht, $header);


Kiujk ook eens na of $nu >= $time true opleverd 
Offline Thomas - 26/09/2004 15:51
Avatar van Thomas Moderator Ik denk dat ie gewoon een dubbele quote teveel heeft weggehaald toen ie in mail-adres namen door * verving.

Misschien ligt het aan de from-header ?
Deze moet van de vorm From: "{afzender_naam}" <{afzender_adres}> zijn (dus quotes om de naam van de zender).

Werkt het versturen van mail wel ?
Levert if($nu >= $time) { wel true op ? anders word er nooit iets verstuurd.
Offline flance - 26/09/2004 15:53 (laatste wijziging 26/09/2004 16:01)
Avatar van flance HTML interesse ok, bedankt, zo ver was ik nog niet, ik wil het eerst werkend hebben  ik ga het even uitproberen.

edit: dit had ik al  sorry, ik had te veel gecensuurt, een voorbeeld staat hier:

http://ot.site-to-make.nl/user/pm_cronjob.php

die onderste errors van die fwrite enzo, waar liggen die aan? dat is het stukje wat onder de mail staat. Wanneer ik deze markeer als commentaar zijn de errors weg..
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.234s