abonnement Unibet Coolblue Bitvavo
  dinsdag 29 november 2005 @ 17:45:02 #91
32768 DionysuZ
Respect my authority!
pi_32675964
quote:
Op dinsdag 29 november 2005 17:39 schreef JeRa het volgende:

[..]

Timestamps gebruiken slaat nergens op, was foutje beter kan de vraagsteller gebruik maken van de dag in het jaar en de sterrenbeelden als ranges van dagen in het jaar opslaan
Ik denk niet dat het zo simpel is . De dag waarop een sterrenbeeld begint verschilt nogal. Bijv. in een schrikkeljaar begint kreeft op 21 juni. Alsook het jaar erop en het jaar erop, maar het 3e jaar na het schrikkeljaar begint kreeft op 22 juni. Vissen begint op 19 februari, behalve 1 jaar na het schrikkeljaar, dan op 18 februari.. etc.
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_32676039
quote:
Op dinsdag 29 november 2005 17:45 schreef DionysuZ het volgende:

[..]

Ik denk niet dat het zo simpel is . De dag waarop een sterrenbeeld begint verschilt nogal. Bijv. in een schrikkeljaar begint kreeft op 21 juni. Alsook het jaar erop en het jaar erop, maar het 3e jaar na het schrikkeljaar begint kreeft op 22 juni. Vissen begint op 19 februari, behalve 1 jaar na het schrikkeljaar, dan op 18 februari.. etc.
Als het puur met schrikkeljaren te maken heeft, dan maak je toch 4 rangesets (eentje voor elk jaar, inclusief het schrikkeljaar) waarbij je de ranges afhankelijk van de 'wetten' van sterrenbeelden aanpast?
  dinsdag 29 november 2005 @ 17:48:49 #93
32768 DionysuZ
Respect my authority!
pi_32676071
quote:
Op dinsdag 29 november 2005 17:47 schreef JeRa het volgende:

[..]

Als het puur met schrikkeljaren te maken heeft, dan maak je toch 4 rangesets (eentje voor elk jaar, inclusief het schrikkeljaar) waarbij je de ranges afhankelijk van de 'wetten' van sterrenbeelden aanpast?
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_32676324
quote:
Op dinsdag 29 november 2005 17:47 schreef JeRa het volgende:

[..]

Als het puur met schrikkeljaren te maken heeft, dan maak je toch 4 rangesets (eentje voor elk jaar, inclusief het schrikkeljaar) waarbij je de ranges afhankelijk van de 'wetten' van sterrenbeelden aanpast?
Maar niet elke 4 jaar is een schrikkeljaar (geloof als het deelbaar is door 4, behalve bij hele eeuwen? dus 2000 had niet een)

Of zal daar al een PHP functie voor bestaan?
  dinsdag 29 november 2005 @ 18:01:33 #95
32768 DionysuZ
Respect my authority!
pi_32676371
quote:
Op dinsdag 29 november 2005 17:59 schreef the_disheaver het volgende:

[..]

Maar niet elke 4 jaar is een schrikkeljaar (geloof als het deelbaar is door 4, behalve bij hele eeuwen? dus 2000 had niet een)

Of zal daar al een PHP functie voor bestaan?
En 2000 was juist weer de uitzondering . Om de 4 jaar is een schrikkeljaar. Behalve als het een eeuwwisseling betreft. Als de wisseling weer deelbaar is door 400 weer wel. En dat was 2000
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
  dinsdag 29 november 2005 @ 18:02:53 #96
32768 DionysuZ
Respect my authority!
pi_32676403
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
  † In Memoriam † dinsdag 29 november 2005 @ 18:26:06 #97
67005 pc-fr34k
"Internet=Telepathie"
pi_32676994
quote:
Er is ook voor alles al een functie. ! . Weer een nieuwe functie geleerd, erg handig. .
Wij zijn artificial intelligence. Overclock jezelf maar hou jezelf wel goed koel.
Ik ben gematigd verslaafd aan drugs-ik kan stoppen voor een periode of altijd-maar altijd is zo lang-leef in zonde met mate(n)
http://pc-fr34k.hyves.nl/blog/
  dinsdag 29 november 2005 @ 18:30:19 #98
37634 wobbel
Da WoBBeL King
pi_32677098
Die wist ik wel

Maar nu moet ik dus gvd ook nog zelf een functie schrijven voor sterrenbeelden
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 18:45:52 #99
1972 Swetsenegger
Egocentrische Narcist
pi_32677510
quote:
Op dinsdag 29 november 2005 17:42 schreef JeRa het volgende:

