abonnement Unibet Coolblue Bitvavo
  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.
pi_32681636
quote:
Op dinsdag 29 november 2005 21:32 schreef Swetsenegger het volgende:

[..]

Die service was 5 euro duurder geloof ik
Maar er zit weinig anders op, aangezien een header niet gaat werken.
Dat is meteen de reden waarom ik eigen servers draai voor gmta.nl (en de subdomeinen daarvan die ik aan mensen geef die tegen hetzelfde probleem waren opgelopen: te dure of slechte hosting)
  dinsdag 29 november 2005 @ 21:45:02 #122
2391 Jimmy
Door het bot
pi_32681687
Ik heb een site+database van alle optredens van bands waar ik geweest ben.

Ik wou nu als oefening de code herschrijven om ook classes te gebruiken. Voor bands, locaties & optredens zou ik dan een class kunnen gebruiken. Voor de hand liggende objecten op zich.

Wat ik me nu alleen afvraag is, is in hoeverre ik de classes in de verschillende andere classen moet gebruiken:
Bijvoorbeeld in de optreden-class: hang ik daar band & locatie classes aan, of zorg ik voor variablen waarin de id's van de betreffende bands en locaties instaan, die ik als ik meer informatie nodig heb over die band of locatie dan weer aan die class voer.

Ik snap mezelf nu haast niet meer. Iemand gedachten hierover?
Rock 'n Roll Motherfucker - Join the Rock 'n Roll Jihad!
www.last.fm/user/JimmyShelter
Jimmy Shelter
Sleazerock.nl
  dinsdag 29 november 2005 @ 21:45:48 #123
2391 Jimmy
Door het bot
pi_32681702
quote:
Op dinsdag 29 november 2005 21:43 schreef JeRa het volgende:
Dat is meteen de reden waarom ik eigen servers draai voor gmta.nl (en de subdomeinen daarvan die ik aan mensen geef die tegen hetzelfde probleem waren opgelopen: te dure of slechte hosting)
Yup, lange leve eigen hosting, of in mijn geval een vriend met eigen hosting
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 @ 22:21:38 #124
1972 Swetsenegger
Egocentrische Narcist
pi_32682855
quote:
Op dinsdag 29 november 2005 21:45 schreef Jimmy het volgende:

[..]

Yup, lange leve eigen hosting, of in mijn geval een vriend met eigen hosting
Maar ik heb nog steeds een probleem
een meta refresh is natuurlijk ook alleen clientside, correct?
  dinsdag 29 november 2005 @ 22:31:25 #125
2391 Jimmy
Door het bot
pi_32683170
quote:
Op dinsdag 29 november 2005 22:21 schreef Swetsenegger het volgende:
Maar ik heb nog steeds een probleem
een meta refresh is natuurlijk ook alleen clientside, correct?
Ja.

Maar als ik het goed begrijp wordt je script command line aangeroepen?
Is dit dan geen optie?
http://nl2.php.net/manual/en/function.exec.php

En dan exec("php scriptnaam");
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 @ 22:35:03 #126
1972 Swetsenegger
Egocentrische Narcist
pi_32683291
quote:
Op dinsdag 29 november 2005 22:31 schreef Jimmy het volgende:

[..]

Ja.

Maar als ik het goed begrijp wordt je script command line aangeroepen?
Is dit dan geen optie?
http://nl2.php.net/manual/en/function.exec.php

En dan exec("php scriptnaam");
Hoe bedoel je commandline aangeroepen?
Ik maak gebruik van een online cronservice www.cronservice.nl waar je gewoon de url van je script kan opgeven zodat die uitgevoerd wordt

Volgens mij werkt jouw oplossing dus niet.
  dinsdag 29 november 2005 @ 22:47:38 #127
2391 Jimmy
Door het bot
pi_32683676
Ah, ok.

Ik wist niet eens dat dat soort services bestonden.
Ik ging er gewoon vanuit dat als het een cronjob was, het vanaf de commandline werd gestart, maar met deze service wordt er dus wel een script via het web opgestart.

Poeh, geen idee hoe je dan vanuit dat script het script opnieuw kan aanroepen.
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 @ 22:51:13 #128
1972 Swetsenegger
Egocentrische Narcist
pi_32683775
quote:
Op dinsdag 29 november 2005 22:47 schreef Jimmy het volgende:
Ah, ok.

Ik wist niet eens dat dat soort services bestonden.
Ik ging er gewoon vanuit dat als het een cronjob was, het vanaf de commandline werd gestart, maar met deze service wordt er dus wel een script via het web opgestart.

Poeh, geen idee hoe je dan vanuit dat script het script opnieuw kan aanroepen.
Nee, ik ook niet. I'm fucked.
Niet de eerste keer, b-one heeft wel meer settings welke nergens vermeld staan en welke je script aardig kunnen verneuken (zo kan je ook maar 1 mail per 5 minuten versturen wanneer in de afzender of ontvanger geen adres van je domein staat)
pi_32683901
quote:
Op dinsdag 29 november 2005 22:35 schreef Swetsenegger het volgende:

[..]

Hoe bedoel je commandline aangeroepen?
Ik maak gebruik van een online cronservice www.cronservice.nl waar je gewoon de url van je script kan opgeven zodat die uitgevoerd wordt

Volgens mij werkt jouw oplossing dus niet.
Sodeju, dat is slim bedacht dat project www.cronservice.nl dan. Het is namelijk best simpel op te zetten en goud geld mee te verdienen natuurlijk. Wat betreft je probleem, weet ook even geen oplossing.
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 22:59:38 #130
1972 Swetsenegger
Egocentrische Narcist
pi_32684026
quote:
Op dinsdag 29 november 2005 22:55 schreef JeRa het volgende:

[..]

