• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

Semi cron job

  • SimoneOnline
  • 16 augustus 2013 om 18:12
  • SimoneOnline
    Student
    Ontvangen Reacties
    1
    Berichten
    57
    • 16 augustus 2013 om 18:12
    • #1

    Ik heb een semi cron job. Deze moet verschillende php bestanden laden uit de cron folder. Dit zou moeten op deze wijze:

    Code
    //Run the cronjobs for the scripts	//Load correct cron name	$cron2				= mysql_query("SELECT * FROM `cron`");	$crondata				= mysql_fetch_object($cron2); {	 	$RunLog = 'includes/crons/'.$crondata->name.'.log'; //make sure you have this file downloaded too			if (file_exists($RunLog)) {     $lastRun = file_get_contents($RunLog); 
        if (time() - $lastRun >= $crondata->seconds) { //This will check last time file ran.			//Select all cronjobs from the database    $select = mysql_query("SELECT name FROM `cron` ORDER BY  (`name`) DESC LIMIT 0,999");	while($list = mysql_fetch_assoc($select))    {
    	$cron= file_get_contents('http://'.$_SERVER['SERVER_NAME'].'/includes/crons/'.$list[name].'.php?password='.$cron_password.'');  // here you put the link for your file or the php code     file_put_contents($RunLog, time()); 		}				    } 	} }

    Een voorbeeld van een php script is:

    Code
    include("../../includes/settings.php");
    mysql_connect(database_server, database_user, database_pass) or die(mysql_error());mysql_select_db(database_name) or die(mysql_error());
    if($_GET['password']!="$cron_password"){die("");}else{	
    //Enter updates to run with the cronjob
    //Check if user is killed and put all possesions to the auction	$doden1 = mysql_query("SELECT * FROM `users` WHERE `vermoord`>'0'");	$numdood = mysql_num_rows($doden1);	$y = (date("Y"));	$m = (date("m"));	$d = (date("d"));	$nextd = $d+1;	if($nextd < 10){$nextd = "0$nextd";}	$changeveilingshow = "$nextd-$m-$y / 00:00";	$changeveiling = "$y-$m-$nextd 00:00:00";	if($numdood > 0){	while($doden = mysql_fetch_object($doden1)){	while($doden = mysql_fetch_object($doden1)){	mysql_query("UPDATE `ziekenhuis` SET `showtot`='" . $changeveilingshow . "', `tot`='" . $changeveiling . "', `eigenaar`='', `laatstebod`='0', `laatstebieder`='' WHERE `eigenaar`='" . $doden->login . "'");	mysql_query("UPDATE `users` SET `bezittingen`='0' where `login` = '$doden->login'");		}	}	//Auction	$ziekenhuis1 = mysql_query("SELECT * FROM `ziekenhuis` WHERE `eigenaar`=''");	while($ziekenhuis = mysql_fetch_object($ziekenhuis1)){	$fakedatum = (date("YmdHis"));	$overheen = $ziekenhuis->tot;	$overheen = str_replace(":", "",$overheen);	$overheen = str_replace("-", "",$overheen);	$overheen = str_replace(" ", "",$overheen);		if($fakedatum > $overheen){	if($ziekenhuis->laatstebieder != ""){	mysql_query("UPDATE `ziekenhuis` SET `showtot`='00-00-0000 / 00:00', `tot`='0000-00-00 00:00:00', `eigenaar`='" . $ziekenhuis->laatstebieder . "' WHERE `stad`='" . $ziekenhuis->stad . "'");	}else{mysql_query("UPDATE `ziekenhuis` SET `showtot`='" . $changeveilingshow . "', `tot`='" . $changeveiling . "' WHERE `stad`='" . $ziekenhuis->stad . "'");}}}		}}

    Nou is het probleem dat mijn cron scripts niet worden geladen en het lukt me maar niet te vinden waardoor dit komt. Het password wordt goed geladen en de naam van het cron bestand staat goed in de database (cron script wordt geladen in de index.php). Iemand enig idee hoe ik dit kan oplossen? Of een alternative manier om mijn cron scripts te laden zonder cronjobs op mn server in te stellen?

  • wimmpie
    âllo âllo
    Ontvangen Reacties
    11
    Berichten
    1.170
    • 16 augustus 2013 om 21:03
    • #2

    gewoon includen... geen file_get_contents?

  • SimoneOnline
    Student
    Ontvangen Reacties
    1
    Berichten
    57
    • 16 augustus 2013 om 21:07
    • #3

    Ik wil het script automatisch geinclude hebben op het moment dat ik mijn script upload. Hierdoor wil ik file_get_contents dus wel gebruiken. Voor includen moet er in de code weer een regel worden toegevoegd en dat wil ik voorkomen. Iemand enig idee?

  • cakemasher
    Developer
    Ontvangen Reacties
    2
    Berichten
    225
    • 16 augustus 2013 om 21:34
    • #4

    Probeer dit eens?

    PHP
    <?php
    
    
    	//Run the cronjobs for the scripts
    	//Load correct cron name
    	$cron2				= mysql_query ("SELECT * FROM `cron`") or die (mysql_error ());
    	$crondata			= mysql_fetch_object ($cron2);	
    	$RunLog				= 'includes/crons/' . $crondata->name . '.log';
    	
    	//make sure you have this file downloaded too
    	if (file_exists ($RunLog))
    	{
    		$lastRun = file_get_contents ($RunLog); 
    		
    			if (time () - $lastRun >= $crondata->seconds)
    			{
    				//This will check last time file ran.
    				//Select all cronjobs from the database
    				$select = mysql_query ("SELECT name FROM `cron` ORDER BY `name` DESC LIMIT 0,999") or die (mysql_error ());
    				
    					while ($list = mysql_fetch_assoc ($select))
    					{
    						$cron = file_get_contents ('http://' . $_SERVER['SERVER_NAME'] . '/includes/crons/' . $list['name'] . '.php?password=' . $cron_password);
    						
    						// here you put the link for your file or the php code
    						file_put_contents ($RunLog, time ());
    					}
    			}
    	}
    
    
    ?>
    Toon Meer

    Hint: probeer netjes te programmeren en werk met fout afhandeling.
    Nog een hint: Cron jobs moet je niet willen kunnen openen via de browser. Als iemand je cronjob wachtwoord weet dan ben je screwed ^^. Je kan beter, zoals wimmpie al aangaf, include gebruiken.

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 16 augustus 2013 om 23:01
    • #5

    Nog een aantal "Hints" ;) :

    - Bestanden die de "normale" gebruiker niet hoort te bereiken (Zoals cronjobs) horen niet in de public_html.
    - Gebruik nou eens Foutafhandeling. Heb daar een blog over geschreven. (Zie mijn account)
    - Gebruik MySQLi of PDO.. MySQL gaat er zo uit en dan kan jij ál je scripts gaan zitten aanpassen.
    - Gebruik geen backticks (`) in queries
    - Je kan volgens mij beter include gebruiken. Is dat niet gewoon makkelijker? Ik snap jouw redenering niet helemaal.

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • EternalFlamez
    ICT scripter
    Berichten
    31
    • 17 augustus 2013 om 00:50
    • #6

    Over de meeste punten ben ik het eens, maar hoezo geen backticks in queries?

    Onderschriften zijn stom.

  • SimoneOnline
    Student
    Ontvangen Reacties
    1
    Berichten
    57
    • 17 augustus 2013 om 09:19
    • #7

    Allemaal bedankt voor de antwoorden.

    Stel dat ik wel een include ga gebruiken. Hoe zou ik dan mijn verschillende cron bestanden het makkelijkste kunnen includen zodat deze ook op de juiste tijd runnen?

    Ik wil al mijn crime scripts apart als modules uploaden en per script dus ook de crons scheiden. Ik heb nu ongeveer 20 verschillende cron bestanden wat is hiervoor het handigste om te doen?

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 17 augustus 2013 om 10:10
    • #8
    Citaat van EternalFlamez

    Over de meeste punten ben ik het eens, maar hoezo geen backticks in queries?

    Ik heb het al vaker gezegd:

    Citaat


    Backticks( `) zijn af te raden ;) Backticks zijn bedoelt om woorden te kunnen gebruiken die eigenlijk gereserveerd zijn. (Dat zijn dus woorden als "order" en "count") Als jij allemaal van dat soort in je database gaat gebruiken raak je snel het overzicht kwijt en zeker als je een grote database hebt. Daarnaast worden backticks niet altijd ondersteunt en is het dus mogelijk dat je een keer al je backticks moet verwijderen en wellicht je hele database aan moet passen. Dus beter in één keer goed doen en geen gereserveerde woorden of backicks gebruiken! :)

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • DirkZz
    Intermediate
    Ontvangen Reacties
    29
    Berichten
    213
    • 17 augustus 2013 om 11:52
    • #9

    :D En het is onnodig meer typen.

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 17 augustus 2013 om 12:32
    • #10

    @Simone

    Je hebt de crons nu opgeslagen in de database toch? Je kan dan een veld toevoegen van laatst uitgevoerd (Datum). Dan kan je in je pagina controleren of het script op die datum al is uitgevoerd en zoniet, kijken of het al tijd is (of is geweest). In de database update je dan het laatst uitgevoerd.

    Maar waarom eigenlijk geen cronjobs gebruiken? Want als een gebruiker 25 bestanden moet gaan uitvoeren, (Wat sowieso onwenselijk is..) is dat erg zwaar.

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • M.Beers
    Elite members
    Ontvangen Reacties
    31
    Berichten
    460
    • 17 augustus 2013 om 13:48
    • #11

    Victor Niet veel hosts ondersteunen cronjobs ivm veiligheid ofzo, dus dat zal wel de reden zijn...

    Verder worden m.b.t. discussie backticks wel of niet... Backticks alleen ondersteund door MySQL en MySQLI, anders moet je gewoon een single quote gebruiken :)
    Niet ik het veel gebruik omdat ik mn queries veilig opbouw met een querybuilder...

    Dit was mijn spreekbeurt, zijn er nog vragen?

  • SimoneOnline
    Student
    Ontvangen Reacties
    1
    Berichten
    57
    • 17 augustus 2013 om 15:41
    • #12

    Op mn hosting mag ik inderdaad niet zoveel crons uitvoeren, en om alle cron scripts per game script te kunnen scheiden wil ik deze los opgeroepen hebben.

    Zou ipv een check in de datase een include in het index php script een oplossing zijn dan? En hoe kan ik hierbij controleren op bv. iedere 5, 15, 60, 3600 minuten vanuit de database?

  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 17 augustus 2013 om 15:47
    • #13
    Citaat van SimoneOnline

    Op mn hosting mag ik inderdaad niet zoveel crons uitvoeren, en om alle cron scripts per game script te kunnen scheiden wil ik deze los opgeroepen hebben.

    Zou ipv een check in de datase een include in het index php script een oplossing zijn dan? En hoe kan ik hierbij controleren op bv. iedere 5, 15, 60, 3600 minuten vanuit de database?


    Hallo,

    Daar zijn dus cronjobs voor. Als je hosting dit niet bied moet je elders naartoe.
    Of je moet een andere partij vinden die een script van jou aanroept van buitenaf. Wat vaak ook geld kost, dus kan je beter naar een andere hosting gaan.

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • SimoneOnline
    Student
    Ontvangen Reacties
    1
    Berichten
    57
    • 17 augustus 2013 om 15:52
    • #14

    Ok, maar nu heb ik mn hosting al weer voor een jaar vooruit betaald dus ik zal hier toch even moeten blijven. Hoe kan ik dan mijn cronjobs faken in php zelf? Heb namelijk gezien dat sommige crime games ook een db table crons hebben met hierin dag, uur, week, etc. Op een dergelijke wijze zou het toch ook moeten kunnen? Zou iemand mij hier een voorbeeld oid voor kunnen geven?

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 17 augustus 2013 om 20:41
    • #15
    Citaat

    Je hebt de crons nu opgeslagen in de database toch? Je kan dan een veld toevoegen van laatst uitgevoerd (Datum). Dan kan je in je pagina controleren of het script op die datum al is uitgevoerd en zoniet, kijken of het al tijd is (of is geweest). In de database update je dan het laatst uitgevoerd.

    Maar zoals ik al zei is dit erg onwenselijk. Je geeft onnodig veel laadwerk aan de user.

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • M.Martens
    Professional
    Ontvangen Reacties
    41
    Berichten
    987
    • 17 augustus 2013 om 22:00
    • #16

    Zoals Victor al zegt krijg je dan veel laadwerk en veel te veel onnodige last op je spel/site.
    Ook ik raad dit af en raad je het via een tijd script te laten include en dan zo laten afspelen.

    Of via een aparte pagina.

    Met Vriendelijke Groet.


    Maikel

  • Aaron
    Administrator
    Ontvangen Reacties
    60
    Berichten
    1.020
    • 19 augustus 2013 om 00:39
    • #17

    Je kan http://www.setcronjobs.com gebruiken,
    Voor een gratis account moet je die wel iedere maand vernieuwen met een code.
    Ik gebruikte dit vroeger ook omdat ik ook geen cronjob had.

    Mvg, Aaron

    Bewerkt één keer, laatst door Aaron (19 augustus 2013 om 23:12).

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design