[..]

Waar zie je dat? Hopelijk schrijft hij zelf een oplossing adhv de gegeven oplossingen, ipv de gegeven oplossingen te copy pasten.
Als hij een betere oplossing had geschreven zou je me niet gehoord hebben. Het gaat er nu gewoon om dat ALLE oplossingen genegeerd worden:
quote:
Op dinsdag 29 november 2005 14:21 schreef Desdinova het volgende:
ik zei toch dat ik t van die array had geleerd? die ga ik de volgende keer wel gebruiken

<knip>

ik gaf al eerder toe dat die array beter is, maar het is voor nu ff overbodige luxe. Volgens mij kan deze code namelijk niet fout gaan, tenzij je zelf in je $get kloot, maar dan is t je eigen schuld.
Stel dan geen vraag denk ik dan .
quote:
Hoef je niet op te zoeken hoor. Feit is dat op elke betere manier die aangedragen is al wordt gecontroleerd op user input. Bovendien is er hier sprake van ofwel een switch ofwel array elementen, dus er kan weinig verkeerds voorkomen. In jouw geval was je bezig met SQL en daar zat gewoon een zware fout in (waar het minstens 2 pagina's duurde voordat het duidelijk werd).
*zucht* je begrijpt het punt niet. Ik gaf toen een eenvoudig voorbeeld, vervolgens werd je pissed dat ik 'for the sake of explanation' user controle eruit had gelaten. Vervolgens ontstond een discussie over het gevaar van SQL injection, maar had niets te maken met het voorbeeld wat ik gaf en jouw 'gedram' nav dat voorbeeld.

Nu ben ik in dit geval WEL volledig. wijs hem op de gevaren van zijn code en dan noem je me opeens triest figuur. Onbegrijpelijk.
quote:
Waar staat dat hij er geen gebruikt? En juist dat soort mensen moet je verder helpen, mochten ze er zijn, want de mensen die vanuit zich zelf al goed werken hebben vaak geen hulp nodig
Zie bovenstaande quote. Als mensen gewoon niet geholpen willen worden houdt het wat mij betreft op. Thats all. Dat mag je triest noemen, maar daar heb ik geen zin in.

En wat mij betreft is deze discussie gesloten.
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 18:49:09 #100
1972 Swetsenegger
Egocentrische Narcist
pi_32677591
Korte vraag. Onderbreek sleep() het script echt. Met andere woorden, stel ik heb een script welke potentieel gezien enkele minuten kan duren (mail). Mijn hoster heeft de standaard beperking van 30 seconden execution time aanstaan en safe_mode, dus geen mogelijkheid om de execution time te vergroten.

Kan ik nu na 29 seconden even sleep() en heb ik dan weer 29 seconden?
  dinsdag 29 november 2005 @ 18:52:32 #101
32768 DionysuZ
Respect my authority!
pi_32677688
quote:
Note: The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), the sleep() function, database queries, etc. is not included when determining the maximum time that the script has been running.
http://nl2.php.net/sleep
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 19:17:30 #102
1972 Swetsenegger
Egocentrische Narcist
pi_32678325
quote:
Op dinsdag 29 november 2005 18:52 schreef DionysuZ het volgende:

[..]

http://nl2.php.net/sleep
Die note staat er bij mij niet bij op php.net. En ja, ik kijk deze keer op engels
En op set_time_limit staat
quote:
Note: The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), stream operations, database queries, etc. is not included when determining the maximum time that the script has been running.
Ik was namelijk al een keer op zoek geweest en kon het niet vinden op php.net

-edit- Maar zoals ik het lees begint de execution time dus niet opnieuw na een sleep. Sleep wordt alleen niet opgeteld bij de execution time.

[ Bericht 23% gewijzigd door Swetsenegger op 29-11-2005 19:23:16 ]
  dinsdag 29 november 2005 @ 20:27:38 #103