Sodeju, dat is slim bedacht dat project www.cronservice.nl dan. Het is namelijk best simpel op te zetten en goud geld mee te verdienen natuurlijk. Wat betreft je probleem, weet ook even geen oplossing.
Ik ben het helemaal met je eens.
Ik kwam er dus achter dat mijn hoster absoluut geen cronservice wilde bieden. Niet in controlpanel, ook niet opzetten na verzoek.

En daar zat ik, met een advertentie pagina, waar ik elke dag wil kijken of mensen hun aanmelding hebben geactiveerd (en anders deleten) en advertenties welke ik 3 maanden wil laten 'verlengen' dmv het versturen van een mail.

Om nu elke dag zelf in mijn browsertje die scripts te openen leek me wat omslachtig. Dus gezocht op google en jawel! Maar er zijn er echt niet gek veel. Deze is zover ik weet de enige in nederland, en absoluut niet duur. ¤ 4,95 per jaar voor 5 crons welke 1 maal per dag kunnen starten. Voor elke cron welke je met een interval van 5 minuten wil laten starten ¤ 4,95 extra.

Op zich voor mij een oplossing welke goed betaalbaar is. Voor hem is het eenmalig een server inrichten. De crons stelt de klant zelf in, en je hebt er geen omkijken na.
pi_32684444
quote:
Op dinsdag 29 november 2005 22:59 schreef Swetsenegger het volgende:

[..]

Op zich voor mij een oplossing welke goed betaalbaar is. Voor hem is het eenmalig een server inrichten. De crons stelt de klant zelf in, en je hebt er geen omkijken na.
Ik ben ongeveer met hetzelfde bezig maar dan iets uitgebreider. Op het moment heb ik AAP gemaakt, Ares Administrative Panel, wat een in PHP geschreven interactive commandline utility is waarmee ik als admin heel makkelijk users kan maken. Daarbij hoort dan optioneel quotas, webruimte, databases, e-mailadressen enzovoort.

Straks is het de bedoeling dat op controlpanel.gmta.nl de gebruikers straks zelf alles kunnen instellen, en daar hoort dan ook cronjob bij (dat kunnen ze ook door met SSH in te loggen en crontab -e uit te voeren, maar veel mensen hebben niet 1-2-3 door hoe die dingen in elkaar zitten). Misschien moet ik er ook maar geld voor gaan vragen straks, voor de nieuwe gebruikers dan
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 23:15:34 #132
1972 Swetsenegger
Egocentrische Narcist
pi_32684502
quote:
Op dinsdag 29 november 2005 23:13 schreef JeRa het volgende:

[..]

Ik ben ongeveer met hetzelfde bezig maar dan iets uitgebreider. Op het moment heb ik AAP gemaakt, Ares Administrative Panel, wat een in PHP geschreven interactive commandline utility is waarmee ik als admin heel makkelijk users kan maken. Daarbij hoort dan optioneel quotas, webruimte, databases, e-mailadressen enzovoort.

Straks is het de bedoeling dat op controlpanel.gmta.nl de gebruikers straks zelf alles kunnen instellen, en daar hoort dan ook cronjob bij (dat kunnen ze ook door met SSH in te loggen en crontab -e uit te voeren, maar veel mensen hebben niet 1-2-3 door hoe die dingen in elkaar zitten). Misschien moet ik er ook maar geld voor gaan vragen straks, voor de nieuwe gebruikers dan
sowieso is het misschien handig om hier naar te verwijzen: http://www.phpfreakz.nl/artikelen.php?aid=112
pi_32690577
wat je anders zou kunnen doen , ik neem aan dat je in een veld vermeld dat de mail naar iemand is verstuurd

anders pak je hier iedere keer er een x aantal uit en update je die x , dan loop je de query voor het selecteren waarbij veld ongelijk is aan verstuurd , hiervan pak je de limit die je bepaald , na het versturen laat je de pagina op nieuw in , procedure wordt opnieuw gestart en verhaal begint opnieuw. je kan uit de loop springen als je aantal records wat je selecteerd 0 is , eventueel kun je daarna het verstuur veld resetten of wat anders mee doen (wel naar andere pagina verwijzen als je klaar bent , anders begint je loop weer opnieuw en wordt iedereen suf gemailt).

afhankelijk van de server zou je het aantal per 29 seconden uit kunnen proberen
  FOK!-Schrikkelbaas woensdag 30 november 2005 @ 10:55:55 #134
1972 Swetsenegger
Egocentrische Narcist
pi_32691412
quote:
Op woensdag 30 november 2005 10:08 schreef morpheus_at_work het volgende:
wat je anders zou kunnen doen , ik neem aan dat je in een veld vermeld dat de mail naar iemand is verstuurd

anders pak je hier iedere keer er een x aantal uit en update je die x , dan loop je de query voor het selecteren waarbij veld ongelijk is aan verstuurd , hiervan pak je de limit die je bepaald , na het versturen laat je de pagina op nieuw in , procedure wordt opnieuw gestart en verhaal begint opnieuw. je kan uit de loop springen als je aantal records wat je selecteerd 0 is , eventueel kun je daarna het verstuur veld resetten of wat anders mee doen (wel naar andere pagina verwijzen als je klaar bent , anders begint je loop weer opnieuw en wordt iedereen suf gemailt).

afhankelijk van de server zou je het aantal per 29 seconden uit kunnen proberen
Ja dat doe ik dus
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$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 <=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

Het probleem is. Hoe roep ik de pagina opnieuw aan na de eerste batch?
pi_32692476
javascriptje : document.redirect actie
  FOK!-Schrikkelbaas woensdag 30 november 2005 @ 11:51:00 #136
1972 Swetsenegger
Egocentrische Narcist
pi_32692654
quote:
Op woensdag 30 november 2005 11:43 schreef morpheus_at_work het volgende:
javascriptje : document.redirect actie
Die wordt client side door een browser uitgevoerd. Het script wordt aangeroepen door een cron, niet door een browser.

DAT is het probleem Anders had de header ook gewoon gewerkt.
header("location: ".$_SERVER['PHP_SELF']); //hele circus opnieuw
Ik heb een serverside refresh nodig
  † In Memoriam † woensdag 30 november 2005 @ 11:56:35 #137
