Op mijn server heb ik een pagina staan die ik cronjob.php heb genoemd. Met daarop alleen het volgende:
<?php
include('diversen.inc.php');
$sql="UPDATE winkel_linken SET kliks = 0";
$query=mysql_query($sql);
?>

Nu moet ik bij Admin een pad opgeven waar die pagina staat. (cronjob.php)

Er staat al: /home/USER/

daarachter heb ik dus het hele pad opgegeven waar de pagina staat: /home/USER/domains/www.winkeltop10.nl/public_html/cronjob.php

Als tip had ik al gekregen om aan het begin php te zetten maar de kliks op mijn pagina worden niet op nul gezet.

Ik heb om te testen alle velden steeds voor vandaag ingevuld.

Voorbeeld van hoe het eruit ziet:


met een $_GET waarde oproepen?

<?php

if(!empty($_GET['cronjob']) && $_GET['cronjob'] == 'elsy') {

// SQL uitvoeren

}

?>

en bij tussen de '' waar nu dus elsy staat zet je later zelf iets neer wat andere niet weten dus word de link nu:

cronjob.php?cronjob=elsy

Dat zou al kunnen helpen:)

GR. mebus
Wat werkt het niet cronjob.php en die cronjob?

edit: mischien ligt het aan je query doe er eens een error afhandeling op;)
Ik ben nieuw met cronjobs dus ik weet niet wat ik bij Admin op die regel moet invullen.

Er staat standaard: /home/MIJN GEBRUIKERSNAAM/

Op een lege pagina die ik cronjob.php heb genoemd staat het volgende script:
<?php
include('diversen.inc.php');
$sql="UPDATE winkel_linken SET kliks = 0";
$query=mysql_query($sql);
?>

Ik heb op de regel ingevuld wat Boris mij doorgaf en bij de datum:
minuten:die nog moet komen
uur:14
dag:4
maand:10

Maar de kliks worden niet op nul gezet.

Moet er op de pagina niet nog extra verbinding gemaakt worden met de database?
Dus zo:
<?php
include('diversen.inc.php');
//maak verbinding met de database
$connection = mysql_connect ($hostname,$user,$password) or die ( "Sorry maar ik kan geen contact maken met de database, probeer het later opnieuw of ververs uw browser.");
$db = mysql_select_db ($database, $connection) or die ("Sorry, maar ik kan de database niet openen.");
$sql="UPDATE winkel_linken SET kliks = 0";
$query=mysql_query($sql);
?>
als in diversen.ing.php

een mysql verbinding staat hoeft dat uiterraard niet in cronjob.php

doen een zo:

<?php
include('diversen.inc.php');
$sql="UPDATE winkel_linken SET kliks = 0";
$query=mysql_query($sql) or trigger_error(mysql_error());
?>

Krijg je dan een error te zien als je na cronjob.php gaat?

Ikzelf heb trouwens nog nooit met cronjobs gewerkt zo daar kan ik je niet meehelpen

GR. mebus
elsy:

probeer eens de "link" die ik je gaf in te vullen en bij minuten dit invullen: */2

en bij de rest gewoon *


Nu zou het script elke 2de minuut uitgevoerd moeten worden. Probeer dat eens, want ik zou het raar vinden als het niet werkte, want dat doe het bij mij wel.


misschien moet je dus even testen of het script uberhaupt wel werkt. zet dus even error_reporting(); op E_ALL en laad het script.

of voer de sql uit in phpmyadmin
Dit is de foutmelding die ik krijg en die komt me bekend voor.


Warning: mysql_query() [function.mysql-query]: Access denied for user 'root'@'localhost' (using password: NO) in /usr/home/familiev/domains/winkeltop10.nl/public_html/cronjob.php on line 4

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /usr/home/familiev/domains/winkeltop10.nl/public_html/cronjob.php on line 4

Notice: Access denied for user 'root'@'localhost' (using password: NO) in /usr/home/familiev/domains/winkeltop10.nl/public_html/cronjob.php on line 4


Toen heb ik er toch de verbinding in gezet voor de database en toen werkte dat andere script wel.
Ik zal het hier ook eens proberen.
Oké na zie je maar elsy altijd een error afhandeling gebruiken hoe goed je ook er mee bent toch altijd gebruiken;)

GR. mebus
minuten:2 --> hier moet het aantal minuten dat het script herhaald moet worden (2 -> om de 2 minuten)

uur:14--> hier moet het aantal uren dat het script herhaald moet worden (14 -> om de 14 uren)

dag:4--> hier moet het aantal dagen dat het script herhaald moet worden (4 -> om de 4 dagen)

maand:10--> hier moet het aantal maanden dat het script herhaald moet worden (10 -> om de 10 maanden)

[edit]
Als je meerdere vakjes invult, dan wordt het script bijv elke 2 maand, 3 dagen, 4 uur en 45 minuten herhaald
[/edit]
@Robert

Oh, wat erg is dit als je er echt geen verstand van hebt.
Ik heb hem nu even op */1 gezet zodat hij alles iedere minuut op nul zet.

Dit is het script, dus met de database aanroepen anders krijg ik een foutmelding:

<?php
include('diversen.inc.php');
//maak verbinding met de database
$connection = mysql_connect ($hostname,$user,$password) or die ( "Sorry maar ik kan geen contact maken met de database, probeer het later opnieuw of ververs uw browser.");
$db = mysql_select_db ($database, $connection) or die ("Sorry, maar ik kan de database niet openen.");
$sql="UPDATE winkel_linken SET kliks = 0";
$query=mysql_query($sql) or trigger_error(mysql_error());
?>

En dit is de regel die ik in mijn admin heb ingevuld:

/usr/local/bin/php -q /home/GEBRUIKER/domains/winkeltop10.nl/public_html/cronjob.php

En heren......het werkt !!

Vreselijk bedankt allemaal voor het meedenken.

En tot ziens maar weer
Tot over een maandje weer als je weer met een big question komt:P;)

Maar we helpen je altijd graag als het kan!

GR. mebus

Reageren