2391 Jimmy
Door het bot
pi_32679599
Je zou het ff snel kunnen testen door een testscript net iets langer dan 30 seconden te laten duren dmv sleep?
Rock 'n Roll Motherfucker - Join the Rock 'n Roll Jihad!
www.last.fm/user/JimmyShelter
Jimmy Shelter
Sleazerock.nl
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 20:40:04 #104
1972 Swetsenegger
Egocentrische Narcist
pi_32679919
quote:
Op dinsdag 29 november 2005 20:27 schreef Jimmy het volgende:
Je zou het ff snel kunnen testen door een testscript net iets langer dan 30 seconden te laten duren dmv sleep?
Ja, beetje lastig, moet ik namelijk een script bouwen welke meer dan 30 seconden duurt
En ik had het al opgelost door een while loop de eerste 15 resultaten uit de database te laten mailen. Vervolgens de waarde waar ik gebleven was op te slaan en de pagina weer aanroepen.

Ik had 1 fout gemaakt. de waarde waar ik gebleven was, sloeg ik op in een cookie. En een cronjob doet verdomd weinig met cookies natuurlijk, dus na de eerste 15e resultaten stopte het script Uiteraard werkte de test wel omdat ik dan zelf het script opende. En m'n browser accepteert wel cookies.

Ok, het script dus ombouwen door de waarde naar een txt file te schrijven, maar nu heb ik een probleem

Stel je voor dat in de txt file het getal 15 staat.
1$offset=intval(readfile('offset.txt'));

$offset is 2 ipv 15
  dinsdag 29 november 2005 @ 20:45:20 #105
2391 Jimmy
Door het bot
pi_32680057
Wat is het als je intval achterwege laat, en het met print_r ptint?

Maakt readfile er geen array van?
Rock 'n Roll Motherfucker - Join the Rock 'n Roll Jihad!
www.last.fm/user/JimmyShelter
Jimmy Shelter
Sleazerock.nl
pi_32680111
quote:
int readfile ( string filename [, bool use_include_path [, resource context]] )
...
Returns the number of bytes read from the file. If an error occurs, FALSE is returned and unless the function was called as @readfile(), an error message is printed.
http://nl2.php.net/readfile

Als je iets wilt debuggen begin je gewoon je functie-aanroepen uit elkaar te werken en de returnwaardes van de eerste aanroep te controleren. Maar hier helpt zelfs de PHP manual al
  dinsdag 29 november 2005 @ 20:50:09 #107
2391 Jimmy
Door het bot
pi_32680160
Lijkt er op dat je of file_get_contents() of file() moet gebruiken in dit geval.
Rock 'n Roll Motherfucker - Join the Rock 'n Roll Jihad!
www.last.fm/user/JimmyShelter
Jimmy Shelter
Sleazerock.nl
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 20:53:42 #108
1972 Swetsenegger
Egocentrische Narcist
pi_32680270
quote:
Op dinsdag 29 november 2005 20:48 schreef JeRa het volgende:

[..]

http://nl2.php.net/readfile

Als je iets wilt debuggen begin je gewoon je functie-aanroepen uit elkaar te werken en de returnwaardes van de eerste aanroep te controleren. Maar hier helpt zelfs de PHP manual al

Compleet overheen gelezen.
Het vreemde is dat file() zegt dat het hetzelfde is als readfile, maar ipv een string een array terug geeft.

Echter geeft file wel degelijk de inhoud terug en niet het aantal bytes. Ik gebruikte readfile uiteraard omdat het maar 1 waarde is.

file_get_contents dus

Ander probleem
1
2
3
4
5
6
7
8
9
10
<?php
$offset
=intval(file_get_contents('offset.txt'));
echo
$offset;
$offset+=15;
$fp=fopen('offset.txt','w+');

        
fwrite($fp,"$offset");
        
fclose($fp);
header("location: ".$_SERVER['PHP_SELF']);
?>


Dit zou infinite moeten loopen. Maar hij stopt na 1 loop.
pi_32680470
quote:
Op dinsdag 29 november 2005 20:53 schreef Swetsenegger het volgende:

[..]


Compleet overheen gelezen.
Het vreemde is dat file() zegt dat het hetzelfde is als readfile, maar ipv een string een array terug geeft.

Echter geeft file wel degelijk de inhoud terug en niet het aantal bytes. Ik gebruikte readfile uiteraard omdat het maar 1 waarde is.

file_get_contents dus

Ander probleem
[ code verwijderd ]

Dit zou infinite moeten loopen. Maar hij stopt na 1 loop.
Het is niet zo'n goed idee een header('Location:') uit te voeren naar hetzelfde PHP-script; Firefox geeft er na een aantal van dit soort verwijzingen al de brui aan. Beter doe je een combinatie van Javascript en PHP, waarbij je met Javascript er voor zorgt dat het scriptje om de zoveel tijd wordt aangeroepen Overigens, een location moet eigenlijk een volledige URI zijn (http://...).