67005 pc-fr34k
"Internet=Telepathie"
pi_32692769
quote:
Op woensdag 30 november 2005 11:51 schreef Swetsenegger het volgende:

[..]

Die wordt client side door een browser uitgevoerd. Het script wordt aangeroepen door een cron, niet door een browser.

DAT is het probleem Anders had de header ook gewoon gewerkt.
header("location: ".$_SERVER['PHP_SELF']); //hele circus opnieuw
Ik heb een serverside refresh nodig
Gewoon met commandline het php-script aanroepen.
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/
  FOK!-Schrikkelbaas woensdag 30 november 2005 @ 11:59:20 #138
1972 Swetsenegger
Egocentrische Narcist
pi_32692830
quote:
Op woensdag 30 november 2005 11:56 schreef pc-fr34k het volgende:

[..]

Gewoon met commandline het php-script aanroepen.

Misschien handig wanneer de rest ook gelezen wordt.
Mijn hoster ondersteunt geen cronjobs. Ik ben uitgeweken naar een online cronservice www.cronservice.nl.
Er valt dus niets vanaf CL aan te roepen .
  † In Memoriam † woensdag 30 november 2005 @ 12:08:48 #139
67005 pc-fr34k
"Internet=Telepathie"
pi_32693022
quote:
Op woensdag 30 november 2005 11:59 schreef Swetsenegger het volgende:

[..]


Misschien handig wanneer de rest ook gelezen wordt.
Mijn hoster ondersteunt geen cronjobs. Ik ben uitgeweken naar een online cronservice www.cronservice.nl.
Er valt dus niets vanaf CL aan te roepen .
Oh, ik had alles gelezen maar daar heb ik dan overheen gelezen, ik las alleen dat je maxexecutiontime en safemode had. .

Een loop in de crobjob geen idee?
Dus je hebt zeg maar 1 pagina die de cronservice een keer aanroept. En die pagina roept het echte script aan in een loop. Dus dat het script gewoon meerdere keren(met bv een waarde door geven waar je bent gebleven) aan wordt geroepen door script1.
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/
pi_32693183
quote:
Op woensdag 30 november 2005 12:08 schreef pc-fr34k het volgende:

[..]

Oh, ik had alles gelezen maar daar heb ik dan overheen gelezen, ik las alleen dat je maxexecutiontime en safemode had. .

Een loop in de crobjob geen idee?
Dus je hebt zeg maar 1 pagina die de cronservice een keer aanroept. En die pagina roept het echte script aan in een loop. Dus dat het script gewoon meerdere keren(met bv een waarde door geven waar je bent gebleven) aan wordt geroepen door script1.
dan liep hij tegen het probleem aan dat zijn pagina maar een executie tijd van 30 seconden mocht hebben
  † In Memoriam † woensdag 30 november 2005 @ 12:32:58 #141
67005 pc-fr34k
"Internet=Telepathie"
pi_32693467
quote:
Op woensdag 30 november 2005 12:16 schreef morpheus_at_work het volgende:

[..]

dan liep hij tegen het probleem aan dat zijn pagina maar een executie tijd van 30 seconden mocht hebben
Je begrijpt me verkeerd, 1 script wordt meerdere keren aangeroepen(dus telkens een kleine execution time)door een ander script. Een script aanroepen in een loop duurt niet zo lang als het andere script al het werk doet...
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/
  FOK!-Schrikkelbaas woensdag 30 november 2005 @ 12:35:18 #142
1972 Swetsenegger
Egocentrische Narcist
pi_32693507
quote:
Op woensdag 30 november 2005 12:08 schreef pc-fr34k het volgende:

[..]

Oh, ik had alles gelezen maar daar heb ik dan overheen gelezen, ik las alleen dat je maxexecutiontime en safemode had. .

Een loop in de crobjob geen idee?
Dus je hebt zeg maar 1 pagina die de cronservice een keer aanroept. En die pagina roept het echte script aan in een loop. Dus dat het script gewoon meerdere keren(met bv een waarde door geven waar je bent gebleven) aan wordt geroepen door script1.
Dat doe ik.
Ik verstuur 15 mails, die blijven ruim binnen de exectution time. Maar dan moet het script zichzelf opnieuw aanroepen. Hoe roep ik die pagina opnieuw aan?
header (location: whatever.php) gaat niet werken, want die stuurt die header info naar de browser welke er niet is. De meta tag doet exact hetzelfde, evenals een javascript window.location.

Dat zijn allemaal clientside redirect/refresh opties en er is geen client. Dus mijn script verstuurt netjes de eerste 15 mails... en stopt dan.
  FOK!-Schrikkelbaas woensdag 30 november 2005 @ 12:36:41 #143
1972 Swetsenegger
Egocentrische Narcist
pi_32693532
quote:
Op woensdag 30 november 2005 12:32 schreef pc-fr34k het volgende:

[..]

Je begrijpt me verkeerd, 1 script wordt meerdere keren aangeroepen(dus telkens een kleine execution time)door een ander script. Een script aanroepen in een loop duurt niet zo lang als het andere script al het werk doet...
Zelfde probleem. Hoe moet page1 page 2 starten/aanroepen? Includen werkt natuurlijk niet, want dan gaat page 1 gewoon over de max_execution_time heen.

Op zich zou het kunnen werken. Pagi 1 roept page 2 aan. Sleep voor 30 seconden, nogmaals page 2 aanroepen, sleep voor 30 seconden, net zo lang tot de mails verstuurt zijn. Maar page 1 kan page 2 niet starten zonder dat pagi 1 execution time bij page 2 wordt opgeteld.
  † In Memoriam † woensdag 30 november 2005 @ 12:38:40 #144
67005 pc-fr34k
"Internet=Telepathie"
pi_32693573
fsockopen() ?
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/
  FOK!-Schrikkelbaas woensdag 30 november 2005 @ 12:43:06 #145
1972 Swetsenegger
Egocentrische Narcist
pi_32693669
quote:
Op woensdag 30 november 2005 12:38 schreef pc-fr34k het volgende:
fsockopen() ?
Dan wordt page2 min of meer gewoon onderdeel van page 1.
Immers gaat die socket gewoon de tijd duren welke page 2 nodig heeft.

Als er een serverside refresh methode zou zijn, zou het opgelost zijn
  † In Memoriam † woensdag 30 november 2005 @ 12:46:34 #146
67005 pc-fr34k
"Internet=Telepathie"
pi_32693734
quote:
Op woensdag 30 november 2005 12:43 schreef Swetsenegger het volgende:

[..]

Dan wordt page2 min of meer gewoon onderdeel van page 1.

Als er een serverside refresh methode zou zijn, zou het opgelost zijn
Ja, maar je hebt je probleem van je max execution time niet meer lijkt me. En de serverside refresh is er niet/zijn we nog niet achter gekomen, lijkt me toch een goede (eventueel tijdelijke) oplossing.
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/
  FOK!-Schrikkelbaas woensdag 30 november 2005 @ 12:52:25 #147
1972 Swetsenegger
Egocentrische Narcist
pi_32693860
quote:
Op woensdag 30 november 2005 12:46 schreef pc-fr34k het volgende:

[..]

Ja, maar je hebt je probleem van je max execution time niet meer lijkt me.
Eh jawel. Page 1 gaat gewoon over de max execution time heen.
Page1 opent de socket. Dat is een stream. Streams worden opgeteld bij executiontime. Script loopt dus de tijd dat page 2 duurt. De tweede keer dat je de socket opent ga je dus met page 1 gewoon over de tijd heen.
pi_32695355
Als het om een paar simpele HTTP requests gaat kan ik je die cronservice ook wel (gratis) bieden; stuur bij interesse maar een mailtje naar staff at tiscali punt ennel
pi_32700105
Kan iemand mij mischien nog een keer helpen?

Mn slowchat / shoutbox werkt nu perfect, ist niet dat een stel noobs vindt dat het nieuwste bericht niet bovenaan, maar onderaan moet komen

Ik pak dus de 5 nieuwste berichten uit de database, waarvan de oudste bovenin moet komen (Staat nu nog onderaan)

Dit is het stukje code wat aangepast moet worden:

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
<?php
// 4 nieuwste berichten laden
                                  
$ID = $_POST['berichtid'];
                                  
$sql = "SELECT * FROM slowchat ORDER BY ID DESC LIMIT 0, 5";
                                  
$query = mysql_query($sql) or die(mysql_error());
                                  while (
$result = mysql_fetch_array($query)) {

                                  
$pID = $result['ID'];
                                  
$puser = $result['user'];
                                  
$pbericht = $result['bericht'];
                                  
$ptype = $result['type'];
                                  
$pdatum = $result['datumtijd'];
                                  
$viewDate = date("H:i", strtotime($pdatum));
                                  
$pip = $result['IP'];


                                  echo
"        <tr>";
                                  echo
"          <td class='row4' align='center'><img src='http://www.pestforum.nl/forum/style_images/1/nav_m.gif' border='0'  alt='Bericht' /></td>";
                                  echo
"          <td class='row4'><span class='desc'><font size = 2 color = gray>[".$viewDate."] </font><font size = 2 color = dodgerblue>".$puser." </font> <font size = 2 color = blue> ".$pbericht." </font><br /></span></td>";
                                  echo
"        </tr>";


                                  }
?>


Iemand een idee? Thnx
  woensdag 30 november 2005 @ 16:41:28 #150
32768 DionysuZ
Respect my authority!
pi_32700191
ORDER BY ID ASC?
□ 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_32700324
quote:
Op woensdag 30 november 2005 16:41 schreef DionysuZ het volgende:
ORDER BY ID ASC?
Natuurlijk niet, dan pak je de vijf eerste berichten. Beter kun je de berichten eerst inladen en vervolgens array_reverse() gebruiken
  woensdag 30 november 2005 @ 16:48:38 #152
32768 DionysuZ
Respect my authority!
pi_32700436
quote:
Op woensdag 30 november 2005 16:45 schreef JeRa het volgende:

[..]

Natuurlijk niet, dan pak je de vijf eerste berichten. Beter kun je de berichten eerst inladen en vervolgens array_reverse() gebruiken
schaam

[ Bericht 3% gewijzigd door DionysuZ op 30-11-2005 17:00:10 ]
□ 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_32701886
En hoe moet ik dat in dit geval toepasssen?
  woensdag 30 november 2005 @ 17:37:46 #154
32768 DionysuZ
Respect my authority!
pi_32701924
euj ff uit mn kop iets van
1
2
3
4
5
6
7
8
9
10
<?php
$reacties
= array();
while (
$result = mysql_fetch_array($query)) {
  
$reacties[] = $result;
}
$reacties = array_reverse($reacties);
foreach(
$reacties as $key=&gt;$val) {
  ...
}
?>

ofzo?
□ 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_32702268
Ik krijg hem totaal niet werkend...
  woensdag 30 november 2005 @ 17:54:33 #156
32768 DionysuZ
Respect my authority!
pi_32702370
wat is je code nu dan?
□ 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 † woensdag 30 november 2005 @ 17:55:31 #157
67005 pc-fr34k
"Internet=Telepathie"
pi_32702393
quote:
Op woensdag 30 november 2005 17:36 schreef LeeHarveyOswald het volgende:
En hoe moet ik dat in dit geval toepasssen?
Je kan ook gewoon ORDER BY ID DESC doen.

edit: onee, je wilt de neiuwste 5 maar dan wel in andere volgorde, dan gewoon de array omdraaien idd.
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/
  woensdag 30 november 2005 @ 17:56:11 #158