Als je het in IE test en hij loopt maar 1 keer, dan zou ik het zo niet weten. Debuggen! Doe eens een echo $output nadat je += 15 hebt gedaan, en waarom open je het bestand in modus 'w+'?
  dinsdag 29 november 2005 @ 21:01:53 #110
2391 Jimmy
Door het bot
pi_32680471
Wat is de output als je header vervangt door print?

Dus:
print("location: ".$_SERVER['PHP_SELF']);

Gewoon de goeie locatie?
Rock 'n Roll Motherfucker - Join the Rock 'n Roll Jihad!
www.last.fm/user/JimmyShelter
Jimmy Shelter
Sleazerock.nl
  dinsdag 29 november 2005 @ 21:04:21 #111
2391 Jimmy
Door het bot
pi_32680542
Wat je ook doen ipv header(Location) is in je html output iets als:
<meta http-equiv="refresh" content="1">
in je html zetten, dan refresht je pagina ook na 1 seconde.

Geen idee of Firefox hier een beperking voor het aantal verwijzingen in heeft.
Rock 'n Roll Motherfucker - Join the Rock 'n Roll Jihad!
www.last.fm/user/JimmyShelter
Jimmy Shelter
Sleazerock.nl
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 21:10:01 #112
1972 Swetsenegger
Egocentrische Narcist
pi_32680695
@jera, Het vreemde is dat hij het voorheen met de oplossing met het cookie wel goed deed. Javascript gaat niet, want dat is clientside, en het is een cronjob.

@Jimmy, ja de header verwijzing is gewoon goed, ik heb het zelfs hardcoded geprobeerd met hetzelfde resultaat. Een refresh werkt uiteraard niet, want ik weet niet of mijn script al is uitgevoerd.

Hier het volledige script
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
<?php
$result
=mysql_query('SELECT COUNT(id) AS aantal FROM table WHERE datum=DATE_SUB(NOW(), INTERVAL 84 DAY)'); // aantal te versturen mails
$row = mysql_fetch_assoc($result);

$offset=intval(file_get_contents('offset.txt')); //offset waar ik gebleven ben

if($row['aantal']-$offset &lt;=0){  //indien true, alle mails verstuurt
        
$offset=0;
        
$fp=fopen('offset.txt','w');
        
fwrite($fp,"$offset");
        
fclose($fp);
        die();
}

$query="SELECT * FROM table WHERE datum=DATE_SUB(NOW(), INTERVAL 84 DAY) LIMIT ".$offset.",15";
$result=mysql_query($query);
while(
$row=mysql_fetch_assoc($result)){
// 15 mails versturen
}
$offset+=15; //offset ophogen
$fp=fopen('offset.txt','w+');

        
fwrite($fp,"$offset");
        
fclose($fp);
header("location: ".$_SERVER['PHP_SELF']); //hele circus opnieuw
?>
pi_32680786
quote:
Op dinsdag 29 november 2005 21:10 schreef Swetsenegger het volgende:
@jera, Het vreemde is dat hij het voorheen met de oplossing met het cookie wel goed deed. Javascript gaat niet, want dat is clientside, en het is een cronjob.
Een cronjob!? Je doet een header() op een cronjobfile? Welke browser kan dan reageren op die header()?

edit: normaal als je een PHP-script uitvoert gebeurt dit via de browser. Als je dan in je script een header() uitvoert worden de headers via de webserver naar de browser gestuurd, samen met eventuele output (daarom is het vaak belangrijk om na een location-header een exit() uit te voeren zodat er hopelijk nog geen output is). De browser krijgt deze headers binnen en ziet de location-header, en vraagt vervolgens de pagina opnieuw op.

Een cron-daemon is geen browser, die draait gewoon scriptjes en stuurt mailtjes als er output is. Meer doet het niet

Waarom doe je geen for-loopje?
  dinsdag 29 november 2005 @ 21:17:29 #114
2391 Jimmy
Door het bot
pi_32680902
In een cronjob kun je dan niet via exec() het php-script zichlzelf nogmaals laten starten?

Wel HEEL erg goed kijken dat ie niet eeuwig zichzelf blijft aanroepen natuurlijk.
Rock 'n Roll Motherfucker - Join the Rock 'n Roll Jihad!
www.last.fm/user/JimmyShelter
Jimmy Shelter
Sleazerock.nl
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 21:18:36 #115
1972 Swetsenegger
Egocentrische Narcist
pi_32680938
quote:
Op dinsdag 29 november 2005 21:13 schreef JeRa het volgende:

[..]

Een cronjob!? Je doet een header() op een cronjobfile? Welke browser kan dan reageren op die header()?

KUT.
quote:
Waarom doe je geen for-loopje?
maximum execution time. Ik zit aan een limiet van 30 seconden. Op een safe_mode server En ik heb in potentie heel veel mails te versturen.

Overigens werkt lokaal de header wel. Uiteraard met een browser. Zou de hoster een bescherming hebben misschien?
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 21:19:52 #116
1972 Swetsenegger
Egocentrische Narcist
pi_32680970
quote:
Op dinsdag 29 november 2005 21:17 schreef Jimmy het volgende:
In een cronjob kun je dan niet via exec() het php-script zichlzelf nogmaals laten starten?

Wel HEEL erg goed kijken dat ie niet eeuwig zichzelf blijft aanroepen natuurlijk.
De hoster biedt niet eens cronjobs aan, ik maak gebruik van een online cronservice
pi_32681040
quote:
Op dinsdag 29 november 2005 21:18 schreef Swetsenegger het volgende:

[..]


KUT.
[..]

maximum execution time. Ik zit aan een limiet van 30 seconden. Op een safe_mode server En ik heb in potentie heel veel mails te versturen.

Overigens werkt lokaal de header wel. Uiteraard met een browser. Zou de hoster een bescherming hebben misschien?
Hebben ze safe_mode aangezet voor scriptjes die op PHP-cli (commandline) draaien? Dan zit er iets niet goed in de beveiliging van hun server ik zou ze even een mailtje sturen met de vraag of ze safe_mode voor PHP uitzetten, safe_mode is vooral bedoeld voor mod_php (of voor PHP-cgi, voor mijn part).

Cron-opdrachten worden namelijk uitgevoerd onder de user van wie de crontab is. Wat dat betreft moeten de rechten in hun systeem goed staan, dus is er geen enkele reden om safe_mode aan te laten staan.

Bieden ze geen at-service aan?
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 21:27:47 #118
1972 Swetsenegger
Egocentrische Narcist
pi_32681238
quote:
Op dinsdag 29 november 2005 21:22 schreef JeRa het volgende:

[..]

Hebben ze safe_mode aangezet voor scriptjes die op PHP-cli (commandline) draaien? Dan zit er iets niet goed in de beveiliging van hun server ik zou ze even een mailtje sturen met de vraag of ze safe_mode voor PHP uitzetten, safe_mode is vooral bedoeld voor mod_php (of voor PHP-cgi, voor mijn part).

Cron-opdrachten worden namelijk uitgevoerd onder de user van wie de crontab is. Wat dat betreft moeten de rechten in hun systeem goed staan, dus is er geen enkele reden om safe_mode aan te laten staan.

Ze bieden geen anacron-service aan?
Ze bieden helemaal niets aan en ze willen niets wijzigen ook. Nadeel van een goedkope hoster

www.tweedehandsboek.net/phpinfo.php
1
2
3
4
safe_mode On On 
safe_mode_exec_dir no value no value 
safe_mode_gid Off Off 
safe_mode_include_dir /usr/lib/php /usr/lib/php 


Zover ik kan zien kan ik dus max_execution_time niet gebruiken toch?
pi_32681275
quote:
Op dinsdag 29 november 2005 21:27 schreef Swetsenegger het volgende:

[..]

Ze bieden helemaal niets aan en ze willen niets wijzigen ook. Nadeel van een goedkope hoster

www.tweedehandsboek.net/phpinfo.php
[ code verwijderd ]

Zover ik kan zien kan ik dus max_execution_time niet gebruiken toch?
Nee. Wat je wel kunt doen via de meeste cronservices is zeggen dat een scriptje elke x minuten moet draaien, kun je dat niet gebruiken?
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 21:32:12 #120
1972 Swetsenegger
Egocentrische Narcist
pi_32681362
quote:
Op dinsdag 29 november 2005 21:29 schreef JeRa het volgende:

[..]

Nee. Wat je wel kunt doen via de meeste cronservices is zeggen dat een scriptje elke x minuten moet draaien, kun je dat niet gebruiken?
Die service was 5 euro duurder geloof ik
Maar er zit weinig anders op, aangezien een header niet gaat werken.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')