32768 DionysuZ
Respect my authority!
pi_32702413
quote:
Op woensdag 30 november 2005 17:55 schreef pc-fr34k het volgende:

[..]

Je kan ook gewoon ORDER BY ID DESC doen.
dat doet ie al
□ 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 † woensdag 30 november 2005 @ 17:56:26 #159
67005 pc-fr34k
"Internet=Telepathie"
pi_32702418
Zie edit. .
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/
  woensdag 30 november 2005 @ 18:09:24 #160
32768 DionysuZ
Respect my authority!
pi_32702789
ipv
1
2
3
4
<?php
$reacties
= array_reverse($reacties);
foreach(
$reacties as $key=&gt;$val) {
?>

in mijn bovenstaande code, kan ook array_pop gebruikt worden:
1
2
3
<?php
while ($result = array_pop($reacties)) {
?>
□ 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_32702792
quote:
Op woensdag 30 november 2005 17:54 schreef DionysuZ het volgende:
wat is je code nu dan?
Weggemikt

Heb een aantal dingen geprobeerd, in het beste geval bleef hij doen wat hij nu doet
pi_32702842
quote:
Op woensdag 30 november 2005 18:09 schreef DionysuZ het volgende:
ipv
[ code verwijderd ]

in mijn bovenstaande code, kan ook array_pop gebruikt worden:
[ code verwijderd ]
it works

thnx
pi_32703343
Hoe kan ik de laatste teken uit een variable eruit halen?

1
2
3
<?php
$x
= 'a,b,c,d,';
?>

Dus dat de laatste komma eruit gehaald wordt.

Ik zat te denken aan de aantal tekens in $x tellen, en $x kopieren tot aantal tekens - 1.

Kan het sneller? (en hoe bepaal ik het aantal tekens, hoe print ik een string tot een bepaald aantal tekens?

Weet iemand het uit het hoofd? scheelt mij weer zoeken...

edit: aantal tekens strlen()

[ Bericht 5% gewijzigd door the_disheaver op 30-11-2005 18:42:41 ]
  woensdag 30 november 2005 @ 18:47:35 #164
32768 DionysuZ
Respect my authority!
pi_32703876
edit: das niet wat je bedoelt
□ 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
  woensdag 30 november 2005 @ 18:48:45 #165
32768 DionysuZ
Respect my authority!
pi_32703916
quote:
Op woensdag 30 november 2005 18:29 schreef the_disheaver het volgende:
Hoe kan ik de laatste teken uit een variable eruit halen?
[ code verwijderd ]

Dus dat de laatste komma eruit gehaald wordt.

Ik zat te denken aan de aantal tekens in $x tellen, en $x kopieren tot aantal tekens - 1.

Kan het sneller? (en hoe bepaal ik het aantal tekens, hoe print ik een string tot een bepaald aantal tekens?

Weet iemand het uit het hoofd? scheelt mij weer zoeken...

edit: aantal tekens strlen()
substr() al geprobeerd?

in jouw geval dus
1
2
3
<?php
$rest
= substr("a,b,c,d,e,f,", 0, -1);
?>
□ 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_32704609
quote:
Op woensdag 30 november 2005 18:48 schreef DionysuZ het volgende:

[..]

substr() al geprobeerd?

in jouw geval dus
[ code verwijderd ]
Dank!
pi_32706553
Als je raardere constructies tegenkomt kun je ook kijken naar explode() en implode() waarmee je strings die teken-gescheiden items bevatten uit elkaar kunt halen en weer in elkaar kunt zetten
pi_32706853
quote:
Op woensdag 30 november 2005 20:09 schreef JeRa het volgende:
Als je raardere constructies tegenkomt kun je ook kijken naar explode() en implode() waarmee je strings die teken-gescheiden items bevatten uit elkaar kunt halen en weer in elkaar kunt zetten
Die gebruik ik ook Maar als ik die laatste komma er niet uit haal komt er een lege waarde uit. En aangezien die vervolgens als key-waarde in een value gestopt wordt is dat niet zo netjes.
  † In Memoriam † woensdag 30 november 2005 @ 20:20:29 #169
67005 pc-fr34k
"Internet=Telepathie"
pi_32706890
Dit werkt dus alleen als je behoudt tot op tekens, het is handiger als je een explode gebruikt en een count:
1
2
3
4
5
6
<?php
$string
= "blaat, hoi, whehehe, fok, forum, doei";
$Astring = explode(",", $string);
$lastItem = $Astring[count($Astring)-1];
echo
$lastItem;
?>
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/
  † In Memoriam † woensdag 30 november 2005 @ 20:22:59 #170
67005 pc-fr34k
"Internet=Telepathie"
pi_32706976
quote:
Op woensdag 30 november 2005 20:19 schreef the_disheaver het volgende:

[..]

Die gebruik ik ook Maar als ik die laatste komma er niet uit haal komt er een lege waarde uit. En aangezien die vervolgens als key-waarde in een value gestopt wordt is dat niet zo netjes.
Dan moet je nog checken of het laatste teken een komma is. .
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/
pi_32707115
SQL vraagje....

Op school ooit gehad met een query in een query zeg maar... weet niet meer precies hoe dat ging, maar dit is ongeveer wat ik wil:
1SELECT a.ip_address, a.id FROM ibf_members WHERE a.ip_address = (SELECT b.ip_address, b.id FROM ibf_members WHERE a.id IS NOT b.id)


Zodat ik dus een overzicht krijg van IP's die meerdere keren voorkomen bij verschillende users

Hoe krijg ik dit in mn PHP pagina werkend?

Iemand een idee? Thnx!
  FOK!-Schrikkelbaas woensdag 30 november 2005 @ 20:27:52 #172
1972 Swetsenegger
Egocentrische Narcist
pi_32707140
Ik heb een ZCE voucher besteld.
Dat wordt studeren
  woensdag 30 november 2005 @ 20:29:24 #173
32768 DionysuZ
Respect my authority!
pi_32707192
quote:
Op woensdag 30 november 2005 20:27 schreef Swetsenegger het volgende:
Ik heb een ZCE voucher besteld.
Dat wordt studeren
waar kun je die bestellen?
□ 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_32707221
quote:
Op woensdag 30 november 2005 20:29 schreef DionysuZ het volgende:

[..]

waar kun je die bestellen?
Daar heb jij het veel te druk voor, jij bent mij en andere n00bs helpen

pi_32707369
quote:
Op woensdag 30 november 2005 20:22 schreef pc-fr34k het volgende:

[..]

Dan moet je nog checken of het laatste teken een komma is. .
Ja, eigenlijk wel.. het komt wel uit een hidden field waar altijd een komma achter zou moeten staan, maar het kan idd gefaked worden... Ik zie niet in hoe er dan misbruik van kan worden gemaakt, maar het is idd beter van wel. Hoe dan?

1
2
3
4
5
<?php
if (substr$_POST['ma_fields'], -1, 1) == ',') {
$_POST['ma_fields'] = substr($_POST['ma_fields'], 0, -1);
}
?>
pi_32707390
@LeeHarveyOswald :
Wat is je probleem dan? Weet je niet hoe je een query uit moet voeren of werkt je query niet in mysql?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_32707444
Die query gaat zowiezo niet werken in mysql. Deels omdat ik niet exact meer weet hoe hem op te bouwen, en deels omdat dit volgens mij vanuit MySql niet kan... Dus mijn vraag is of iemand hier een alternatieve manier voor heeft, of weet hoe mijn query wel gaat werken
  FOK!-Schrikkelbaas woensdag 30 november 2005 @ 20:39:43 #178
1972 Swetsenegger
Egocentrische Narcist
pi_32707526
quote:
Op woensdag 30 november 2005 20:29 schreef DionysuZ het volgende:

[..]

waar kun je die bestellen?
Bij zend
Op zich wel een leuk verhaal. In Augustus hadden ze een aanbieding omdat de certificering 1 jaar bestond. De voucher was $125,-.

Nu wist ik er toen zeker nog niet genoeg vanaf om op korte termijn examen te doen, dus ik had zend een mail gestuurd met de vraag hoe lang de voucher valid is (een half jaar). Aangezien ik een drukke baan heb en PHP er een beetje in de avonduren bij rommel, was een half jaar gewoon te kort dag.

Ondertussen heb ik van roonaan de 'study guide' te leen omdat ik het WEL wil halen.

Anyway, ik heb een poosje terug ook Zend Studio 5 Beta gedownload dus ik sta in de Zend database.

Krijg ik vanavond Idan Zuckerman van Zend op ICQ. Hoe ik Studio vond, en of ik nog van plan was ZCE te halen etc. Hij wilde dus wat verkopen en deed me een aanbod:

Studio
ZCE voucher
exame practise
verzendkosten
$550,-
$399,-

Mooi aanbod, maar ik vind Zend Studio niet genoeg toevoegen tov goede freeware development omgevingen.

Maar uiteindelijk heb ik ZCE voucher plus het practise exam book plus verzendkosten voor $175,- in plaats van $225,- gekocht . En de voucher is een jaar geldig ipv een half jaar. Op zich wilde ik wel een stok achter de deur, want tot mijn spijt moet ik zeggen dat ik pas 3 pagina's heb gelezen in Roonaans boek en ik wil gewoon die certificering halen.
pi_32707571
quote:
Op woensdag 30 november 2005 20:27 schreef LeeHarveyOswald het volgende:
SQL vraagje....

Op school ooit gehad met een query in een query zeg maar... weet niet meer precies hoe dat ging, maar dit is ongeveer wat ik wil:
[ code verwijderd ]

Zodat ik dus een overzicht krijg van IP's die meerdere keren voorkomen bij verschillende users

Hoe krijg ik dit in mn PHP pagina werkend?

Iemand een idee? Thnx!
Je wilt dus een lijst met mensen die een IP-adres hebben die ze delen met andere mensen?

Weet het niet zeker, maar uit het hoofd:
1
2
3
4
5
SELECT m1.id, m1.ipaddress
FROM members AS m1
LEFT JOIN members AS m2 ON m2.ipaddress = m1.ipaddress
WHERE m1.id <> m2.id
ORDER BY m1.ipaddress
  † In Memoriam † woensdag 30 november 2005 @ 20:43:47 #180
67005 pc-fr34k
"Internet=Telepathie"
pi_32707690
quote:
Op woensdag 30 november 2005 20:34 schreef the_disheaver het volgende:

[..]

Ja, eigenlijk wel.. het komt wel uit een hidden field waar altijd een komma achter zou moeten staan, maar het kan idd gefaked worden... Ik zie niet in hoe er dan misbruik van kan worden gemaakt, maar het is idd beter van wel. Hoe dan?
[ code verwijderd ]
Heb je altijd maar 1 teken tussen de komma's? Want anders zal je toch echt die explode moeten gebruiken, en als je zeker weet dat er altijd een komma achter staat dan doe je ipv -1 een -2.
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/
pi_32707789
hm... dat lijkt er wel erg op ik krijg nu alleen:

Dubbele IP Adressen:Unknown column 'm1.ipaddress' in 'field list'
pi_32707822
Beschouw vorige bericht als niet gepost het werkt Thq!
pi_32707828
Je kunt ook de lijst exploden, items waarvan de intval() groter is dan 0 laten staan en andere items uit de array halen (hiermee haal je de lege items dus weg) en vervolgens weer imploden?
pi_32707991
quote:
Op woensdag 30 november 2005 20:43 schreef pc-fr34k het volgende:

[..]

Heb je altijd maar 1 teken tussen de komma's? Want anders zal je toch echt die explode moeten gebruiken, en als je zeker weet dat er altijd een komma achter staat dan doe je ipv -1 een -2.
Ik snap je niet echt geloof ik...

Ik heb altijd maar 1 teken tussen de komma's (maar wat zou het probleem zijn als ik dat niet had?)

En ik gebruik de explode al, maar wel na de functie om de komma eruit te halen

wat meer code
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    $_POST
['ma_fields'] = substr($_POST['ma_fields'], 0, -1);
    
$m = explode(',',$_POST['ma_fields']);
    
$i = 0;
    foreach(
$m as $value) {
      
$veldnaam6 = "ma-page4a-".$value;
      
$n[$value] = $_POST[$veldnaam6];
    }
    foreach (
$n as $key =&gt; $value) {
      
$_SESSION['page4'][$key] = $value;
    }
?>
  † In Memoriam † woensdag 30 november 2005 @ 21:00:26 #185
67005 pc-fr34k
"Internet=Telepathie"
pi_32708314
quote:
Op woensdag 30 november 2005 20:52 schreef the_disheaver het volgende:

[..]

Ik snap je niet echt geloof ik...

Ik heb altijd maar 1 teken tussen de komma's (maar wat zou het probleem zijn als ik dat niet had?)
Het laatste teken kan je zeg maar met de substr die je kreeg van iemand wel halen maar het laaste woord niet, maar ik las je code verkeerd.
quote:
En ik gebruik de explode al, maar wel na de functie om de komma eruit te halen

wat meer code
[ code verwijderd ]
Ja, nu begrijp ik je, ik dacht zeg maar dat je alleen maar de substr gebruikt, daarom was er een misverstand.
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/
pi_32710299
[edit verkeerde topic ]
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_32714053
Hm klein dilemma. Nu wil ik diezelfde query gebruiken om in een andere tabel te kijken of die users ook niet van dat IP gepost hebben. Maar het lijkt er om één of andere reden op dat mn database het niet leuk vindt ca. 35.000 items te vergelijken

Mn SQL code:

1SELECT m1.author_id, m1.author_name, m1.ip_address FROM ibf_posts AS m1 LEFT JOIN ibf_members AS m2 ON m2.ip_address = m1.ip_address WHERE m1.author_id <> m2.id ORDER BY m1.ip_address


Ik krijg geen foutmelding maar hij is erg lang aan het laden....

Iemand die een oplossing weet?
pi_32714328
Kleine toevoeging: na even wachten doet hij het wel, maar krijg ik erg vaak hetzelfde IP adres in mn lijst... Per bericht 1x zeg maar, ipv per gebruiker
pi_32715020
quote:
Op woensdag 30 november 2005 23:40 schreef LeeHarveyOswald het volgende:
Hm klein dilemma. Nu wil ik diezelfde query gebruiken om in een andere tabel te kijken of die users ook niet van dat IP gepost hebben. Maar het lijkt er om één of andere reden op dat mn database het niet leuk vindt ca. 35.000 items te vergelijken

Mn SQL code:
[ code verwijderd ]

Ik krijg geen foutmelding maar hij is erg lang aan het laden....

Iemand die een oplossing weet?
Ik snap niet precies wat je wilt doen, maar:
1) Zet de kleinste tabel (users) links en de grootste tabel (messages) rechts, oftewel: users LEFT JOIN messages
2) Zorg ervoor dat je goede indices hebt: als je in een tabel met 35.000 items het IP-adres wilt controleren dan zal MySQL zonder index alle items moeten aflopen, en dat is traag. Maak dan ook een index aan op het IP-adres.
2a) IP-adressen kun je het best opslaan d.m.v. INET_ATON() en INET_NTOA(), als je dat nog niet gedaan had. Zie de MySQL documentatie voor meer informatie hierover. Je slaat dan de IP-adressen als 32-bits unsigned integers op in plaats van een VARCHAR. Deze laatste is sowieso wat trager om te vergelijken en de data+index is ook altijd groter in vergelijking met een UNSIGNED INT.
pi_32715131
quote:
Op woensdag 30 november 2005 20:27 schreef Swetsenegger het volgende:
Ik heb een ZCE voucher besteld.
Dat wordt studeren
Het wordt pas echt studeren als je een datum hebt geprikt voor het examen (die kun je overigens wel weer verplaatsen).
pi_32715269
quote:
Op woensdag 30 november 2005 20:39 schreef Swetsenegger het volgende:

Anyway, ik heb een poosje terug ook Zend Studio 5 Beta gedownload dus ik sta in de Zend database.

Krijg ik vanavond Idan Zuckerman van Zend op ICQ. Hoe ik Studio vond, en of ik nog van plan was ZCE te halen etc. Hij wilde dus wat verkopen en deed me een aanbod:

Studio
ZCE voucher
exame practise
verzendkosten
$550,-
$399,-

Mooi aanbod, maar ik vind Zend Studio niet genoeg toevoegen tov goede freeware development omgevingen.

Maar uiteindelijk heb ik ZCE voucher plus het practise exam book plus verzendkosten voor $175,- in plaats van $225,- gekocht . En de voucher is een jaar geldig ipv een half jaar. Op zich wilde ik wel een stok achter de deur, want tot mijn spijt moet ik zeggen dat ik pas 3 pagina's heb gelezen in Roonaans boek en ik wil gewoon die certificering halen.
Hoe komen die mensen bij Zend dan achter jouw icq nummer? Ik heb er iig nergens een plek kunnen vinden om dat ding in te voeren.

En dat practise exam book is erg nuttig, daar heb ik ook nog best veel aan gehad
  donderdag 1 december 2005 @ 01:12:01 #192
32768 DionysuZ
Respect my authority!
pi_32716368
Ik vraag me af wat het voor voordelen heeft als je ZCE bent? Dus niet dat je de stof kent, maar dat je het titeltje kan dragen. Het is nl. vrij duur zo te zien.
□ 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_32716718
quote:
Op donderdag 1 december 2005 01:12 schreef DionysuZ het volgende:
Ik vraag me af wat het voor voordelen heeft als je ZCE bent? Dus niet dat je de stof kent, maar dat je het titeltje kan dragen. Het is nl. vrij duur zo te zien.
Qua kennis hoef je natuurlijk geen ZCE te zijn. Je kunt de kennis ook op doen zonder ¤300 te besteden.

Maar bij solliciteren is het een eenvoudige manier om kenbaar te maken dat je PHP kennis hebt. Exact het zelfde met elk andere diploma/certificaat. Een werkgever heeft iets om te vertrouwen, wat dus niet zegt dat je meer kunt dan een niet-ZCE' er..
pi_32716754
hmm... mijn loop loopt oneindig door (gelukkig slechts 30 seconde...) terwijl ie dat niet zo moeten doen (dûh)

edit
Geeft een disabled checkbox geen value door?!?
1 <input name="ma-page4a-b" type="checkbox" value="1" checked="checked" disabled="true" />


bah...nog een hidden veld erbij dan maar...

[ Bericht 69% gewijzigd door the_disheaver op 01-12-2005 01:47:02 ]
pi_32718421
quote:
Op donderdag 1 december 2005 01:32 schreef the_disheaver het volgende:
Geeft een disabled checkbox geen value door?!?
Klopt. Dat geldt trouwens voor alle form elementen die disabled zijn.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_32718474
quote:
Op donderdag 1 december 2005 07:48 schreef SuperRembo het volgende:

[..]

Klopt. Dat geldt trouwens voor alle form elementen die disabled zijn.
Flauw...Opgelost met een hidden field, toch een stukje minder mooi....
pi_32718844
zijn er mensen die zend studio draaien?
en zo ja wat vinden jullie ervan?

ik draai zend 5 en vind persoonlijk dat het er op lijkt dat het erg slecht is geschreven..
ik heb nu een amd athlon 2600+ met 1280MB ram en als zend een uurtje aanstraat is het programma niet meer vooruit te branden...
als ik ga kijken naar de processen heb ik een javavw.exe die >280MB geheugen uinneemt...
sluit ik die dan sluit ik ook zend...
  donderdag 1 december 2005 @ 10:37:06 #198
73485 Niox
I'm sorry, who?
pi_32720767
quote:
Op donderdag 1 december 2005 08:44 schreef mschol het volgende:
zijn er mensen die zend studio draaien?
en zo ja wat vinden jullie ervan?
Geen fijn programma, nooit gevonden ook. PhpED van Nusphere vind ik een stuk lekkerder werken.
Als je alles onder controle hebt, ga je gewoon niet snel genoeg.
A man is rich in proportion to the number of things he can afford to let alone.
pi_32722801
Wat zijn de beweegredenen eigenlijk om zo'n IDE te gebruiken? Natuurlijk kan het tijdens het ontwikkelen een aantal features handig zijn, maar het is niet zo benodigd als Java (dat gecompiled moet worden) of C/C++ (dat gecompiled en gelinken dient te worden) lijkt me

Voor mij is het altijd nog een aantal schermpjes tegelijk openen: remote shell naar de server, een editor schermpje (Crimson editor) en een browserschermpje. IDE's gebruik ik voor programmeertalen en niet zozeer voor scripttalen.
pi_32723263
quote:
Op donderdag 1 december 2005 12:12 schreef JeRa het volgende:
Wat zijn de beweegredenen eigenlijk om zo'n IDE te gebruiken? Natuurlijk kan het tijdens het ontwikkelen een aantal features handig zijn, maar het is niet zo benodigd als Java (dat gecompiled moet worden) of C/C++ (dat gecompiled en gelinken dient te worden) lijkt me

Voor mij is het altijd nog een aantal schermpjes tegelijk openen: remote shell naar de server, een editor schermpje (Crimson editor) en een browserschermpje. IDE's gebruik ik voor programmeertalen en niet zozeer voor scripttalen.
ik wilde het gewoon eff proberen omdat ik had gehoord dat het kennelijk erg goede code completeion had o.a.
maar ik vind dat dit allemaal erg mee valt...
dreamweaver is beterm, die kan tenminste met me mysqldatabase verbinden {:(
  FOK!-Schrikkelbaas donderdag 1 december 2005 @ 12:38:29 #201
1972 Swetsenegger
Egocentrische Narcist
pi_32723409
quote:
Op donderdag 1 december 2005 01:12 schreef DionysuZ het volgende:
Ik vraag me af wat het voor voordelen heeft als je ZCE bent? Dus niet dat je de stof kent, maar dat je het titeltje kan dragen. Het is nl. vrij duur zo te zien.
Duur? $200 voor een certificering vind ik niet overdreven duur eigenlijk.
Je zal je wel in de stof moeten verdiepen, dus het geeft in ieder geval aan dat je een zeker kennis nivo hebt
  FOK!-Schrikkelbaas donderdag 1 december 2005 @ 12:43:29 #202
1972 Swetsenegger
Egocentrische Narcist
pi_32723527
quote:
Op donderdag 1 december 2005 00:16 schreef Light het volgende:

[..]

Het wordt pas echt studeren als je een datum hebt geprikt voor het examen (die kun je overigens wel weer verplaatsen).
Dat wist ik niet, dat je het examen nog kon verplaatsen
Maar ik wil wel voordat ik het examen ga prikken alvast wat voor studie doen.

Want ik denk niet dat ik er al klaar voor ben met mijn huidige nivo.
quote:
Op donderdag 1 december 2005 00:21 schreef Light het volgende:

[..]

Hoe komen die mensen bij Zend dan achter jouw icq nummer? Ik heb er iig nergens een plek kunnen vinden om dat ding in te voeren.

En dat practise exam book is erg nuttig, daar heb ik ook nog best veel aan gehad
Ik had een mail gekregen van die zuckerman. Daarin stond zijn ICQ nummer. Ik had hem toegevoegd omdat er hier in dit topic een misverstand ontstond over de geldigheid van de voucher (infinite of 6 months).
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')