abonnement bol.com Unibet Coolblue
pi_125145985


Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL

Succes heren met het volgende deeltje!
  donderdag 11 april 2013 @ 10:37:43 #2
118585 Crutch
Filantroop || Taalzwengel
pi_125146027
<?php echo 'FiPo'; ?>

Volgende week op gesprek komen bij een bedrijf met eigen MVC, ben benieuwd.
Je moeder is een hamster
pi_125146035
ik heb een string als: >2500 <5000

nou wil ik met regex de ene keer de 2500, en de andere keer de 5000 pakken, hoe fix ik dat nou?

>[0-9]+

en

<[0-9]+

werkt wel, maar dan krijg ik >2500 en <5000 terwijl ik die > en < niet erbij wil. weet iemand hoe ik alleen de cijfers pak?


heb hem: <([0-9]+)

[ Bericht 7% gewijzigd door Deeltjesversneller op 11-04-2013 10:47:09 ]
  donderdag 11 april 2013 @ 10:52:38 #4
241330 A-mineur
Zware akkoorden.
pi_125146456
Als er een spatie tussen zit gebruik je gewoon explode, en vervolgens een substr om de < of > weg te halen.

edit: zie dat je hem al had, maar ik denk dat mijn methode sneller, en een better practice is.


1
2
3
4
5
6
7
8
9
10
<?php
$str = '>2500 <5000 >2500 <5000 >2500 <5000 >2500 <5000 >2500 <5000';

$values = explode(' ', $str);
foreach($values AS &$value){
$value = substr($value, 1);
}

//even snel uit het hoofd.
?>


[ Bericht 26% gewijzigd door A-mineur op 11-04-2013 11:20:48 ]
To doom or not to doom
  donderdag 11 april 2013 @ 10:58:48 #5
241330 A-mineur
Zware akkoorden.
pi_125146652
quote:
0s.gif Op donderdag 11 april 2013 10:37 schreef Crutch het volgende:
<?php echo 'FiPo'; ?>

Volgende week op gesprek komen bij een bedrijf met eigen MVC, ben benieuwd.
Je bedoelt CMS, MVC is een design pattern ;).
To doom or not to doom
  donderdag 11 april 2013 @ 11:06:23 #6
118585 Crutch
Filantroop || Taalzwengel
pi_125146859
quote:
0s.gif Op donderdag 11 april 2013 10:58 schreef A-mineur het volgende:

[..]

Je bedoelt CMS, MVC is een design pattern ;).
Ik bedoel MVC.
Je moeder is een hamster
pi_125147207
quote:
0s.gif Op donderdag 11 april 2013 10:52 schreef A-mineur het volgende:
Als er een spatie tussen zit gebruik je gewoon explode, en vervolgens een substr om de < of > weg te halen.

edit: zie dat je hem al had, maar ik denk dat mijn methode sneller, en een better practice is.
[ code verwijderd ]

en nu heeft hij een array met allemaal nullen, ik denk dat die -1 een 1 moet zijn ;)
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  donderdag 11 april 2013 @ 11:20:40 #8
241330 A-mineur
Zware akkoorden.
pi_125147298
quote:
0s.gif Op donderdag 11 april 2013 11:17 schreef Rockfire het volgende:

[..]

en nu heeft hij een array met allemaal nullen, ik denk dat die -1 een 1 moet zijn ;)
Je hebt gelijk, dat moet idd een 1 zijn ipv -1.
To doom or not to doom
  donderdag 11 april 2013 @ 13:54:35 #9
166255 Maringo
Bèhèhèhèh
pi_125152548
quote:
0s.gif Op donderdag 11 april 2013 10:37 schreef Crutch het volgende:
<?php echo 'FiPo'; ?>

Volgende week op gesprek komen bij een bedrijf met eigen MVC, ben benieuwd.
Een eigen MVC? Hoe ziet een eigen en niet-eigen MVC eruit dan?

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
  donderdag 11 april 2013 @ 13:57:23 #10
118585 Crutch
Filantroop || Taalzwengel
pi_125152667
quote:
2s.gif Op donderdag 11 april 2013 13:54 schreef Maringo het volgende:

[..]

Een eigen MVC? Hoe ziet een eigen en niet-eigen MVC eruit dan?

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Ze hebben een eigen MVC `framework` ontwikkeld, denk dat dat is wat ze bedoelen.

Dus niet op een bestaand iets gebaseerd als Cake of CodeIgniter, o.i.d.
Je moeder is een hamster
  donderdag 11 april 2013 @ 14:38:38 #11
241330 A-mineur
Zware akkoorden.
pi_125154385
quote:
0s.gif Op donderdag 11 april 2013 13:57 schreef Crutch het volgende:

[..]

Ze hebben een eigen MVC `framework` ontwikkeld, denk dat dat is wat ze bedoelen.

Dus niet op een bestaand iets gebaseerd als Cake of CodeIgniter, o.i.d.
Een eigen framework dan ;) Ik kan met 4 pagina's een MVC pattern opzetten ;)
To doom or not to doom
  donderdag 11 april 2013 @ 14:41:23 #12
118585 Crutch
Filantroop || Taalzwengel
pi_125154514
quote:
0s.gif Op donderdag 11 april 2013 14:38 schreef A-mineur het volgende:

[..]

Een eigen framework dan ;) Ik kan met 4 pagina's een MVC pattern opzetten ;)
JAMAAR ze noemen het een 'eigen' MVC. Dan kan ik wijs gaan lopen en doen en zeggen dat dat een design pattern is, maar goed dat gaat mij niet echt helpen op hun loonlijst te komen. :')
Je moeder is een hamster
pi_125156242
Ik zou een ander bedrijf opzoeken om bij te soliciteren :)
  donderdag 11 april 2013 @ 15:40:14 #14
166255 Maringo
Bèhèhèhèh
pi_125156791
quote:
0s.gif Op donderdag 11 april 2013 14:41 schreef Crutch het volgende:

[..]

JAMAAR ze noemen het een 'eigen' MVC. Dan kan ik wijs gaan lopen en doen en zeggen dat dat een design pattern is, maar goed dat gaat mij niet echt helpen op hun loonlijst te komen. :')
True. Toch zou ik graag willen weten wat ze ermee bedoelen. :+
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
  donderdag 11 april 2013 @ 15:40:48 #15
118585 Crutch
Filantroop || Taalzwengel
pi_125156816
quote:
2s.gif Op donderdag 11 april 2013 15:40 schreef Maringo het volgende:

[..]

True. Toch zou ik graag willen weten wat ze ermee bedoelen. :+
Ja ik ook, maar dat zien we dus binnenkort. :7
quote:
0s.gif Op donderdag 11 april 2013 15:25 schreef StM het volgende:
Ik zou een ander bedrijf opzoeken om bij te soliciteren :)
ok.
Je moeder is een hamster
  donderdag 11 april 2013 @ 15:42:02 #16
166255 Maringo
Bèhèhèhèh
pi_125156861
quote:
0s.gif Op donderdag 11 april 2013 15:40 schreef Crutch het volgende:

[..]

Ja ik ook, maar dat zien we dus binnenkort. :7

Succes in ieder geval. ^O^
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
  donderdag 11 april 2013 @ 15:48:10 #17
118585 Crutch
Filantroop || Taalzwengel
pi_125157123
quote:
2s.gif Op donderdag 11 april 2013 15:42 schreef Maringo het volgende:

[..]

Succes in ieder geval. ^O^
Thnx.
Je moeder is een hamster
  donderdag 11 april 2013 @ 16:16:24 #18
12221 Tijn
Powered by MS Paint
pi_125158310
quote:
2s.gif Op donderdag 11 april 2013 15:40 schreef Maringo het volgende:

[..]

True. Toch zou ik graag willen weten wat ze ermee bedoelen. :+
Een eigen framework waarschijnlijk.
  donderdag 11 april 2013 @ 17:11:14 #19
166255 Maringo
Bèhèhèhèh
pi_125160730
quote:
2s.gif Op donderdag 11 april 2013 16:16 schreef Tijn het volgende:

[..]

Een eigen framework waarschijnlijk.
Dat dacht ik eerst ook, maar dan noem je het toch niet je 'eigen MVC'?
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
  donderdag 11 april 2013 @ 17:12:28 #20
12221 Tijn
Powered by MS Paint
pi_125160774
quote:
2s.gif Op donderdag 11 april 2013 17:11 schreef Maringo het volgende:

[..]

Dat dacht ik eerst ook, maar dan noem je het toch niet je 'eigen MVC'?
Nou ja, die dingen worden ook wel "MVC frameworks" genoemd, dus dat je het dan afkort als "we gebruiken ons eigen MVC" kan ik wel begrijpen.
pi_125222926
quote:
2s.gif Op donderdag 11 april 2013 17:11 schreef Maringo het volgende:

[..]

Dat dacht ik eerst ook, maar dan noem je het toch niet je 'eigen MVC'?
Dat ligt eraan wie die term gebruikt. Een recruiter die een buzzword gehoord heeft en daar indruk mee wil maken? Een HR persoon die niet technisch onderlegd is? Een architect / lead developer?
  zaterdag 13 april 2013 @ 01:58:03 #22
166255 Maringo
Bèhèhèhèh
pi_125223841
quote:
0s.gif Op zaterdag 13 april 2013 01:21 schreef Light het volgende:

[..]

Dat ligt eraan wie die term gebruikt. Een recruiter die een buzzword gehoord heeft en daar indruk mee wil maken? Een HR persoon die niet technisch onderlegd is? Een architect / lead developer?
Dat zou ik helemaal kansloos vinden. Als een niet technisch aangelegd persoon, zonder overstemming hoe het product heet, maar wat neerplempt in een advertentie.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
  maandag 15 april 2013 @ 09:20:14 #23
118585 Crutch
Filantroop || Taalzwengel
pi_125300767
quote:
2s.gif Op zaterdag 13 april 2013 01:58 schreef Maringo het volgende:

[..]

Dat zou ik helemaal kansloos vinden. Als een niet technisch aangelegd persoon, zonder overstemming hoe het product heet, maar wat neerplempt in een advertentie.
Dat is mij verteld door iemand van werving en selectie. Dus zal wel een loze kreet zijn.
Je moeder is een hamster
  maandag 15 april 2013 @ 09:35:32 #24
178193 Juicyhil
Bekende FOK!ker
pi_125301091
Had laatst ook iemand die vroeg of ik ervaring had met het MVC-framework :P
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
  maandag 15 april 2013 @ 09:42:41 #25
12221 Tijn
Powered by MS Paint
pi_125301280
quote:
0s.gif Op maandag 15 april 2013 09:35 schreef Juicyhil het volgende:
Had laatst ook iemand die vroeg of ik ervaring had met het MVC-framework :P
_O-
pi_125307782
Heren, een serieuze vraag.

Ik ben recent mn baan kwijt geraakt (boventallig) en wil graag verder gaan met programmeren in php en asp.
Nu ben ik op zoek naar php en asp cursussen, mijn oude baas wil deze namelijk wel betalen.

Kunnen jullie mij een aantal cursussen aanbevelen?
  maandag 15 april 2013 @ 13:23:15 #27
118585 Crutch
Filantroop || Taalzwengel
pi_125307853
quote:
0s.gif Op maandag 15 april 2013 13:20 schreef Darkomen het volgende:
Heren, een serieuze vraag.

Ik ben recent mn baan kwijt geraakt (boventallig) en wil graag verder gaan met programmeren in php en asp.
Nu ben ik op zoek naar php en asp cursussen, mijn oude baas wil deze namelijk wel betalen.

Kunnen jullie mij een aantal cursussen aanbevelen?
Lol, je baas flikkert je eruit, maar wil wel een opleiding voor je betalen? 8)7
Je moeder is een hamster
  maandag 15 april 2013 @ 13:28:15 #28
63192 ursel
"Het Is Hier Fantastisch!
pi_125307990
quote:
0s.gif Op maandag 15 april 2013 13:20 schreef Darkomen het volgende:
Heren, een serieuze vraag.

Ik ben recent mn baan kwijt geraakt (boventallig) en wil graag verder gaan met programmeren in php en asp.
Nu ben ik op zoek naar php en asp cursussen, mijn oude baas wil deze namelijk wel betalen.

Kunnen jullie mij een aantal cursussen aanbevelen?
Op wat voor niveau/budget.
Eduvision heeft de nodige cursussen, maar niet goedkoop. :7
pi_125308555
quote:
0s.gif Op maandag 15 april 2013 13:23 schreef Crutch het volgende:

[..]

Lol, je baas flikkert je eruit, maar wil wel een opleiding voor je betalen? 8)7
Overname, boventallig geworden na 13 jaar trouwe dienst, dus het hoort bij mn 'deal'.

quote:
0s.gif Op maandag 15 april 2013 13:28 schreef ursel het volgende:

[..]

Op wat voor niveau/budget.
Eduvision heeft de nodige cursussen, maar niet goedkoop. :7
Basis kennis heb ik wel, ik rotzooi al 13 jaar met php en mysql.
Afgelopen jaren heb ik ook een server opgezet welke automatisch diverse rapportages maakt en analyseert.
Maar niks officieel geleerd dus.
Kwa kosten... geen idee.
  maandag 15 april 2013 @ 13:49:10 #30
12221 Tijn
Powered by MS Paint
pi_125308618
Is het misschien een idee om zo'n certificaat van Zend proberen te halen? Dan heb je in elk geval een papiertje dat een beetje serieus overkomt.
pi_125309226
Zend is misschien nog een beetje te hoog gegrepen.
  maandag 15 april 2013 @ 14:06:30 #32
84244 Scorpie
Abject en infaam!
pi_125309284
quote:
0s.gif Op maandag 15 april 2013 14:05 schreef Darkomen het volgende:
Zend is misschien nog een beetje te hoog gegrepen.
Welnee.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  maandag 15 april 2013 @ 14:07:38 #33
63192 ursel
"Het Is Hier Fantastisch!
pi_125309323
quote:
0s.gif Op maandag 15 april 2013 14:05 schreef Darkomen het volgende:
Zend is misschien nog een beetje te hoog gegrepen.
Kwestie van goed leren :')
  maandag 15 april 2013 @ 14:20:42 #34
118585 Crutch
Filantroop || Taalzwengel
pi_125309862
quote:
0s.gif Op maandag 15 april 2013 14:05 schreef Darkomen het volgende:
Zend is misschien nog een beetje te hoog gegrepen.
Zend hanteert ook MVC.
Dan kun je net als ik maar eens gaan uitpluizen hoe MVC werkt.
Heb zojuist zelf wat gebakken met wat ik heb geleerd; scheelt weer voor mijn sollicitatie.
Je moeder is een hamster
  maandag 15 april 2013 @ 14:26:54 #35
91039 mstx
2x1/2 = 1/2 x 1/2
pi_125310138
quote:
0s.gif Op maandag 15 april 2013 14:20 schreef Crutch het volgende:

[..]

Zend hanteert ook MVC.
Ja die hebben ook een eigen mvc :Y

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  maandag 15 april 2013 @ 14:29:07 #36
118585 Crutch
Filantroop || Taalzwengel
pi_125310214
quote:
0s.gif Op maandag 15 april 2013 14:26 schreef mstx het volgende:

[..]

Ja die hebben ook een eigen mvc :Y

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
:7
Je moeder is een hamster
pi_125311630
quote:
0s.gif Op maandag 15 april 2013 13:20 schreef Darkomen het volgende:
Heren, een serieuze vraag.

Ik ben recent mn baan kwijt geraakt (boventallig) en wil graag verder gaan met programmeren in php en asp.
Nu ben ik op zoek naar php en asp cursussen, mijn oude baas wil deze namelijk wel betalen.

Kunnen jullie mij een aantal cursussen aanbevelen?
ASP? Word in bedrijfsleven niet meer actief gebruikt, al zo een jaar of 8 niet meer.
PHP, tjah, ik weet dat ik me hier in hol van leeuw begeeft, maar ik zou dan toch .NET gaan, veel meer werk in te vinden, en over algemeen nog beter betaald ook, bovendien een stuk fijner om in te programmeren als je het mij vraagt.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_125317721
quote:
0s.gif Op maandag 15 april 2013 14:26 schreef mstx het volgende:

[..]

Ja die hebben ook een eigen mvc :Y

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
ondanks het hoge offtopicgehalte, moet ik deze hier neer gooien: DIG / USB geplet..
:')
  dinsdag 16 april 2013 @ 10:33:43 #39
118585 Crutch
Filantroop || Taalzwengel
pi_125345367
Ik zit even met het volgende.

Voor het onderhoudgedeelte(CMS) van een verhuursite wil ik de mogelijkheid bieden om afbeeldingen aan een product toe te voegen die ze vervolgens kunnen scalen en croppen.
Nu zal dat dus gecombineerd html/css/javascript en php moeten worden, maar is daar al iets voor?

Ik kom wel wat image resizers tegen, maar geen complete oplossing met UI en alles.
Ben bang dat ik het zelf allemaal moet gaan maken.
Je moeder is een hamster
  dinsdag 16 april 2013 @ 10:38:59 #40
137776 boem-dikkie
Jedi Mind Baby!
pi_125345504
quote:
0s.gif Op dinsdag 16 april 2013 10:33 schreef Crutch het volgende:
Ik zit even met het volgende.

Voor het onderhoudgedeelte(CMS) van een verhuursite wil ik de mogelijkheid bieden om afbeeldingen aan een product toe te voegen die ze vervolgens kunnen scalen en croppen.
Nu zal dat dus gecombineerd html/css/javascript en php moeten worden, maar is daar al iets voor?

Ik kom wel wat image resizers tegen, maar geen complete oplossing met UI en alles.
Ben bang dat ik het zelf allemaal moet gaan maken.
http://www.pixelzdesign.com/blog_view.php
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  dinsdag 16 april 2013 @ 10:41:17 #41
118585 Crutch
Filantroop || Taalzwengel
pi_125345554
quote:
Wtf? Da's snel.
Thanks.
Je moeder is een hamster
  dinsdag 16 april 2013 @ 11:36:18 #42
118585 Crutch
Filantroop || Taalzwengel
pi_125347122
Jcrop it is then. ^O^
Je moeder is een hamster
pi_125350180
quote:
0s.gif Op maandag 15 april 2013 15:09 schreef raptorix het volgende:

[..]

ASP? Word in bedrijfsleven niet meer actief gebruikt, al zo een jaar of 8 niet meer.
PHP, tjah, ik weet dat ik me hier in hol van leeuw begeeft, maar ik zou dan toch .NET gaan, veel meer werk in te vinden, en over algemeen nog beter betaald ook, bovendien een stuk fijner om in te programmeren als je het mij vraagt.
Onze volledige leverstraat voor zo'n 350k klanten en hun klachten was in asp geschreven, werkte perfect, effcient.
Bedrijf dat ons overgenomen heeft wilde die volledige leverstraat hebbebn, maar zijn er naar 2 jaar achtergekomen dat het hun te veel kost om hun oude troep met zo'n 1.5 milioen klanten om te zetten naar onze leverstraat
Wat zou je me aan kunnen raden wat .NET opleidingen?
pi_125351446
quote:
0s.gif Op dinsdag 16 april 2013 13:11 schreef Darkomen het volgende:

[..]

Onze volledige leverstraat voor zo'n 350k klanten en hun klachten was in asp geschreven, werkte perfect, effcient.
Bedrijf dat ons overgenomen heeft wilde die volledige leverstraat hebbebn, maar zijn er naar 2 jaar achtergekomen dat het hun te veel kost om hun oude troep met zo'n 1.5 milioen klanten om te zetten naar onze leverstraat
Wat zou je me aan kunnen raden wat .NET opleidingen?
Ik zou als ik jou was eerst wat zelf studie doen, en dan een wat gerichtere cursus doen, ik vind dit echt een supergoed leerboek (gratis): http://www.csharpcourse.com/

Je werkt hem in een avond of 5 a 7 door en dan heb je eigenlijk de basis van c# wel onder de knie.

Qua cursussen zou ik me dan eerder richten op bijvoorbeeld een specifiek CMS, in Nederland is er op dit moment een super te kort aan Sitecore developers, daarnaast is er ook veel vraag naar Umbraco en EpiServer specialisten, dus als je vanuit dat perspectief kijkt zou ik dat zeker overwegen.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_125527387
Met hulp van een tutorial heb ik een contactformulier gemaakt. Zelf heb ik het formulier uitgebreid met wat extra velden:

formcode uit contact.html:
SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
mailer.php is alsvolgt:
SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Het probleem is dat als ik op verzend klik zonder iets in te vullen wordt mailer.php geopened en laat daar het onderste deel van de php zien:

1
2
3
4
5
6
7
8
9
10
11
12
Uw bericht is verstuurd. Indien nodig neem ik z.s.m. contact met u op.

'; } else { echo '

Er ging iets fout. Probeer het opnieuw.
'; } } else if ($_POST['submit'] && $spam != '4') { echo '

Uw antwoord op 2+2= klopt niet, probeer het opnieuw...
'; } } else { echo '

Vul de verplichte velden in.
'; } } ?> 

Hij zou dus moeten controleren of de verplichte velden zijn ingevuld (naam / email / bericht) en hij moet controleren of de spamvraag juist is in gevuld.
Beide zijn dus niet gebeurd.
Een mail komt nooit aan, of ik is ingevuld heb of niet. Iemand die mij kan vertellen wat er fout is?
pi_125528142
Ik zou zeggen begin eens met de syntax-fouten (ifif). Heb je error-reporting wel aan staan?
  zaterdag 20 april 2013 @ 19:31:40 #47
125913 Devolution
Beep beep Richie
pi_125530125
Syntax highlighting is ook fijn, zowel in een bericht dat je hier plaatst als in het programma waarmee je de code schrijft. Hierdoor kun je vaak vrij snel zien waar het fout gaat in je code. Als ik bijvoorbeeld jouw code hier met syntax highlighting ingeschakeld neer zet, zie je dit:

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
27
28
29
30
31
32
<?php
    $name 
$_POST['name'];
    
$email $_POST['adres'];
    
$pcp $_POST['pcp'];
    
$email $_POST['email'];
    
$mobiel $_POST['mobiel'];
    
$telefoon $_POST['telefoon'];
    
$message $_POST['message'];
    
$from 'From: contactformulier'
    
$to 'email@hotmail.com'
    
$subject 'contactformulier';
    
    
$body "From: name: $name\n adres: $adres\n pcp:\n $pcp name: $name\n email: $email\n mobiel: $mobiel\n telefoon: $telefoon\n message: $message\n";
    
    
    if (
$_POST['submit']) {
    
ifif ($name != '' && $email != '' && $message != '' ) {
        if (
$human == '4') {                 
            if (
mail ($to$subject$body$from)) { 
            echo 
'<p>Uw bericht is verstuurd. Indien nodig neem ik z.s.m. contact met u op.</p>';
        } else { 
            echo 
'<p>Er ging iets fout. Probeer het opnieuw.</p>'
        } 
    } else if (
$_POST['submit'] && $spam != '4') {
        echo 
'<p>Uw antwoord op 2+2= klopt niet, probeer het opnieuw...</p>';
    }
    } else {
        echo 
'<p>Vul de verplichte velden in.</p>';
    }
}
    
?>

Je ziet nu al vrij snel waar het fout gaat (regel 17, "if" zou groen moeten zijn maar is nu blauw omdat er "ifif" staat in plaats van "if).
Op dit forum kun je syntax highlighting gebruiken door je code tussen [.php][/php.] te zetten (zonder de punten).

Oh, en maak ook goed gebruik van tabs, je bent in deze code een paar tabs vergeten waardoor je niet goed meer kunt zien welke } bij welke if hoort ;)
"You know what Hell really is? It's not lakes of burning oil or chains of ice. It's being removed from God's sight."
pi_125532574
Wat ben je attent Devolution.
pi_125548229
Ga dit topic ook maar es in de gaten houden. Ik weet vrij veel van sql-meuk, maar ben voor de lol eens begonnen met wat mysql i.c.m. php op een apache server.

Ongeveer elk uur kom ik weer nieuwe geile functionaliteiten tegen bij het doorspitten van google :@
  zondag 21 april 2013 @ 13:19:25 #50
137776 boem-dikkie
Jedi Mind Baby!
pi_125551833
Alsals, misschien moeten ze dat maar implementeren in PHP.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_125555506
Even een vraag. Ik wil de inhoud van een formulier naar een gmailadres sturen. Ik gebruik Xampp als tool voor de apach webserver.

Helaas krijg ik dit niet aan de praat. Online kan ik tig websites vinden die elkaar tegenspreken en geen van de suggesties lukt.

Het testscript is

1
2
3
4
5
6
7
8
9
10
<?php
    $to 
"testaccount@gmail.com";
    
$subject "onderwerp";
    
$email "ditisdeafzender@blaat.com";
    
$message "testmailtje";
    
$headers "From:" .  $email;
    if(
mail($to$subject$message$headers)){
        echo 
"ok";}
        else {echo 
"derp";}
    
?>

Waarbij testaccount@gmail.com het door mij aangemaakt emailadres is.

Dan ziet mijn sendmail.ini er zo uit:

1
2
3
4
5
6
7
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=testaccount@gmail.com
auth_password=<wachtwoord>
force_sender=testaccount@gmail.com

en het relevante deel van php.ini ziet er zo uit:

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
27
28
[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
 SMTP = smtp.gmail.com
 smtp_port = 587

; For Win32 only.
; http://php.net/sendmail-from
 sendmail_from =testaccount@gmail.com

; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesC:\xampp) fakemail and mailtodisk do not work correctly.
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.  
 
; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
sendmail_path = “\"C:\xampp\sendmail\sendmail.exe\" -t"

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder
; sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = Off

; Log all mail() calls including the full path of the script, line #, to address and headers
;mail.log = "C:\xampp\php\logs\php_mail.log"

Heb het ook al getest met poort 25 en in beide gevallen komt er 'ok' als ik het script run, maar ik krijg geen email binnen.

[ Bericht 0% gewijzigd door BlueNumber op 21-04-2013 16:57:25 ]
  zondag 21 april 2013 @ 15:49:06 #52
84926 WyriHaximus
Release the hounds smithers!
pi_125557093
Wat is de error die je krijgt?
phluphy for president!
pi_125557914
quote:
6s.gif Op zondag 21 april 2013 15:49 schreef WyriHaximus het volgende:
Wat is de error die je krijgt?
ik krijg geen error
pi_125559183
Zet mail.log eens aan. Heb je display_errors aan staan in PHP, met error_reporting op -1?
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_125559991
quote:
2s.gif Op zondag 21 april 2013 16:43 schreef papernote het volgende:
Zet mail.log eens aan. Heb je display_errors aan staan in PHP, met error_reporting op -1?
mail.log geeft niet veel boeiende info:

mail() on [C:\xampp\htdocs\home\mail.php:7]: To: testaccount@gmail.com -- Headers: From:ditisdeafzender@blaat.com

display_errors staat default aan en error_reporting heb ik op -1 gezet, maar dat levert niets extra op.
pi_125560158
Blijkbaar wordt de mail verzonden. Wat is dan het probleem?
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_125560987
quote:
5s.gif Op zondag 21 april 2013 17:04 schreef papernote het volgende:
Blijkbaar wordt de mail verzonden. Wat is dan het probleem?
Dat ie niet aankomt :')
  zondag 21 april 2013 @ 17:23:14 #58
166255 Maringo
Bèhèhèhèh
pi_125561141
quote:
0s.gif Op zondag 21 april 2013 17:19 schreef BlueNumber het volgende:

[..]

Dat ie niet aankomt :')
Heb je al in je junk folder van gmail gekeken?
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_125561198
quote:
3s.gif Op zondag 21 april 2013 17:23 schreef Maringo het volgende:

[..]

Heb je al in je junk folder van gmail gekeken?
Jep, het is een leeg account, dus ik zou hem toch (ofwel in hoofdmap, ofwel in een spam/trashmap) moeten zien.
  zondag 21 april 2013 @ 17:41:17 #60
166255 Maringo
Bèhèhèhèh
pi_125561852
quote:
0s.gif Op zondag 21 april 2013 17:24 schreef BlueNumber het volgende:

[..]

Jep, het is een leeg account, dus ik zou hem toch (ofwel in hoofdmap, ofwel in een spam/trashmap) moeten zien.
En als je deze veranderd naar een ander emailadres in je php.ini?
1sendmail_from =testaccount@gmail.com
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_125562377
quote:
2s.gif Op zondag 21 april 2013 17:41 schreef Maringo het volgende:

[..]

En als je deze veranderd naar een ander emailadres in je php.ini?
[ code verwijderd ]

Ook dan geeft ie aan dat het verstuurd wordt...
  zondag 21 april 2013 @ 17:59:38 #62
166255 Maringo
Bèhèhèhèh
pi_125562633
quote:
0s.gif Op zondag 21 april 2013 17:53 schreef BlueNumber het volgende:

[..]

Ook dan geeft ie aan dat het verstuurd wordt...
ik zie in je sendmail.ini ook hetzelfde emailadres. ook als afzender.
Ik weet dat Spamassassin bijvoorbeeld, standaard emails eruit filtert die van hetzelfde en naar hetzelfde emailadres maar via andere mailservers gaan oid. En volgens mij doet Google dat ook. Je kan dus proberen om in de sendmail.ini ook de adressen te veranderen naar een ander (gmail)adres
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_125566081
quote:
2s.gif Op zaterdag 20 april 2013 18:36 schreef KomtTijd... het volgende:
Ik zou zeggen begin eens met de syntax-fouten (ifif). Heb je error-reporting wel aan staan?
quote:
12s.gif Op zaterdag 20 april 2013 19:31 schreef Devolution het volgende:
<knip>
Probleem is opgelost. Stom dat ik daar overheen heb gekeken, highlighting stond overigens wel gewoon aan. Dank voor de hulp in ieder geval!

Laatste vraag: Ik heb hier en daar gelezen over 'injection' om via een formulier rotzooi te gaan verspreiden.
Is zo'n anti-spam vraag echt voldoende is om misbruik van het formulier te voorkomen?
pi_125568361
zo'n simpele sowieso niet. En een captcha is geen beveiliging tegen header injection.
pi_125573929
quote:
2s.gif Op zondag 21 april 2013 17:59 schreef Maringo het volgende:

[..]

ik zie in je sendmail.ini ook hetzelfde emailadres. ook als afzender.
Ik weet dat Spamassassin bijvoorbeeld, standaard emails eruit filtert die van hetzelfde en naar hetzelfde emailadres maar via andere mailservers gaan oid. En volgens mij doet Google dat ook. Je kan dus proberen om in de sendmail.ini ook de adressen te veranderen naar een ander (gmail)adres
Thanks voor het meedenken, maar het werkte helaas niet.

Heb mn database en webbestanden gebackupped en een nieuwe installatie van Xampp erop geknald en nu doet ie het wel.
pi_125578632
quote:
6s.gif Op zondag 21 april 2013 13:19 schreef boem-dikkie het volgende:
Alsals, misschien moeten ze dat maar implementeren in PHP.
De broncode van PHP staat op github, je kunt zelf dingen toevoegen ;)
  zondag 21 april 2013 @ 22:36:10 #67
137776 boem-dikkie
Jedi Mind Baby!
pi_125578684
quote:
0s.gif Op zondag 21 april 2013 22:35 schreef Light het volgende:

[..]

De broncode van PHP staat op github, je kunt zelf dingen toevoegen ;)
_O_
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_125615664
Wie heeft die website voor het koningslied gemaakt? :') Dik xss lek

http://bit.ly/17SFXrk _O-

Wtf, waarom wil die url niet goed? :')

[ Bericht 68% gewijzigd door #ANONIEM op 22-04-2013 21:06:46 ]
pi_125616328
quote:
0s.gif Op maandag 22 april 2013 21:03 schreef d4v1d het volgende:
Wie heeft die website voor het koningslied gemaakt? :') Dik xss lek

http://bit.ly/17SFXrk _O-

Wtf, waarom wil die url niet goed? :')
Pluxbox
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_125616455
quote:
0s.gif Op maandag 22 april 2013 21:13 schreef Rockfire het volgende:

[..]

Pluxbox
:')_!
pi_125649863
Weet iemand hoe het zit met SSL certificaten in XAMPP? Ik probeer via cURL verbinding te maken met een server, maar dat gaat niet met de SSL optie aan.

Ik heb dit certificaat gedownload en in XAMPP geïnstalleerd. Met CURLOPT_CAINFO heb ik het pad naar dit certificaat gedefinieerd. Curl_exec geeft volgens geen respons, terwijl het met CURLOPT_SSL_VERIFYPEER op false wel werkt.

EDIT: Volgens mij maakt de server waarmee ik wil verbinden helemaal geen gebruik van SSL. Dan heeft het ook weinig zin om zo'n certificaat te installeren toch? Kan ik gewoon SSL_VERIFYPEER en SSL_VERIFYHOST op false zetten? Heeft dat dezelfde consequenties als het inloggen via de website zelf, wat gewoon een http-verbinding is.

[ Bericht 5% gewijzigd door pascal08 op 23-04-2013 19:49:08 ]
  woensdag 24 april 2013 @ 09:27:37 #72
118585 Crutch
Filantroop || Taalzwengel
pi_125670745
Een logicatest voor programmeurs.
Wat moet ik me daar bij voorstellen?
Je moeder is een hamster
pi_125726785
Ik wil weten of een bepaald woord/string voorkomt in een string.

Dit doe ik met preg_match, maar werken wil het niet.

1
2
3
4
5
6
7
<?php
if (preg_match('/$IP/'$blocked_ips)) {
    echo 
"A match was found.";
} else {
    echo 
"A match was not found.";
}
?>

Ik krijg een false terug terwijl het er echt in voorkomt.
pi_125726933
quote:
0s.gif Op donderdag 25 april 2013 18:19 schreef xaban06 het volgende:
Ik wil weten of een bepaald woord/string voorkomt in een string.

Dit doe ik met preg_match, maar werken wil het niet.
[ code verwijderd ]

Ik krijg een false terug terwijl het er echt in voorkomt.
probeer je nou letterlijk '$ip' te matchen? daar heb je geen regex voor nodig... (gaat ook fout met een regex aangezien $ een line-ending matcht en niet een dollarteken).
Als je variabele $ip wilt matchen moet je natuurlijk geen single-quotes gebruiken.

[ Bericht 5% gewijzigd door KomtTijd... op 25-04-2013 18:37:19 ]
pi_125726990
en volgens mij moet je preg_match() vergelijken met == 1 als je wilt weten of hij iets gematcht heeft.
  donderdag 25 april 2013 @ 18:35:58 #76
12221 Tijn
Powered by MS Paint
pi_125727218
quote:
0s.gif Op woensdag 24 april 2013 09:27 schreef Crutch het volgende:
Een logicatest voor programmeurs.
Wat moet ik me daar bij voorstellen?
Zoiets als een IQ-test?
  vrijdag 26 april 2013 @ 10:34:21 #77
118585 Crutch
Filantroop || Taalzwengel
pi_125751484
quote:
5s.gif Op donderdag 25 april 2013 18:35 schreef Tijn het volgende:

[..]

Zoiets als een IQ-test?
Het was reeksen, vormen en inzicht.
Je moeder is een hamster
  vrijdag 26 april 2013 @ 11:00:24 #78
91039 mstx
2x1/2 = 1/2 x 1/2
pi_125752408
quote:
0s.gif Op donderdag 25 april 2013 18:19 schreef xaban06 het volgende:
Ik wil weten of een bepaald woord/string voorkomt in een string.

Dit doe ik met preg_match, maar werken wil het niet.
[ code verwijderd ]

Ik krijg een false terug terwijl het er echt in voorkomt.
http://nl1.php.net/strpos
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  woensdag 1 mei 2013 @ 11:14:48 #79
37634 wobbel
Da WoBBeL King
pi_125935906
Iets wat ik mij al heel lang afvraag, kan dit in MySQL?

SELECT * FROM gebruikers WHERE id = [hier meerdere ID's aanleveren]

En dan met een foreach alle e-mailadressen van de opgegeven ID's uitlezen? Nu doe ik gewoon een loopje met alle ID's erin waardoor ik dus voor elk ID een aparte SELECT query heb :+
pi_125936373
Je bedoelt IN?
  woensdag 1 mei 2013 @ 11:49:32 #81
37634 wobbel
Da WoBBeL King
pi_125936853
quote:
14s.gif Op woensdag 1 mei 2013 11:31 schreef KomtTijd... het volgende:
Je bedoelt IN?
*O* eens testen bedankt
  woensdag 1 mei 2013 @ 12:42:35 #82
12221 Tijn
Powered by MS Paint
pi_125938141
IN + implode()
pi_125938373
implode() werkt niet, dan maakt'ie er één string van ipv losse parameters als je hem prepared.
  woensdag 1 mei 2013 @ 13:00:08 #84
12221 Tijn
Powered by MS Paint
pi_125938526
quote:
14s.gif Op woensdag 1 mei 2013 12:52 schreef KomtTijd... het volgende:
implode() werkt niet, dan maakt'ie er één string van ipv losse parameters als je hem prepared.
Ah natuurlijk, je hebt gelijk.
  woensdag 1 mei 2013 @ 13:34:21 #85
37634 wobbel
Da WoBBeL King
pi_125939461
quote:
14s.gif Op woensdag 1 mei 2013 12:52 schreef KomtTijd... het volgende:
implode() werkt niet, dan maakt'ie er één string van ipv losse parameters als je hem prepared.
Hoe doe ik het dan als ik een array met ID's heb? Rechtstreeks die array erin knallen zal niet zo goed gaan :+
Dit werkt toch:

implode("','", $array)
pi_125940534
gewoon die array pushen naar je array met parameters.
pi_125943811
ook een goeie tip als je meerdere inserts wilt doen in 1 statement, kwam ik laatst achter:
INSERT INTO table (col1, col2) VALUES (1, 'abc'), (2, 'def')
  dinsdag 7 mei 2013 @ 09:55:08 #88
137776 boem-dikkie
Jedi Mind Baby!
pi_126162871
Iemand hier ervaring met MAMP?

Gister de boel zo opgezet dat ik via OSX gewoon een localhost draai en ik MAMP niet meer hoef te gebruiken. Was in de veronderstelling dat ik daarnaast MAMP gewoon kon draaien om nog even een back-up te maken van alle databases in m'n phpMyAdmin. Alleen sinds de installatie van mySQL en PHP e.d. op OSX starten de servers van MAMP niet meer op, en kan ik dus niet bij phpMyAdmin van MAMP komen. Via terminal naar de MAMP mySQL folder gaan en via ./mysqldump een database dump maken werkt ook niet.

Enig idee hoe ik een back-upje van mijn MAMP databases krijg?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  dinsdag 7 mei 2013 @ 10:49:56 #89
118585 Crutch
Filantroop || Taalzwengel
pi_126164508
Localhost even uitzetten, MAMP draaien, database backuppen?
Je moeder is een hamster
  dinsdag 7 mei 2013 @ 13:20:11 #90
137776 boem-dikkie
Jedi Mind Baby!
pi_126169478
Heb 't al voor elkaar. 'Data' uit de mySQL map van MAMP gehaald en in die in de nieuwe mySQL map gezet.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_126170568
Gaat dat zomaar? Voor zover ik weet is dat iig voor InnoDB tables geen optie.
pi_126257351
SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Edit: nevermind, 10 seconden nadat ik postte is het opgelost. Ik dacht dat ik bestanden in de mappen had staan, maar dat was op een andere server. Verder was het een kwestie van de file permissions aanpassen in de ftp client :)

[ Bericht 20% gewijzigd door kutkloon7 op 09-05-2013 12:48:10 ]
pi_126258430
Toch een probleem, ik wil bestanden uploaden, die ik dan verplaats met move_uploaded_file(). Maar de 'safe mode' staat aan op de server die ik gebruik, waardoor alleen scripts die de map hebben aangemaakt er ook echt iets naar kunnen uploaded (als ik het goed begrijp). Hoe zou je dit kunnen oplossen? Ik heb al gegoogeld, maar ik kon niets nuttigs vinden, alleen suggesties die zeggen dat je safe mode uit moet zetten, wat ik natuurlijk niet kan.
pi_126258578
quote:
2s.gif Op donderdag 9 mei 2013 13:12 schreef kutkloon7 het volgende:
, alleen suggesties die zeggen dat je safe mode uit moet zetten, wat ik natuurlijk niet kan.
Andere provider nemen.
pi_126259348
quote:
14s.gif Op donderdag 9 mei 2013 13:16 schreef KomtTijd... het volgende:

[..]

Andere provider nemen.
Werkt, voor zover getest, perfect nu :)
pi_126268102
Ik wil een aantal Javascript arrays opslaan die horen bij een JS code op een bepaalde pagina, zeg pagina: "home". Vervolgens wil ik een andere pagina kunnen bezoeken en weer terug kunnen keren naar de pagina "home" met dezelfde JS arrays als ik had.

Nu dacht ik zelf aan het opslaan van de arrays in een PHP sessie variabele, maar dan zou ik de sessie variabele continue moeten updaten via HTTP. Het aantal handelingen op de pagina "home" (met de JS arrays) is vrij groot, dus het liefst wil ik de JS arrays lokaal opslaan of 1 maal bij het verlaten van de pagina.

Is er een manier om vast te kunnen stellen wanneer je een pagina verlaat, zodat ik dan de arrays zou kunnen opslaan in de sessie?

Mijn excuses als dit eigenlijk in het JS-topic had gemoeten. :@
  donderdag 9 mei 2013 @ 17:22:29 #97
91039 mstx
2x1/2 = 1/2 x 1/2
pi_126268571
Als de totale hoeveelheid data niet zo groot is zou het in een cookie kunnen. Anders idd bij elke wijziging via ajax in een sessie variabele, daar zie ik verder het probleem niet zo van.

En anders misschien nog via de html5 local storage? Zelf geen ervaring mee en ik weet ook niet welke browsers dat precies ondersteunen.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_126269459
quote:
7s.gif Op donderdag 9 mei 2013 17:22 schreef mstx het volgende:
Als de totale hoeveelheid data niet zo groot is zou het in een cookie kunnen. Anders idd bij elke wijziging via ajax in een sessie variabele, daar zie ik verder het probleem niet zo van.

En anders misschien nog via de html5 local storage? Zelf geen ervaring mee en ik weet ook niet welke browsers dat precies ondersteunen.
Een cookie had ik nog niet aan gedacht. :D

Momenteel heb ik al bij iedere bewerking een Ajax-request. Misschien valt er iets te combineren, zodat het allemaal in 1 request kan. Ik zal daar eens naar kijken.

Wat je als laatste noemt ken ik niet. Maar het liefst wil ik wel iets wat niet browser-afhankelijk is, want sommige mensen... :P
  donderdag 9 mei 2013 @ 19:19:49 #99
12221 Tijn
Powered by MS Paint
pi_126273173
Waarom niet localStorage?

[edit] Ah, was al genoemd zie ik. LocalStorage werkt in elke enigszins moderne browser, zelfs IE8.
  donderdag 9 mei 2013 @ 19:34:27 #100
319705 pascal08
dr. prof.
pi_126273888
quote:
5s.gif Op donderdag 9 mei 2013 19:19 schreef Tijn het volgende:
Waarom niet localStorage?

[edit] Ah, was al genoemd zie ik. LocalStorage werkt in elke enigszins moderne browser, zelfs IE8.
Ook op mobile devices?
  donderdag 9 mei 2013 @ 19:54:36 #101
12221 Tijn
Powered by MS Paint
pi_126275159
quote:
0s.gif Op donderdag 9 mei 2013 19:34 schreef pascal08 het volgende:

[..]

Ook op mobile devices?
Ja hoor.

http://caniuse.com/#feat=namevalue-storage
  donderdag 9 mei 2013 @ 19:57:31 #102
319705 pascal08
dr. prof.
pi_126275321
quote:
Ik had 't zelf ook al opgezocht. :@ Bedankt weer voor de goede tip, hier had ik waarschijnlijk niet zelf opgekomen. :D
  donderdag 9 mei 2013 @ 20:00:01 #103
12221 Tijn
Powered by MS Paint
pi_126275427
Grootste voordeel van localStorage is dat het niet bij elke request heen en weer van client naar server wordt gestuurd. En natuurlijk het feit dat je er meer dan 4 KB in op kunt slaan.
  donderdag 9 mei 2013 @ 20:08:21 #104
319705 pascal08
dr. prof.
pi_126275881
quote:
14s.gif Op donderdag 9 mei 2013 20:00 schreef Tijn het volgende:
Grootste voordeel van localStorage is dat het niet bij elke request heen en weer van client naar server wordt gestuurd. En natuurlijk het feit dat je er meer dan 4 KB in op kunt slaan.
Ja, dat scheelt echt inderdaad. Zoiets wil je natuurlijk het liefst client-sided houden, dus dan is dit de perfect oplossing waarschijnlijk. :)
pi_126315670
Ik heb een lijst met een aantal cijfers uit een database. Stukje ervan:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
100
45
95
40
120
12
12
10
50
1060
72
30
10
760
441
108
48
90
30
10

Script wat ik nu heb:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$con=mysqli_connect("tralal","tralal","tralalal","tralala");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$result = mysqli_query($con,"SELECT * FROM shop_transactions
WHERE ItemID='264'");

while($row = mysqli_fetch_array($result))
  {
  $prijs = $row['Price'];
  echo $prijs;
  echo "</br>";
  }

?> 

Hoe reken ik met een simpel script het gemiddelde van al deze getallen uit? Dank
  vrijdag 10 mei 2013 @ 19:17:26 #106
178193 Juicyhil
Bekende FOK!ker
pi_126315747
SELECT AVG(Price) FROM shop_transactions
WHERE ItemID='264'
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_126315933
quote:
0s.gif Op vrijdag 10 mei 2013 19:17 schreef Juicyhil het volgende:
SELECT AVG(Price) FROM shop_transactions
WHERE ItemID='264'
1
2
3
4
5
6
7
$result = mysqli_query($con,"SELECT AVG(Price) FROM shop_transactions WHERE ItemID='264'");

while($row = mysqli_fetch_array($result))
  {
  echo $row;
  echo "</br>";
  }

Ben nog niet erg bekend met php, uitkomst van het script is ''array'' , wat doe ik fout?
  vrijdag 10 mei 2013 @ 19:22:03 #108
178193 Juicyhil
Bekende FOK!ker
pi_126315960
quote:
0s.gif Op vrijdag 10 mei 2013 19:21 schreef Berend. het volgende:

[..]
[ code verwijderd ]

Ben nog niet erg bekend met php, uitkomst van het script is ''array'' , wat doe ik fout?
Maak er eens AVG(Price) As prijs FROM... van.
En $row['prijs']
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_126316171
quote:
0s.gif Op vrijdag 10 mei 2013 19:22 schreef Juicyhil het volgende:

[..]

Maak er eens AVG(Price) As prijs FROM... van.
En $row['prijs']
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www/diamond/index.php on line 11

1
2
3
4
5
6
7
8
9
$result = mysqli_query($con,"SELECT AVG price FROM shop_transactions WHERE ItemID='264'");

while($row = mysqli_fetch_array($result))
  {
  echo $row['$price'];
  echo "</br>";
  }

?> 

Lijn 11 is hier lijn 3.
  vrijdag 10 mei 2013 @ 19:28:04 #110
178193 Juicyhil
Bekende FOK!ker
pi_126316241
Ja ik bedoel ook:

SELECT AVG(Price) AS prijs FROM shop_transactions WHERE ItemID='264'
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_126316457
quote:
0s.gif Op vrijdag 10 mei 2013 19:28 schreef Juicyhil het volgende:
SELECT AVG(Price) AS prijs FROM shop_transactions WHERE ItemID='264'
Dat werkt, erg bedankt. Ik moet zeggen dat ik had verwacht dat het bedrag lager zou zijn, maargoed.

Nu staan er nog veel komma's achter, hoe fix ik dat? ;)

39.80050089413238
  vrijdag 10 mei 2013 @ 19:34:50 #113
178193 Juicyhil
Bekende FOK!ker
pi_126316611
quote:
0s.gif Op vrijdag 10 mei 2013 19:32 schreef Berend. het volgende:

[..]

Dat werkt, erg bedankt. Ik moet zeggen dat ik had verwacht dat het bedrag lager zou zijn, maargoed.

Nu staan er nog veel komma's achter, hoe fix ik dat? ;)

39.80050089413238
floor() omlaag afronden of ceil() omhoog afronden
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_126316817
quote:
0s.gif Op vrijdag 10 mei 2013 19:34 schreef Juicyhil het volgende:

[..]

floor() omlaag afronden of ceil() omhoog afronden
Werkt top, thanks!
pi_126327664
Nu wil ik nog toevoegen dat die alleen de resultaten pakt van de afgelopen 7/8 dagen.

Na wat google'en dit gevonden:

1SELECT * FROM table WHERE column1 > SUBDATE(NOW(), INTERVAL 8 DAY) AND DAYOFWEEK(column1) >= 1;

Wat geprobeerd, maar dit werkt niet:

1$result = mysqli_query($con,"SELECT AVG(Price) AS prijs FROM shop_transactions WHERE ItemID='264' AND Quantity='1' > SUBDATE(NOW(), INTERVAL 8 DAY) AND DAYOFWEEK(column1) >= 1;");

Misschien heeft het hiermee te maken?

quote:
$result = mysqli_query($con,"SELECT AVG(Price) AS prijs FROM shop_transactions WHERE ItemID='264' AND Quantity='1' > SUBDATE(NOW(), INTERVAL 8 DAY) AND DAYOFWEEK(column1) >= 1;");
(Zie laatste regel in tekst, de ; Na weghalen werkt het script nog steeds niet.)

Alvast bedankt!
pi_126327866
1 AND Quantity='1' > SUBDATE(NOW()

lijkt me een duidelijke syntax fout, daar moet je 100% zeker een error over krijgen.
pi_126328061
quote:
14s.gif Op vrijdag 10 mei 2013 22:51 schreef KomtTijd... het volgende:

[ code verwijderd ]

lijkt me een duidelijke syntax fout, daar moet je 100% zeker een error over krijgen.
1
2
3
<?php
$result 
mysqli_query($con,"SELECT AVG(Price) AS prijs FROM shop_transactions WHERE ItemID='264' AND Quantity='1' > SUBDATE(NOW), INTERVAL 8 DAY) AND DAYOFWEEK(Price) >= 1;");
?>

Werkt nog steeds niet. Error: Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www/diamond/index2.php on line 23

Bedankt voor je reactie.
pi_126328161
Ja dat is begrijpelijk, als je SQL niet klopt geeft mysqli_query (blijkbaar) false terug. Wat is je SQL error?
pi_126328325
quote:
14s.gif Op vrijdag 10 mei 2013 22:56 schreef KomtTijd... het volgende:
Ja dat is begrijpelijk, als je SQL niet klopt geeft mysqli_query (blijkbaar) false terug. Wat is je SQL error?
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '), INTERVAL 8 DAY) AND DAYOFWEEK(Price) >= 1' at line 1
pi_126328491
...oh je hebt er nu een syntaxfout bij gemaakt door het openingshaakje van NOW() weg te halen...

mysql errors beginnen altijd bij het karakter waar de fout zit.
pi_126328741
quote:
14s.gif Op vrijdag 10 mei 2013 23:01 schreef KomtTijd... het volgende:
...oh je hebt er nu een syntaxfout bij gemaakt door het openingshaakje van NOW() weg te halen...

mysql errors beginnen altijd bij het karakter waar de fout zit.
1
2
3
<?php
$result 
mysqli_query($con,"SELECT AVG(Price) AS prijs FROM shop_transactions WHERE ItemID='264' AND Quantity='1' > SUBDATENOW(), INTERVAL 8 DAY) AND DAYOFWEEK(Price) >= 1;");
?>

1
2
3
<?php
$result 
mysqli_query($con,"SELECT AVG(Price) AS prijs FROM shop_transactions WHERE ItemID='264' AND Quantity='1' > SUBDATE NOW(), INTERVAL 8 DAY) AND DAYOFWEEK(Price) >= 1;");
?>


Dit en dit werkt ook nog niet. Ik voel me een beetje stom na zo vaak proberen. ;)
pi_126328865
Wat zit je dan ook allemaal te veranderen? Kijk naar de error die je krijgt. Daar zit je fout. Niet ergens anders.
pi_126329207
quote:
5s.gif Op vrijdag 10 mei 2013 23:06 schreef KomtTijd... het volgende:
Wat zit je dan ook allemaal te veranderen? Kijk naar de error die je krijgt. Daar zit je fout. Niet ergens anders.
1
2
3
<?php
SELECT AVG
(Price) AS prijs FROM shop_transactions WHERE ItemID='264' AND Quantity='1' SUBDATE(NOW), INTERVAL 8 DAY() AND DAYOFWEEK(Price) >= 1
?>

Werkt ook nog niet.
pi_126329424
Hè? Wat ben je nou in hemelsnaam aan het doen? KIJK NAAR JE ERROR!

er staat:
quote:
check the manual that corresponds to your MySQL server version for the right syntax to use near '[stukje query]'
De plek waar dat [stukje query] begint, dáár zit je fout! Het eerste karakter! Niet ergens anders!

Los die fout op, run hem opnieuw, kijk of hij goed is. Zo niet herhalen vanaf stap 1.

Debuggen is geen kwestie van random haakjes weghalen of toevoegen.
pi_126329512
Als je nou om te beginnen je query verbeterd:
1SELECT AVG(Price) AS prijs FROM shop_transactions WHERE ItemID='264' AND Quantity='1' AND datumkolom > SUBDATE(NOW(), INTERVAL 8 DAY) AND DAYOFWEEK(datumkolom) >= 1
LET OP: je moet hierin datumkolom nog wel even vervangen voor de naam van de kolom in je tabel waarin de datum staat!
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  vrijdag 10 mei 2013 @ 23:19:07 #126
12221 Tijn
Powered by MS Paint
pi_126329649
1
2
3
4
5
"SELECT AVG(Price) AS prijs 
FROM shop_transactions 
WHERE ItemID='264' 
AND Quantity='1' > SUBDATE NOW(), INTERVAL 8 DAY) 
AND DAYOFWEEK(Price) >= 1;"

Regel 4 klopt natuurlijk van geen kant. Het feit dat de regel eindigt met een haakje dat nergens geopend wordt is nog maar het begin van het probleem.
pi_126329658
quote:
0s.gif Op vrijdag 10 mei 2013 23:16 schreef Rockfire het volgende:
SELECT AVG(Price) AS prijs FROM shop_transactions WHERE ItemID='264' AND Quantity='1' AND datumkolom > SUBDATE(NOW(), INTERVAL 8 DAY) AND DAYOFWEEK(datumkolom) >= 1
Dankjewel, nu werkt die perfect. Ik moet zelf nog veel van syntaxes leren. :)
pi_126329675
quote:
0s.gif Op vrijdag 10 mei 2013 23:19 schreef Berend. het volgende:

[..]

Dankjewel, nu werkt die perfect. Ik moet zelf nog veel van syntaxes leren. :)
Je moet leren debuggen. Niet leren copy-pasten.
pi_126331276
quote:
0s.gif Op vrijdag 10 mei 2013 23:19 schreef Berend. het volgende:

[..]

Dankjewel, nu werkt die perfect. Ik moet zelf nog veel van syntaxes leren. :)
Wat KomtTijd zegt is wel waar:
quote:
14s.gif Op vrijdag 10 mei 2013 23:19 schreef KomtTijd... het volgende:

[..]

Je moet leren debuggen. Niet leren copy-pasten.
Heb je op zijn minst gekeken naar het verschil tussen jouw query en die van mij? Zodat je ook begrijpt wat je fout deed?
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_126331418
quote:
1s.gif Op vrijdag 10 mei 2013 23:46 schreef Rockfire het volgende:

[..]

Wat KomtTijd zegt is wel waar:

[..]

Heb je op zijn minst gekeken naar het verschil tussen jouw query en die van mij? Zodat je ook begrijpt wat je fout deed?
Ja, elk haakje dat geopend wordt moet ook gesloten worden. Right?
pi_126331511
quote:
0s.gif Op vrijdag 10 mei 2013 23:49 schreef Berend. het volgende:

[..]

Ja, elk haakje dat geopend wordt moet ook gesloten worden. Right?
Doe nou die originele query nog eens runnen. En KIJK NAAR DE ERROR.

Staat daar een haakje in de buurt?
  vrijdag 10 mei 2013 @ 23:55:08 #132
12221 Tijn
Powered by MS Paint
pi_126331773
quote:
0s.gif Op vrijdag 10 mei 2013 23:49 schreef Berend. het volgende:

[..]

Ja, elk haakje dat geopend wordt moet ook gesloten worden. Right?
Ja, dat. Maar kijk ook hier eens naar:

1Quantity='1' > SUBDATENOW()

Ik begrijp niet wat hier staat en MySQL ook niet :P
pi_126332337
quote:
2s.gif Op vrijdag 10 mei 2013 23:55 schreef Tijn het volgende:

[..]

Ja, dat. Maar kijk ook hier eens naar:
[ code verwijderd ]

Ik begrijp niet wat hier staat en MySQL ook niet :P
Origineel was dat ook de enige fout, voordat hij random haakjes begon weg te halen en toe te voegen.
  zaterdag 11 mei 2013 @ 07:38:45 #134
166255 Maringo
Bèhèhèhèh
pi_126337910
Interessant vraagstuk. Nog interessantere uitkomst. ;)
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
  † In Memoriam † zaterdag 11 mei 2013 @ 08:23:56 #135
159335 Boze_Appel
Vrij Fruit
pi_126338085
En wat is item 264.
Carpe Libertatem
pi_126338580
quote:
0s.gif Op vrijdag 10 mei 2013 23:49 schreef Berend. het volgende:

[..]

Ja, elk haakje dat geopend wordt moet ook gesloten worden. Right?
Kijk nou eens goed! Er is wel wat meer verschil dan alleen maar haakjes die je niet goed had gedaan:

Jouw query:
quote:
SELECT AVG(Price) AS prijs
FROM shop_transactions
WHERE ItemID='264'
AND Quantity='1' > SUBDATE(NOW), INTERVAL 8 DAY()
AND DAYOFWEEK(Price) >= 1
Mijn query (met de verschillen dikgedrukt en onderstreept):
quote:
SELECT AVG(Price) AS prijs
FROM shop_transactions
WHERE ItemID='264'
AND Quantity='1'
AND datumkolom
> SUBDATE(NOW(), INTERVAL 8 DAY)
AND DAYOFWEEK(datumkolom) >= 1
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  zaterdag 11 mei 2013 @ 11:59:06 #137
137776 boem-dikkie
Jedi Mind Baby!
pi_126341410
Nog een vraagje over m'n localhost.

Sinds ik MAMP heb weggehaald en de standaard OSX localhost gebruikt werkt mijn .htaccess rewrite niet meer.

De .htaccess pakt hij zelf wel want mijn 404 werkt wel naar behoren.

1RewriteRule project/(.*) project.php?id=$1

Bovenstaande code werkte met MAMP wel. Als ik naar project.php?id=23 of zo ga werkt het wel, dus er gaat iets fout in die rewrite.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  zaterdag 11 mei 2013 @ 12:19:42 #138
178193 Juicyhil
Bekende FOK!ker
pi_126342007
Staat mod_rewrite wel aan? Volgens mij kan je a2enmod mod_rewrite gebruiken op je terminal
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_126342367
is die OSX webserver uberhaupt een apache server?
  zaterdag 11 mei 2013 @ 12:45:02 #140
137776 boem-dikkie
Jedi Mind Baby!
pi_126342878
Heb ik geïnstalleerd KomtTijd. mySQL / phpMyAdmin werkt netjes en al mijn projecten e.d. werken ook naar behoren. Alleen .htaccess loopt te kutten.

En ja mod_rewrite staat wel aan. Alle confs ook nagelopen op Override e.d.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_126342945
Ik bedoelde, als het een ander merk webserver is gaat een htaccess bestand natuurlijk sowieso niet werken.
Maar heb het gegoogled en het is inderdaad gewoon Apache.
  zaterdag 11 mei 2013 @ 12:57:13 #142
134783 papernote
Een echte.
pi_126343271
Heb je alleen die RewriteRule erin staan? Je moet ook nog een RewriteEngine on opnemen en eventueel een RewriteBase.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  zaterdag 11 mei 2013 @ 13:12:30 #143
137776 boem-dikkie
Jedi Mind Baby!
pi_126343835
Ja had ik.

En ik heb de fout gevonden. Ik had ook nog een persoonlijke .conf in /apache2/users staan. Blijkbaar zat daar een typfout of iets dergelijks in. Heb hem opnieuw getypt en nu werkt het.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  zaterdag 11 mei 2013 @ 14:28:50 #144
134783 papernote
Een echte.
pi_126346915
Als er fouten in een .conf bestand zitten, dan moet je dat terug kunnen vinden in een log van apache.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  zaterdag 11 mei 2013 @ 14:31:46 #145
178193 Juicyhil
Bekende FOK!ker
pi_126347045
quote:
7s.gif Op zaterdag 11 mei 2013 13:12 schreef boem-dikkie het volgende:
Ja had ik.

En ik heb de fout gevonden. Ik had ook nog een persoonlijke .conf in /apache2/users staan. Blijkbaar zat daar een typfout of iets dergelijks in. Heb hem opnieuw getypt en nu werkt het.
http://httpd.apache.org/docs/2.2/programs/apachectl.html

sudo apachectl configtest
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_126374548
Ik ben bezig met een project wat ongeveer hetzelfde is als pricewatch/beslist/vergelijk. Dus van een artikel/product prijzen kunnen inzien van meerdere shops.

Is de volgende logisch om te doen als database structuur:
products
- id
- ean
- title
- image

prices
- id
- ean
- shop
- url
- price

Alle producten worden opgeslagen in products.
Alle prijzen van verschillende shops worden opgeslagen in prices.
  zondag 12 mei 2013 @ 02:06:52 #147
12221 Tijn
Powered by MS Paint
pi_126374641
En in de kolom "shop" in de tabel "prices" sla je dan id's op van winkels die in je tabel "shops" staan?
pi_126375038
quote:
5s.gif Op zondag 12 mei 2013 02:06 schreef Tijn het volgende:
En in de kolom "shop" in de tabel "prices" sla je dan id's op van winkels die in je tabel "shops" staan?
Hmm, ik heb inderdaad geen tabel shops, maar is dat wel nodig?

Een voorbeeld is:
products:
- id (auto incr), dus bv: 1
- 0846835032
- samsung tv
- samsung.jpg

prices:
- id (auto incr), dus bv 3
- 0846835032
- BCC
- http://www.bcc.nl/samsung-tv.html
- 599,00

- id (auto incr), dus bv 4
- 0846835032
- Alternate
- http://www.alternate.nl/samsung-tv.html
- 549,00
  zondag 12 mei 2013 @ 03:06:59 #149
12221 Tijn
Powered by MS Paint
pi_126375429
Alles kan natuurlijk, maar het lijkt me dat je de winkels wel een eigen tabel wil geven. Een paar redenen:

- je voorkomt fouten
- het neemt minder ruimte in beslag
- het maakt het mogelijk een overzicht per winkel te maken
- het maakt het mogelijk winkels een eigen account te geven en ze hun eigen prijzen te laten beheren
  zondag 12 mei 2013 @ 09:24:22 #150
166255 Maringo
Bèhèhèhèh
pi_126376516
Lijkt mij dat je winkels niet elk een eigen tabel geeft maar met ids werkt en dat je met views regelt wie wat mag zien.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_126376949
quote:
0s.gif Op zondag 12 mei 2013 09:24 schreef Maringo het volgende:
Lijkt mij dat je winkels niet elk een eigen tabel geeft maar met ids werkt en dat je met views regelt wie wat mag zien.
Je moet drie tabellen hebben:

Product
ID, EAN, Title, Image, Description, (en wat je nog meer wilt)

Shop
ID, Name, Address, Description (...)

ProductPrice (ProductID & ShopID zijn een samengesteld primary key)
ProductID
ShopID
Price

Je kan product price nog uitbreiden met datum (dit moet dan ook in de samengesteld sleutel worden opgenomen), zodat je per product, per winkel de prijs verschuiving over tijd kunt volgen.
  zondag 12 mei 2013 @ 10:03:06 #152
166255 Maringo
Bèhèhèhèh
pi_126377072
quote:
0s.gif Op zondag 12 mei 2013 09:55 schreef Pakspul het volgende:

[..]

Je moet drie tabellen hebben:

Product
ID, EAN, Title, Image, Description, (en wat je nog meer wilt)

Shop
ID, Name, Address, Description (...)

ProductPrice (ProductID & ShopID zijn een samengesteld primary key)
ProductID
ShopID
Price

Je kan product price nog uitbreiden met datum (dit moet dan ook in de samengesteld sleutel worden opgenomen), zodat je per product, per winkel de prijs verschuiving over tijd kunt volgen.
Dit inderdaad. Volgens mij had ik Tijn zn bericht ook verkeerd begrepen.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_126394234
Ik zit te kijken naar een boek voor PHP en MySQL, en ik kwam Head First! PHP and MySQL tegen. Is dat een beetje een goed boek?
Op vrijdag 22 juli 2011 00:30 schreef yvonne het volgende:
Ja DE Ik houd nog heel veel van je
pi_126409212
quote:
17s.gif Op zondag 12 mei 2013 17:49 schreef DutchErrorist het volgende:
Ik zit te kijken naar een boek voor PHP en MySQL, en ik kwam Head First! PHP and MySQL tegen. Is dat een beetje een goed boek?
Ik ken Head First alleen van Design Patterns, maar de stijl sprak me wel erg aan. En ze weten ook nog eens waar ze het over hebben.
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
pi_126419478
Vraagje, hoe kan ik middels PHP uitlezen wat ik maximaal mag gebruiken aan geheugen?
Verder zou ik willen weten hoe mensen flush icm chrome werkend krijgen, dus directe output of het nou 1 teken is of 20000?
Just say hi!
pi_126419540
quote:
14s.gif Op maandag 13 mei 2013 09:10 schreef Chandler het volgende:
Vraagje, hoe kan ik middels PHP uitlezen wat ik maximaal mag gebruiken aan geheugen?
1ini_get("memory_limit");
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  maandag 13 mei 2013 @ 09:16:34 #157
137776 boem-dikkie
Jedi Mind Baby!
pi_126419579
quote:
17s.gif Op zondag 12 mei 2013 17:49 schreef DutchErrorist het volgende:
Ik zit te kijken naar een boek voor PHP en MySQL, en ik kwam Head First! PHP and MySQL tegen. Is dat een beetje een goed boek?
Kwam dit laatst tegen. Uitleg en dergelijke over het 'boek' leek me best goed!

http://www.brandonsavage.(...)-for-php-developers/
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_126419598
quote:
0s.gif Op maandag 13 mei 2013 09:13 schreef Rockfire het volgende:

[..]
[ code verwijderd ]

Stom, had ik zelf ook kunnen bedenken! :) maar verder nog mensen een idee op mijn flush probleem? of moet ik nou specifiek daarvoor een andere browser gaan gebruiken? :+
Just say hi!
  maandag 13 mei 2013 @ 11:09:12 #159
118585 Crutch
Filantroop || Taalzwengel
pi_126422251
quote:
17s.gif Op zondag 12 mei 2013 17:49 schreef DutchErrorist het volgende:
Ik zit te kijken naar een boek voor PHP en MySQL, en ik kwam Head First! PHP and MySQL tegen. Is dat een beetje een goed boek?
Wat ik weet van Head First is dat het prettig leest (bij Java zelfs erg grappig om te lezen) en dat je er daadwerkelijk wat van opsteekt.

Maar je kan ook gewoon eerst een PDF-versie ervan Googlen en voor jezelf kijken wat je ervan vindt.
Je moeder is een hamster
  maandag 13 mei 2013 @ 11:09:28 #160
134783 papernote
Een echte.
pi_126422261
quote:
0s.gif Op maandag 13 mei 2013 09:17 schreef Chandler het volgende:

[..]

Stom, had ik zelf ook kunnen bedenken! :) maar verder nog mensen een idee op mijn flush probleem? of moet ik nou specifiek daarvoor een andere browser gaan gebruiken? :+
http://stackoverflow.com/(...)ot-working-in-chrome
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126423062
Is helaas ook geen oplossing, zat zelf te denken of ik de minimale buffer van chrome kan aanpassen van bv 4096 naar 1024 oid? want na 2500 regels zie ik zowat iedere regel komen... en niet 10-20 te gelijk....
Just say hi!
  maandag 13 mei 2013 @ 11:38:54 #162
343369 Laser.
Love Always Shines
pi_126423213
Toch even wat hulp nodig met iets. :)

Ik heb een mysql tabel waar datums in een veld met de functie NOW() zijn ingevuld.
Voorheen las ik dit altijd rechtstreeks uit de database, maar nu wil ik het netter hebben staan. En ook in het NL.

Na wat puzzelen heb ik momenteel dit:

1
2
3
4
setlocale(LC_TIME, 'NL_nl'); 
setlocale(LC_ALL, 'nl_NL'); 

print date("%e-%B-%Y", strftime($row['log']));

Dan krijg ik als output: %Europe/Amsterdam-%064-%1970

Dus dat gaat niet goed. :') Het moet worden: dag-maand-jaar.
  maandag 13 mei 2013 @ 11:45:31 #163
134783 papernote
Een echte.
pi_126423438
Roep je ook date_default_timezone_set() aan?

En heb je überhaupt de documentatie van de date() functie gelezen?
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  maandag 13 mei 2013 @ 11:53:16 #164
91039 mstx
2x1/2 = 1/2 x 1/2
pi_126423677
1print strftime("%e-%B-%Y", strtotime($row['log']));
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  maandag 13 mei 2013 @ 11:56:20 #165
343369 Laser.
Love Always Shines
pi_126423804
Thanks! :)

Ik had date_default_timezone_set niet aangeroepen. Staat nu op Amsterdam. En date() was inderdaad niet nodig om te gebruiken!
  maandag 13 mei 2013 @ 14:26:13 #166
25889 Sitethief
Fulltime Flapdrol
pi_126428659
Wat is eigenlijk beter, of maakt het niks uit?
Dit:
1
2
3
4
5
6
7
8
9
10
11
<?php
if($productArray){
            foreach(
$productArray as $k=>$v){
                
$p $k;
                if(
$getProductData){
                    
$p $this->getProduct($k);
                }
                
$retArr[$v] = $p;
            }
        }   
?>
Of dit:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
if($productArray){
            foreach(
$productArray as $k=>$v){
                if(
$getProductData){
                    
$retArr[$v] = $this->getProduct($k);
                }else{
                    
$retArr[$v] = $k;
                }
                
            }
        }
?>
Ik vraag me af of die else nou echt zoveel vertraagt, ik vind het gewoon lelijk staan om standaard $k in $p te zetten in dit geval.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 13 mei 2013 @ 14:32:22 #167
91039 mstx
2x1/2 = 1/2 x 1/2
pi_126428856
1
2
3
4
5
6
7
<?php
 
if($productArray){
    foreach(
$productArray as $k=>$v){
        
$retArr[$v] = $getProductData?$this->getProduct($k):$k;
    }
}
?>

Als je tussen je eigen 2 opties moet kiezen vind ik de 2e veel duidelijker.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  maandag 13 mei 2013 @ 14:42:53 #168
134783 papernote
Een echte.
pi_126429234
quote:
0s.gif Op maandag 13 mei 2013 14:26 schreef Sitethief het volgende:
Wat is eigenlijk beter, of maakt het niks uit?
Dit:
[ code verwijderd ]

Of dit:
[ code verwijderd ]

Ik vraag me af of die else nou echt zoveel vertraagt, ik vind het gewoon lelijk staan om standaard $k in $p te zetten in dit geval.
Vertraagt? Is dat überhaupt iets om je mee bezig te houden in een simpele if-else constructie? Meten = weten.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126429603
Ik ben voor de optie van mstx. Nog een andere optie (die ik niet mooier vind dan die van mstx):
1
2
3
4
5
6
7
8
9
10
<?php
if($productArray){
    foreach(
$productArray as $k=>$v){
        
$retArr[$v] = $k;
        if(
$getProductData){
            
$retArr[$v] = $this->getProduct($k);
        }
    }
}
?>
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  maandag 13 mei 2013 @ 14:58:02 #170
25889 Sitethief
Fulltime Flapdrol
pi_126429706
quote:
14s.gif Op maandag 13 mei 2013 14:32 schreef mstx het volgende:

[ code verwijderd ]

Als je tussen je eigen 2 opties moet kiezen vind ik de 2e veel duidelijker.
Ohjah, dies eigenlijk veel mooier, ik vergeet vaak dat er diverse shorthands zijn :D.

Ik zit de laatste tijd een beetje te kritisch naar mijn eigen programmeerstijl te kijken... En dan komen dit soort dingen ook om de hoek kijken. Eigenlijk moet ik niet zo mierenneuken.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_126429756
quote:
0s.gif Op maandag 13 mei 2013 14:58 schreef Sitethief het volgende:

[..]

Ohjah, dies eigenlijk veel mooier, ik vergeet vaak dat er diverse shorthands zijn :D.

Ik zit de laatste tijd een beetje te kritisch naar mijn eigen programmeerstijl te kijken... En dan komen dit soort dingen ook om de hoek kijken. Eigenlijk moet ik niet zo mierenneuken.
Als je er de tijd voor hebt is het helemaal niet verkeerd om kritisch naar je eigen code te kijken.
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_126429876
1
2
3
4
5
6
7
8
9
<?php
if($productArray){
     if(
$getProductData) {
        foreach(
$productArray as $k=>$v$retArr[$v] = $this->getProduct($k);
     } else {
        foreach(
$productArray as $k=>$v$retArr[$v] = $k;
     }
}
?>

zo moet hij nog sneller zijn als het goed is, maar misschien iets minder goed leesbaar/duidelijk dan #2
..///
  maandag 13 mei 2013 @ 15:03:35 #173
25889 Sitethief
Fulltime Flapdrol
pi_126429914
quote:
14s.gif Op maandag 13 mei 2013 14:59 schreef Rockfire het volgende:

[..]

Als je er de tijd voor hebt is het helemaal niet verkeerd om kritisch naar je eigen code te kijken.
Mjah das vaak het probleem hier, er zit zo'n druk achter dat alles soms een brei van veel procedurele code wordt met te weinig structuur een OOP om de codebase hanteerbaar te houden. Wat uiteindelijk tot meer werk leid als er gerefeactored moet worden etc, maar goed dat is een bekend verhaal denk ik. En daar naast heb ik OOP nog niet volledig onder de knie.

Toch vind ik het veel leuker om gestructureerde, goed leesbare, becommentarieerde code te schijven, kost alleen meer tijd.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 13 mei 2013 @ 15:32:36 #174
37634 wobbel
Da WoBBeL King
pi_126431323
Ik klop al veel te lang geen code meer, hoe selecteer ik het volgende:

tabel 'users'

ID
Naam

SELECT * FROM users WAARVAN ID = 5 EN/OF (dus mag ook allebei) Naam = henk
  maandag 13 mei 2013 @ 15:35:45 #175
91039 mstx
2x1/2 = 1/2 x 1/2
pi_126431464
quote:
0s.gif Op maandag 13 mei 2013 15:32 schreef wobbel het volgende:
EN/OF (dus mag ook allebei)
OR
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  maandag 13 mei 2013 @ 15:37:07 #176
37634 wobbel
Da WoBBeL King
pi_126431516
quote:
14s.gif Op maandag 13 mei 2013 15:35 schreef mstx het volgende:

[..]

OR
Maar dan mag het toch niet allebei? Het ene of het andere
  maandag 13 mei 2013 @ 15:37:37 #177
91039 mstx
2x1/2 = 1/2 x 1/2
pi_126431541
quote:
0s.gif Op maandag 13 mei 2013 15:37 schreef wobbel het volgende:

[..]

Maar dan mag het toch niet allebei? Het ene of het andere
Dat is XOR.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  maandag 13 mei 2013 @ 15:37:53 #178
4159 GI
Nee ik heet geen JOE
pi_126431557
quote:
0s.gif Op maandag 13 mei 2013 15:32 schreef wobbel het volgende:
Ik klop al veel te lang geen code meer, hoe selecteer ik het volgende:

tabel 'users'

ID
Naam

SELECT * FROM users WAARVAN ID = 5 EN/OF (dus mag ook allebei) Naam = henk
select * from users where ID = 5 or naam = "henk".

Dan krijg je alles met vijf, ook als het henk is :)
  maandag 13 mei 2013 @ 15:45:15 #179
134783 papernote
Een echte.
pi_126431894
quote:
0s.gif Op maandag 13 mei 2013 15:02 schreef wipes66 het volgende:

[ code verwijderd ]

zo moet hij nog sneller zijn als het goed is, maar misschien iets minder goed leesbaar/duidelijk dan #2
Kun je beargumenteren waarom het sneller zou moeten zijn?
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  maandag 13 mei 2013 @ 15:46:30 #180
134783 papernote
Een echte.
pi_126431958
quote:
3s.gif Op maandag 13 mei 2013 15:37 schreef GI het volgende:

[..]

select * from users where ID = 5 or naam = "henk".

Dan krijg je alles met vijf, ook als het henk is :)
En ook alles dat geen vijf is, maar wel henk.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126432023
quote:
5s.gif Op maandag 13 mei 2013 15:45 schreef papernote het volgende:

[..]

Kun je beargumenteren waarom het sneller zou moeten zijn?
geen if statement in de loop :P
..///
  maandag 13 mei 2013 @ 15:48:05 #182
4159 GI
Nee ik heet geen JOE
pi_126432049
quote:
2s.gif Op maandag 13 mei 2013 15:46 schreef papernote het volgende:

[..]

En ook alles dat geen vijf is, maar wel henk.
Dat wil hij toch ook ?
  maandag 13 mei 2013 @ 15:48:50 #183
134783 papernote
Een echte.
pi_126432084
quote:
0s.gif Op maandag 13 mei 2013 15:47 schreef wipes66 het volgende:

[..]

geen if statement in de loop :P
Ja dus? Branch prediction met een constante boolean, daar ga je niets van merken in de looptijd.

Het feit dat je nu tweemaal een identieke foreach hebt vind ik nadeliger qua onderhoud van je code.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  maandag 13 mei 2013 @ 15:51:47 #184
134783 papernote
Een echte.
pi_126432235
quote:
0s.gif Op maandag 13 mei 2013 15:02 schreef wipes66 het volgende:

[ code verwijderd ]

zo moet hij nog sneller zijn als het goed is, maar misschien iets minder goed leesbaar/duidelijk dan #2
Die tweede foreach kun je trouwens vervangen door een array_flip().
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126432981
quote:
2s.gif Op maandag 13 mei 2013 15:48 schreef papernote het volgende:

[..]

Ja dus? Branch prediction met een constante boolean, daar ga je niets van merken in de looptijd.

Het feit dat je nu tweemaal een identieke foreach hebt vind ik nadeliger qua onderhoud van je code.
je hebt helemaal gelijk :P ik heb het voor de grap eens getest en het is zelf iets langzamer :@

edit: iets uitgebreider getest en er is 0,0 verschil.

[ Bericht 3% gewijzigd door wipes66 op 13-05-2013 16:12:57 ]
..///
  maandag 13 mei 2013 @ 16:32:00 #186
25889 Sitethief
Fulltime Flapdrol
pi_126434384
quote:
3s.gif Op maandag 13 mei 2013 15:51 schreef papernote het volgende:

[..]

Die tweede foreach kun je trouwens vervangen door een array_flip().
Wow, nice :D.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  woensdag 15 mei 2013 @ 15:02:12 #187
12221 Tijn
Powered by MS Paint
pi_126534025
Is er een handigere manier om de mogelijke waarden van een kolom van het type "set" terug te krijgen dan het uit het resultaat van "SHOW COLUMNS FROM `table`" te peuteren?
pi_126547260
Wat is handiger? Je kan in de tabel information_schema.columns gaan purken, maar volgens mij komt het dan in het zelfde onhandelbare formaat.
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
  woensdag 15 mei 2013 @ 19:51:21 #189
12221 Tijn
Powered by MS Paint
pi_126547776
quote:
0s.gif Op woensdag 15 mei 2013 19:39 schreef rekenwonder het volgende:
Wat is handiger?
Iets waar gewoon een lijstje uitkomt ipv een gare array die ik nog moet parsen zou leuk zijn. Maar het is er niet he? ;(
pi_126550989
quote:
2s.gif Op woensdag 15 mei 2013 19:51 schreef Tijn het volgende:

[..]

Iets waar gewoon een lijstje uitkomt ipv een gare array die ik nog moet parsen zou leuk zijn. Maar het is er niet he? ;(
Een oplossing die ik wel eens gezien heb is het resultaat uit information_schema.columns te halen. Dat levert iets als enum('foo','bar','baz'). Dan in php enum vervangen door array en het geheel eval()-en. Een andere mogelijkheid zou ik zo niet weten.
pi_126562120
Hey allemaal,

Ben sinds een paar dagen met een crawler aan het spelen en heb nu een functie gemaakt die kijkt of links een volledige of juist onvolledige link heeft, indien er geen http:// in voorkomt wil ik het aanpassen, dat heb ik nu met de volgende functie gedaan, maar nu de vraag aan jullie. Wat zouden jullie anders doen?

Voorbeeld links
1
2
3
4
5
<a href="../niets.html">pagina ondieper</a>
<a href="./">zelfde diepte</a>
<a href="/">Root pagina</a>
<a href="../../../niets.html">Veel ondieper</a>
<a href="/nieuws/werkend/pagina.html">Veel diepere pagina vanaf root</a>

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php

error_reporting
(E_ALL);

function 
checkUrl($baseUrl$currentUrl$foundUrl)
{

    echo 
'Original foundUrl: ' $foundUrl '<br />';

    if (
strtolower(substr($foundUrl07)) != "http://")
    {
        
$p parse_url($foundUrl);
        if (!isset(
$p['host']))
        {
            
$path '';
            if (
strpos($foundUrl"../") > -1)
            {
                
$dotsCount 0;
                while (
strpos($foundUrl"../") > -1)
                {
                    
$foundUrl substr($foundUrl3);
                    
$dotsCount++;
                }
                
                
$p parse_url($currentUrl);
                
$dirs explode("/"$p['path']);
                
                if (
count($dirs) > 1)
                {
                    foreach (
$dirs AS $k=>$v)
                    {
                        if (
strlen($v) == 0)
                        {
                            unset(
$dirs[$k]);
                        }
                    }
                    unset(
$dirs[count($dirs)]);
                    
                    
reset($dirs);
                }
                
                if (
count($dirs) > $dotsCount)
                {
                    
                    for (
$x 0$x $dotsCount$x++)
                    {
                        unset(
$dirs[count($dirs) - $x]);
                    }
                    
$path implode("/"$dirs) . "/";
                    
// die("meer");
                
}
            }
            elseif (
strpos($foundUrl"./") > -1)
            {
                
$foundUrl substr($foundUrl2);
            }
            elseif (
substr($foundUrl01) == "/")
            {
                
$foundUrl substr($foundUrl1);
            }
            
            
$foundUrl $baseUrl $path $foundUrl;
        }
    }

    echo 
'BaseUrl: ' $baseUrl '<br />';
    echo 
'CurrentUrl: ' $currentUrl '<br />';
    echo 
'FoundUrl: ' $foundUrl '<br />';

}
$baseUrl 'http://www.yourwebsite.com/';
$currentUrl 'http://www.yourwebsite.com/blogs/archive/all.html';

checkUrl($baseUrl$currentUrl'../../../niets/test/adem.html');
echo 
'<hr>';
checkUrl($baseUrl$currentUrl'../../../../../niets.html');
echo 
'<hr>';
checkUrl($baseUrl$currentUrl'/niets.html');
echo 
'<hr>';
checkUrl($baseUrl$currentUrl'./niets.html');
echo 
'<hr>';
checkUrl($baseUrl$currentUrl'../niets.html');
echo 
'<hr>';
checkUrl($baseUrl$currentUrl'niets.html');
echo 
'<hr>';

?>

uitkomst
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
27
28
29
Original foundUrl: ../../../niets/test/adem.html
BaseUrl: http://www.yourwebsite.com/
CurrentUrl: http://www.yourwebsite.com/blogs/archive/all.html
FoundUrl: http://www.yourwebsite.com/niets/test/adem.html
----
Original foundUrl: ../../../../../niets.html
BaseUrl: http://www.yourwebsite.com/
CurrentUrl: http://www.yourwebsite.com/blogs/archive/all.html
FoundUrl: http://www.yourwebsite.com/niets.html
----
Original foundUrl: /niets.html
BaseUrl: http://www.yourwebsite.com/
CurrentUrl: http://www.yourwebsite.com/blogs/archive/all.html
FoundUrl: http://www.yourwebsite.com/niets.html
----
Original foundUrl: ./niets.html
BaseUrl: http://www.yourwebsite.com/
CurrentUrl: http://www.yourwebsite.com/blogs/archive/all.html
FoundUrl: http://www.yourwebsite.com/niets.html
----
Original foundUrl: ../niets.html
BaseUrl: http://www.yourwebsite.com/
CurrentUrl: http://www.yourwebsite.com/blogs/archive/all.html
FoundUrl: http://www.yourwebsite.com/blogs/niets.html
----
Original foundUrl: niets.html
BaseUrl: http://www.yourwebsite.com/
CurrentUrl: http://www.yourwebsite.com/blogs/archive/all.html
FoundUrl: http://www.yourwebsite.com/niets.html
Ik hoor graag wat jullie er van vinden...
Just say hi!
  donderdag 16 mei 2013 @ 09:31:21 #192
187069 slacker_nl
Sicko pur sang
pi_126571042
quote:
5s.gif Op woensdag 15 mei 2013 23:30 schreef Chandler het volgende:
Hey allemaal,

Ben sinds een paar dagen met een crawler aan het spelen en heb nu een functie gemaakt die kijkt of links een volledige of juist onvolledige link heeft, indien er geen http:// in voorkomt wil ik het aanpassen, dat heb ik nu met de volgende functie gedaan, maar nu de vraag aan jullie. Wat zouden jullie anders doen?

Voorbeeld links
[ code verwijderd ]

[ code verwijderd ]

uitkomst
[ code verwijderd ]

Ik hoor graag wat jullie er van vinden...

Heb je iets van basename, dirname functies in php, dat gebruiken, scheelt je een hoop gezeik volgens mij. Je hebt ook een realpath functie. Ik zou die eens gebruiken.
In theory there is no difference between theory and practice. In practice there is.
  donderdag 16 mei 2013 @ 09:33:36 #193
91039 mstx
2x1/2 = 1/2 x 1/2
pi_126571110
quote:
Volgens mij klopt die niet.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_126571758
quote:
0s.gif Op donderdag 16 mei 2013 09:31 schreef slacker_nl het volgende:
Heb je iets van basename, dirname functies in php, dat gebruiken, scheelt je een hoop gezeik volgens mij. Je hebt ook een realpath functie. Ik zou die eens gebruiken.
Het gaat om parsen van links in een document ;)

quote:
6s.gif Op donderdag 16 mei 2013 09:33 schreef mstx het volgende:
Volgens mij klopt die niet.
Je hebt gelijk *) gisteren echt overheen gekeken, gelijk even proberen te fixen, maar verder nog tips? of is deze dirty manier goed genoeg? :+

Update:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php

error_reporting
(E_ALL);

function 
checkUrl($baseUrl$currentUrl$foundUrl)
{
    echo 
'Original foundUrl: ' $foundUrl '<br />';

    
// geen HTTP gevonden?
    
if (strtolower(substr($foundUrl07)) != "http://")
    {
        
// parse $foundURL
        
$p parse_url($foundUrl);
        
// geen hostname gevonden?
        
if (!isset($p['host']))
        {
            
$path '';
            
            
// parse current url
            
$p parse_url($currentUrl);
            
// explode directories
            
$dirs explode("/"$p['path']);
            
            
// kijken of er subdirectories gevonden zijn?!
            
if (count($dirs) > 1)
            {
                
// verwijder lege directories (eg ///)
                
foreach ($dirs AS $k=>$v)
                {
                    if (
strlen($v) == 0)
                    {
                        unset(
$dirs[$k]);
                    }
                }
                
// unset laatste directorie aangezien dat geen directory maar het aangeroepen bestand is
                
unset($dirs[count($dirs)]);
                
                
// reset array index
                
reset($dirs);
            }
            
            
// ../ gevonden in $foundURL?
            
if (strpos($foundUrl"../") > -1)
            {
                
$dotsCount 0;
                
// verwijder alle ../ en update counter
                
while (strpos($foundUrl"../") > -1)
                {
                    
$foundUrl substr($foundUrl3);
                    
$dotsCount++;
                }
                
                
// is aantal dirs groter dan $dotsCount?
                
if (count($dirs) > $dotsCount)
                {
                    
// verwijder te veel directories...
                    
for ($x 0$x $dotsCount$x++)
                    {
                        unset(
$dirs[count($dirs) - $x]);
                    }
                    
// genereer nieuwe path;
                    
$path implode("/"$dirs) . "/";
                }
            }
            
// ./ gevonden?
            
elseif (strpos($foundUrl"./") > -1)
            {
                
// gebruik volledig path
                
$path implode("/"$dirs) . "/";
                
$foundUrl substr($foundUrl2);
            }
            
// / is verwijzing voor root van domein.
            
elseif (substr($foundUrl01) == "/")
            {
                
// verwijder eerste /
                
$foundUrl substr($foundUrl1);
            }
            
            
// combineer nieuwe $foundUrl
            
$foundUrl $baseUrl $path $foundUrl;
        }
    }

    
// test case
    
echo 'BaseUrl: ' $baseUrl '<br />';
    echo 
'CurrentUrl: ' $currentUrl '<br />';
    echo 
'FoundUrl: ' $foundUrl '<br />';
}

$baseUrl 'http://www.yourwebsite.com/';
$currentUrl 'http://www.yourwebsite.com/blogs/archive/all.html';

checkUrl($baseUrl$currentUrl'../../../niets/test/adem.html');
echo 
'<hr>';
checkUrl($baseUrl$currentUrl'../../../../../niets.html');
echo 
'<hr>';
checkUrl($baseUrl$currentUrl'/niets.html');
echo 
'<hr>';
checkUrl($baseUrl$currentUrl'./niets.html');
echo 
'<hr>';
checkUrl($baseUrl$currentUrl'../niets.html');
echo 
'<hr>';
checkUrl($baseUrl$currentUrl'niets.html');
echo 
'<hr>';

?>
-kleine edit toevoeging comments-

Uitkomst (alleen het gefixte gedeelte):
1
2
3
4
Original foundUrl: ./niets.html
BaseUrl: http://www.yourwebsite.com/
CurrentUrl: http://www.yourwebsite.com/blogs/archive/all.html
FoundUrl: http://www.yourwebsite.com/blogs/archive/niets.html


[ Bericht 61% gewijzigd door Chandler op 16-05-2013 10:04:17 ]
Just say hi!
  donderdag 16 mei 2013 @ 10:56:39 #195
187069 slacker_nl
Sicko pur sang
pi_126573374
quote:
0s.gif Op donderdag 16 mei 2013 09:57 schreef Chandler het volgende:

Het gaat om parsen van links in een document ;)
Dus? Ahh, kutzooit, readlink -m is niet geimplementeerd in php. Dus..
In theory there is no difference between theory and practice. In practice there is.
  donderdag 16 mei 2013 @ 11:02:46 #196
12221 Tijn
Powered by MS Paint
pi_126573558
Wil je $baseUrl echt elke keer meegeven aan de functie? Dat is (binnen de applicatie) toch altijd dezelfde waarde? Ik zou er een constante van maken die je ergens in je config-file definieert.
pi_126573778
quote:
5s.gif Op donderdag 16 mei 2013 11:02 schreef Tijn het volgende:
Wil je $baseUrl echt elke keer meegeven aan de functie? Dat is (binnen de applicatie) toch altijd dezelfde waarde? Ik zou er een constante van maken die je ergens in je config-file definieert.
Nee maar is wel gemakkelijk om het zo in een test case te verwerken zodat ik deze gemakkelijk kan aanpassen ;)
Just say hi!
  donderdag 16 mei 2013 @ 11:23:05 #198
187069 slacker_nl
Sicko pur sang
pi_126574321
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php

error_reporting
(E_ALL);

function 
checkUrl($currentUrl$foundUrl) {
    if (!
$foundUrl) {
        return 
$currentUrl;
    }

    if (
preg_match('/^[a-z]+?:\/\//'$foundUrl)) {
        return 
$foundUrl;
    }

    
$matches;
    
preg_match('/^([a-z]+?:\/\/)(.+)?/'$currentUrl$matches);
    
$iets=$matches[1];
    
$baseurl$matches[2];

    if(
preg_match('/^\//'$foundUrl)) {
        
$baseurl preg_replace('/\/.+/'''$baseurl);
        return 
"$iets$baseurl$foundUrl";
    }
    elseif (
preg_match('/^\.\//'$foundUrl)) {
        
$baseurl preg_replace('/\/$/'''$baseurl);
        
$foundUrl substr_replace($foundUrl"" ,02);
        return 
checkUrl("$iets$baseurl"$foundUrl);
    }
    elseif (
preg_match('/^\.\.\//'$foundUrl)) {
        
$baseurl preg_replace('/\/\w+\/?$/'''$baseurl);
        
$foundUrl substr_replace($foundUrl"" 03);
        return 
checkUrl("$iets$baseurl"$foundUrl);
    }
    
$currentUrl preg_replace('/\/?$/'''$currentUrl);
    return 
"$currentUrl/$foundUrl";
}

function 
is($found$want$desc) {
    if (
$want  == $found) {
        print 
"OK: $desc\n";
    }
    else {
        print 
"KO $desc: Wanted $want, got $found\n";
    }
}

is(checkUrl("http://x.nl/deep/shizzle/cabizzle"'/x.php'), 'http://x.nl/x.php''absolute path with dir ending with /');
is(checkUrl("""http://x.nl"), 'http://x.nl'"no current url");
is(checkUrl("http://x.nl"""), 'http://x.nl'"no href found");
is(checkUrl("http://x.nl"'/x.php'), 'http://x.nl/x.php'"absolute path");
is(checkUrl("http://x.nl/deep"'/x.php'), 'http://x.nl/x.php''absolute path with dir');
is(checkUrl("http://x.nl/deep/"'/x.php'), 'http://x.nl/x.php''absolute path with dir ending with /');
is(checkUrl("http://x.nl/deep/"'./x.php'), 'http://x.nl/deep/x.php''relative path, same dir');
is(checkUrl("http://x.nl/deep/"'../x.php'), 'http://x.nl/x.php''relative path, in higher/lower dir');
is(checkUrl("http://x.nl/deep/shizzle"'../../x.php'), 'http://x.nl/x.php''relative path, in higher/lower dir, but deeper');
is(checkUrl("http://x.nl/deep/shizzle"'./../x.php'), 'http://x.nl/deep/x.php''relative path, another option');


[ Bericht 31% gewijzigd door slacker_nl op 16-05-2013 11:43:25 (hehe, stomme removal van een returnvalue.. ) ]
In theory there is no difference between theory and practice. In practice there is.
pi_126591969
Ook leuk :@
Just say hi!
  donderdag 16 mei 2013 @ 19:02:04 #200
187069 slacker_nl
Sicko pur sang
pi_126594009
SPOILER: nog kekker
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
In theory there is no difference between theory and practice. In practice there is.
  donderdag 16 mei 2013 @ 19:19:36 #201
187069 slacker_nl
Sicko pur sang
pi_126594866
quote:
0s.gif Op maandag 13 mei 2013 14:26 schreef Sitethief het volgende:
Wat is eigenlijk beter, of maakt het niks uit?
Dit:
[ code verwijderd ]

Of dit:
[ code verwijderd ]

Ik vraag me af of die else nou echt zoveel vertraagt, ik vind het gewoon lelijk staan om standaard $k in $p te zetten in dit geval.
array_map gebruiken?
1
2
3
if (productdata) {
    array_map(this->getProduct, $je_product);
In theory there is no difference between theory and practice. In practice there is.
pi_126595003
quote:
0s.gif Op donderdag 16 mei 2013 19:02 schreef slacker_nl het volgende:
SPOILER: nog kekker
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Tssss :P moet niet gekker worden ;)
Just say hi!
pi_126597305
quote:
0s.gif Op donderdag 16 mei 2013 19:19 schreef slacker_nl het volgende:

[..]

array_map gebruiken?
[ code verwijderd ]

Daar lijkt het wel op, maar het doet iets anders. In de oorspronkelijke functie wordt het product gekoppeld aan de key opgehaald en in een nieuwe array op de plaats van value neergezet. Dat is dus niet per se gelijk aan wat array_map doet.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  donderdag 16 mei 2013 @ 20:25:06 #204
187069 slacker_nl
Sicko pur sang
pi_126598344
quote:
2s.gif Op donderdag 16 mei 2013 20:06 schreef papernote het volgende:

[..]

Daar lijkt het wel op, maar het doet iets anders. In de oorspronkelijke functie wordt het product gekoppeld aan de key opgehaald en in een nieuwe array op de plaats van value neergezet. Dat is dus niet per se gelijk aan wat array_map doet.
Works for me:

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
27
<?php

Class Foo 

    function 
bar($iets) { 
        return 
"bar: $iets";
    }   
}

$foo = new Foo();

$hash = array( 
    
'hello' => 'hallo'
    
'world' => 'wereld'
);

function 
bla($iets) {
    return 
"bla$iets";
}

$mapval array_map('bla'$hash);
print_r($mapval);

$mapval array_map(array($foo'bar'), $hash);
print_r($mapval);

?>

1
2
3
4
5
6
7
8
9
10
Array
(
    [hello] => blahallo
    [world] => blawereld
)
Array
(
    [hello] => bar: hallo
    [world] => bar: wereld
)

Ahh. Ik zie. Dat gaat idd niet.

[ Bericht 12% gewijzigd door slacker_nl op 16-05-2013 20:43:20 ]
In theory there is no difference between theory and practice. In practice there is.
pi_126624246
Heeft iemand een oplossing voor het volgende? stel een script maakt gebruik van de functie ignore_user_abort(true); maar wil het script toch stoppen wanneer ik dat zelf graag wil (wat voor reden dan ook).

Ik heb geprobeerd om dit op te lossen met een cookie/sessie maar helaas geen oplossing.
test case
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
27
28
29
30
31
32
33
34
35
36
<?php

// set_time_limit(10);
session_start();

$t 2;

function 
__time()
{
    list(
$usec$sec) = explode(" "microtime());
    
$t = ((float)$usec + (float)$sec);
    
    return 
$t;
}
    
$abort false;
$start __time();
ignore_user_abort(true);    
echo 
'start test<br />';
while (
$abort != true)
{
    if (isset(
$_SESSION['test']))
    {
        
$abort true;
        unset(
$_SESSION['test']);
        echo 
'abort<br />';
    }
    
    if (
__time() - $start $t)
    {
        echo 
__time() . "<br />";
        
$start __time();
    }
}

?>

en de manier dat ik dacht om te cancelen

1
2
3
4
5
6
7
<?php

session_start
();

$_SESSION['test'] = true;

?>

maar dat gaat ook niet werken, op zich zou ik per seconde een query naar een database kunnen doen en daar dan een tabel kunnen gebruiken om te cancelen maar hoop op een andere gemakkelijke manier..

Anyone?
Just say hi!
  vrijdag 17 mei 2013 @ 11:07:07 #206
187069 slacker_nl
Sicko pur sang
pi_126624733
Waarom zou dat het spul moeten opheven, als dat waar is doe je niks met ignore_user_abort(); Dus dat blijft gewoon zoals het is..
In theory there is no difference between theory and practice. In practice there is.
pi_126625117
quote:
0s.gif Op vrijdag 17 mei 2013 11:07 schreef slacker_nl het volgende:
Waarom zou dat het spul moeten opheven, als dat waar is doe je niks met ignore_user_abort(); Dus dat blijft gewoon zoals het is..
Voordeel van ignore_user_abort is dat het script doorloopt als de browser gesloten wordt... dat vind ik het handige er aan. Maar stel het project loopt fout, maar blijft fout doorlopen... dan moet ik php killen en dat is niet echt praktisch als je geen server admin bent.. Dus ben ik opzoek naar een methode die wel werkt! *)
Just say hi!
  vrijdag 17 mei 2013 @ 11:31:07 #208
91039 mstx
2x1/2 = 1/2 x 1/2
pi_126625585
De $_SESSION variabele wordt aan het begin van het script ingesteld en kan niet door een ander script aangepast worden.

Dan zul je het moeten doen via een bestandje dat je steeds uitleest of via een memcached/apc variabele oid.

edit: misschien werkt het ook gewoon al als je session_destroy() en session_start() weer aanroept.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_126626754
quote:
edit: misschien werkt het ook gewoon al als je session_destroy() en session_start() weer aanroept.
Maak van misschien maar, het werkt! LOL

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
27
28
29
30
31
32
33
34
35
36
<?php

function __time()
{
    list(
$usec$sec) = explode(" "microtime());
    
$t = ((float)$usec + (float)$sec);
    
    return 
$t;
}

ob_start();
// set_time_limit(10);
session_start();
ignore_user_abort(true);    
    
$t 2;
$abort false;
$start __time();
    
if (isset(
$_SESSION['test'])) { unset($_SESSION['test']); }    

while (
$abort != true)
{

    if (isset(
$_SESSION['test'])) { $abort true;
        unset(
$_SESSION['test']);
        echo 
'abort<br />';
    }
    
    if (
__time() - $start $t) { $start __time(); echo $start;}

    
session_destroy();
    
session_start();    
}

?>

met als cancel
1
2
3
4
<?php
session_start
();
$_SESSION['test'] = true;
?>

:) maar goed, dit is natuurlijk alleen maar een oplossing voor het scherm dat je open hebt, en als je deze sluit heeft het volgens mij geen effect... wel leuk probleem om mee te spelen :7

Zat zelf nog aan een extra bestandje (kijken of deze bestaat) te denken, die te plaatsen waardoor ALLE jobs gestopt worden, alleen weet ik niet of dat dat leuk is voor de server qua preformance?!
Just say hi!
  vrijdag 17 mei 2013 @ 12:23:26 #210
91039 mstx
2x1/2 = 1/2 x 1/2
pi_126627625
quote:
0s.gif Op vrijdag 17 mei 2013 12:00 schreef Chandler het volgende:
Zat zelf nog aan een extra bestandje (kijken of deze bestaat) te denken, die te plaatsen waardoor ALLE jobs gestopt worden, alleen weet ik niet of dat dat leuk is voor de server qua preformance?!
Daar zou ik dan een APC variabele voor gebruiken, die staat in het werkgeheugen. :)
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  vrijdag 17 mei 2013 @ 12:29:32 #211
63192 ursel
"Het Is Hier Fantastisch!
pi_126627872
Als ik even op de pagina van php kijk zie ik in het commentaar dit stukje staan:

1
2
3
4
5
6
7
8
9
10
<?php 
 ignore_user_abort
(1); // run script in background 
set_time_limit(0); // run script forever 
$interval=60*15// do every 15 minutes... 
do{ 
    
// add the script that has to be ran every 15 minutes here 
    // ... 
    
sleep($interval); // wait 15 minutes 
}while(true); 
?>

Dan kan je toch als het proces start een waarde naar je database wegschrijven. En deze waarde elke keer ophalen? Wil je hem killen zet je de waarde op 0 en in de while check je hierop.
pi_126627931
apc is een leuke en ja ook een connectie naar de database is mogelijk, maar wilde gewoon alle mogelijkheden testen ;)
Just say hi!
pi_126631775
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [0] => 172.340.194.2

    [1] => 39.64.51.232

    [2] => 1.2.3.4

    [3] => 81.119.83.275

    [4] => 15.211.81.90
)

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$findIP 
'1.2.3.4';

foreach (
$arrIP as $IP) {
  if (
$findIP == $IP) {
   echo 
'IP FOUND';
   echo 
'<br>';
  } else {
   echo 
'IP NOT FOUND';
   echo 
'<br>';
  }
}
?>

Waarom krijg ik geen IP FOUND te zien :? Alleen maar IP NOT FOUND.
  vrijdag 17 mei 2013 @ 14:09:11 #214
166255 Maringo
Bèhèhèhèh
pi_126631839
quote:
0s.gif Op vrijdag 17 mei 2013 14:07 schreef xaban06 het volgende:

[ code verwijderd ]

[ code verwijderd ]

Waarom krijg ik geen IP FOUND te zien :? Alleen maar IP NOT FOUND.
Omdat je datatypes niet gelijk zijn. Je vergelijkt 1.2.3.4 met '1.2.3.4'.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
  vrijdag 17 mei 2013 @ 14:12:46 #215
187069 slacker_nl
Sicko pur sang
pi_126631958
quote:
2s.gif Op vrijdag 17 mei 2013 14:09 schreef Maringo het volgende:

[..]

Omdat je datatypes niet gelijk zijn. Je vergelijkt 1.2.3.4 met '1.2.3.4'.
Beide zijn strings, dus het moet goed zijn.
In theory there is no difference between theory and practice. In practice there is.
pi_126631982
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$arrIP 
= array("123.123.123.123""10.0.0.1""1.2.3.4""121.111.85.11""onzin");

$findIP '1.2.3.4';

foreach (
$arrIP as $IP) {
  if (
$findIP == $IP) {
   echo 
'IP FOUND';
   echo 
'<br>';
  } else {
   echo 
'IP NOT FOUND';
   echo 
'<br>';
  }
}
?>

Werkt dus is er toch iets niet goed ;)
Just say hi!
pi_126631993
Maar == is toch geen type-safe comparison?
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
pi_126632028
Waarom gebruik je niet array_search() trouwens?
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
  vrijdag 17 mei 2013 @ 14:15:36 #219
187069 slacker_nl
Sicko pur sang
pi_126632060
quote:
0s.gif Op vrijdag 17 mei 2013 14:07 schreef xaban06 het volgende:

[ code verwijderd ]

[ code verwijderd ]

Waarom krijg ik geen IP FOUND te zien :? Alleen maar IP NOT FOUND.
maar doe zoiets:

1
2
3
4
5
6
7
8
9
10
<?php
$ip_regexp 
'/^1.2.3.4/$';

$found preg_grep($ipregexp$array_met_ip);

if (
$found) {
    print 
"$ip_regexp found\n";
    
print_r($found)
}
?>
In theory there is no difference between theory and practice. In practice there is.
  vrijdag 17 mei 2013 @ 14:16:07 #220
137776 boem-dikkie
Jedi Mind Baby!
pi_126632079
Werkt prima als ik hem zo uitvoer:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$arrIP 
= array('172.340.194.2''39.64.51.232''1.2.3.4''81.119.83.275''15.211.81.90'); 
$findIP '1.2.3.4';

foreach (
$arrIP as $IP) {
  if (
$findIP == $IP) {
   echo 
'IP FOUND';
   echo 
'<br>';
  } else {
   echo 
'IP NOT FOUND';
   echo 
'<br>';
  }
}
?>
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  vrijdag 17 mei 2013 @ 14:16:40 #221
91039 mstx
2x1/2 = 1/2 x 1/2
pi_126632102
quote:
0s.gif Op vrijdag 17 mei 2013 14:13 schreef rekenwonder het volgende:
Maar == is toch geen type-safe comparison?
Beide zijn sowieso strings dus niet nodig om ook het type te controleren.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  vrijdag 17 mei 2013 @ 14:16:52 #222
137776 boem-dikkie
Jedi Mind Baby!
pi_126632109
Oh te laat. :')
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_126632179
quote:
14s.gif Op vrijdag 17 mei 2013 14:16 schreef boem-dikkie het volgende:
Oh te laat. :')
:@ *) :+ :P
Just say hi!
pi_126633324
Volgens mij ben ik gek of ik doe iets heel erg fout.

/edit
Opgelost, thanks Chandler.
pi_126633388
probeer eens trim om het ip adres heen?

dus trim($IP) ;)
Just say hi!
pi_126633389
quote:
0s.gif Op vrijdag 17 mei 2013 14:14 schreef rekenwonder het volgende:
Waarom gebruik je niet array_search() trouwens?
Omdat ik die functie niet ken :) ..nu wel overigens
pi_126633494
quote:
0s.gif Op vrijdag 17 mei 2013 14:51 schreef Chandler het volgende:
probeer eens trim om het ip adres heen?

dus trim($IP) ;)
:*

Nu even kijken wat trim precies doet :)
  vrijdag 17 mei 2013 @ 15:01:51 #228
12221 Tijn
Powered by MS Paint
pi_126633803
quote:
0s.gif Op vrijdag 17 mei 2013 14:53 schreef xaban06 het volgende:

[..]

Nu even kijken wat trim precies doet :)
Spaties en andere onzin van de voor- en achterkant van een string afhalen.
pi_126633891
quote:
0s.gif Op vrijdag 17 mei 2013 14:49 schreef xaban06 het volgende:
Volgens mij ben ik gek of ik doe iets heel erg fout.

/edit
Opgelost, thanks Chandler.
You are so (ontiegelijk) welkom! *)

donaties mogen naar anti brein stichting :+
Just say hi!
pi_126657660
quote:
0s.gif Op vrijdag 17 mei 2013 14:14 schreef rekenwonder het volgende:
Waarom gebruik je niet array_search() trouwens?
Ik zou zelf in_array() aanraden.
pi_126660258
quote:
0s.gif Op vrijdag 17 mei 2013 23:17 schreef Light het volgende:

[..]

Ik zou zelf in_array() aanraden.
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
  zaterdag 18 mei 2013 @ 09:20:40 #232
134783 papernote
Een echte.
pi_126667201
_O_ APC _O_
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126689957
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
  $dbc 
mysqli_connect('localhost''voorbeeld''wachtwoord''aliendatabase')
    or die(
'Error connecting to MySQL server');

  
$query "INSERT INTO aliens_abduction (first_name, last_name, when_it_happened, how_long, " .
    
"how_many, alien_description, what_they_did, fang_spotted, other, email) " .
    
"VALUES ('$first_name', '$last_name', '$when_it_happened', '$how_long', '$how_many', " .
    
"'$alien_description', '$what_they_did', '$fang_spotted', '$other', '$email')";

  
$result mysqli_query($dbc$query)
    or die(
'Error connecting to MySQL server');

  
mysqli_close($dbc);
?>

Ik heb even een vraagje over deze code. Ik snap waarom je de twee strings bij $dbc en $query in variabelen zet, maar voor die msqli_query in $result is dat toch niet nodig?

En ik dacht dat de codes achter de "$result =" werden opgeslagen en niet werden uitgevoerd, maar hij plaatst wel alles in de tabel. Kan iemand hier mij even duidelijkheid over geven. Sorry als ik onduidelijk ben, maar ben voor het eerst bezig met PHP.
Op vrijdag 22 juli 2011 00:30 schreef yvonne het volgende:
Ja DE Ik houd nog heel veel van je
  zaterdag 18 mei 2013 @ 21:43:48 #234
91039 mstx
2x1/2 = 1/2 x 1/2
pi_126692911
Dan kun je checken of de query goed is uitgevoerd. Maar aangezien er ook al "or die" achter staat is het nutteloos.

quote:
Return Values

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.
quote:
En ik dacht dat de codes achter de "$result =" werden opgeslagen en niet werden uitgevoerd,
:?
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_126694230
quote:
17s.gif Op zaterdag 18 mei 2013 21:11 schreef DutchErrorist het volgende:

[ code verwijderd ]

Ik heb even een vraagje over deze code. Ik snap waarom je de twee strings bij $dbc en $query in variabelen zet, maar voor die msqli_query in $result is dat toch niet nodig?

En ik dacht dat de codes achter de "$result =" werden opgeslagen en niet werden uitgevoerd, maar hij plaatst wel alles in de tabel. Kan iemand hier mij even duidelijkheid over geven. Sorry als ik onduidelijk ben, maar ben voor het eerst bezig met PHP.
$dbc is geen string, zoals php.net aangeeft: " Returns an object which represents the connection to a MySQL Server. ". Na de functie te hebben uitgevoerd zit in de variabel een object die de connectie representeert.

De variabel $query (wat wel een string is) wordt samen gebruikt met het object in de functie mysqli_query. Deze functie, zoals mstx ook aangeeft, geeft een boolean of een object terug. Het is handig om http://www.php.net te gebruiken om kennis te maken met de functies en te zien wat er in moet en wat er uit komt.

Daarnaast als je de string $query vult, waar komen deze variabelen allemaal vandaan, want dit kan een groot gevaar vormen voor je website.
  zaterdag 18 mei 2013 @ 23:50:57 #236
187069 slacker_nl
Sicko pur sang
pi_126705018
quote:
17s.gif Op zaterdag 18 mei 2013 21:11 schreef DutchErrorist het volgende:

[ code verwijderd ]

Ik heb even een vraagje over deze code. Ik snap waarom je de twee strings bij $dbc en $query in variabelen zet, maar voor die msqli_query in $result is dat toch niet nodig?

En ik dacht dat de codes achter de "$result =" werden opgeslagen en niet werden uitgevoerd, maar hij plaatst wel alles in de tabel. Kan iemand hier mij even duidelijkheid over geven. Sorry als ik onduidelijk ben, maar ben voor het eerst bezig met PHP.
Aangezien je nieuw bent in PHP: mysqli wegflikkeren en PDO gebruiken. Leer je het in een keer goed.
In theory there is no difference between theory and practice. In practice there is.
pi_126706173
quote:
0s.gif Op zaterdag 18 mei 2013 23:50 schreef slacker_nl het volgende:

[..]

Aangezien je nieuw bent in PHP: mysqli wegflikkeren en PDO gebruiken. Leer je het in een keer goed.
waarom?
  zondag 19 mei 2013 @ 00:06:38 #238
12221 Tijn
Powered by MS Paint
pi_126706540
quote:
0s.gif Op zondag 19 mei 2013 00:02 schreef mschol het volgende:

[..]

waarom?
Makkelijkere API, zeker voor beginners.
pi_126706781
quote:
2s.gif Op zondag 19 mei 2013 00:06 schreef Tijn het volgende:

[..]

Makkelijkere API, zeker voor beginners.
oke.. :)
  zondag 19 mei 2013 @ 00:13:13 #240
187069 slacker_nl
Sicko pur sang
pi_126707263
quote:
0s.gif Op zondag 19 mei 2013 00:02 schreef mschol het volgende:

[..]

waarom?
Omdat het makkelijk, transparant, voor alle DB's dezelfde calls, return values, kek en het OO is. Dat ze die ouwe meuk er nog niet uitgegooid hebben snap ik niet, PDO moet gewoon omarmt worden door PHP developers.
In theory there is no difference between theory and practice. In practice there is.
pi_126707581
quote:
0s.gif Op zondag 19 mei 2013 00:13 schreef slacker_nl het volgende:

[..]

Omdat het makkelijk, transparant, voor alle DB's dezelfde calls, return values, kek en het OO is. Dat ze die ouwe meuk er nog niet uitgegooid hebben snap ik niet, PDO moet gewoon omarmt worden door PHP developers.
ik heb werkelijk nog nooit PDO gebruikt.. (en tot een jaar terug ofzo niet eens wat over gehoord...)
  zondag 19 mei 2013 @ 00:21:39 #242
12221 Tijn
Powered by MS Paint
pi_126708059
quote:
0s.gif Op zondag 19 mei 2013 00:16 schreef mschol het volgende:

[..]

ik heb werkelijk nog nooit PDO gebruikt.. (en tot een jaar terug ofzo niet eens wat over gehoord...)
Het wordt al een tijdje door PHP zelf aangeraden (samen met mysqli): http://nl1.php.net/manual/en/mysqlinfo.api.choosing.php
  zondag 19 mei 2013 @ 00:22:43 #243
187069 slacker_nl
Sicko pur sang
pi_126708140
quote:
0s.gif Op zondag 19 mei 2013 00:16 schreef mschol het volgende:

[..]

ik heb werkelijk nog nooit PDO gebruikt.. (en tot een jaar terug ofzo niet eens wat over gehoord...)
Dat is het probleem. Ik denk dat ik er drie jaar geleden in dit topic ook vaak over heb lopen zagen. Herstel, 2008 alweer. Dat is vijf jaar..
In theory there is no difference between theory and practice. In practice there is.
pi_126708509
quote:
14s.gif Op zondag 19 mei 2013 00:21 schreef Tijn het volgende:

[..]

Het wordt al een tijdje door PHP zelf aangeraden (samen met mysqli): http://nl1.php.net/manual/en/mysqlinfo.api.choosing.php
aha ^O^

ik hobby er hoofdzakelijk mee, dus voor mij voldoet mysqli nog wel, wellicht stap ik in de toekomst eens over op pdo :P
pi_126708900
quote:
0s.gif Op zaterdag 18 mei 2013 23:50 schreef slacker_nl het volgende:

[..]

Aangezien je nieuw bent in PHP: mysqli wegflikkeren en PDO gebruiken. Leer je het in een keer goed.
Naaah ik volg eerst het boek maar eens.
Op vrijdag 22 juli 2011 00:30 schreef yvonne het volgende:
Ja DE Ik houd nog heel veel van je
  zondag 19 mei 2013 @ 12:24:37 #246
134783 papernote
Een echte.
pi_126717586
quote:
14s.gif Op zondag 19 mei 2013 00:31 schreef DutchErrorist het volgende:

[..]

Naaah ik volg eerst het boek maar eens.
Lees dan dit eens: http://php.net/mysqli_query. Die functie kan meerdere dingen terug geven, ook na een INSERT query. Dat kun je dan gebruiken om te zien of de query gelukt is.

Nu staat er in jouw code (heel slecht) "or die" achter, waardoor het opslaan van de boolean die mysqli_query() terug geeft niet meer nodig is. Maar als je een nette error afhandeling maakt, dan wil je de waarde van $result na een INSERT query ook bekijken.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126717697
quote:
2s.gif Op zondag 19 mei 2013 12:24 schreef papernote het volgende:

[..]

Lees dan dit eens: http://php.net/mysqli_query. Die functie kan meerdere dingen terug geven, ook na een INSERT query. Dat kun je dan gebruiken om te zien of de query gelukt is.

Nu staat er in jouw code (heel slecht) "or die" achter, waardoor het opslaan van de boolean die mysqli_query() terug geeft niet meer nodig is. Maar als je een nette error afhandeling maakt, dan wil je de waarde van $result na een INSERT query ook bekijken.
Ik zal als ik dit boek heb door gewerkt me eens concentreren op hoe PDO precies werkt. Ik wil toch eerst de basics onder de knie hebben.
Op vrijdag 22 juli 2011 00:30 schreef yvonne het volgende:
Ja DE Ik houd nog heel veel van je
  zondag 19 mei 2013 @ 12:41:53 #248
12221 Tijn
Powered by MS Paint
pi_126718103
quote:
17s.gif Op zondag 19 mei 2013 12:27 schreef DutchErrorist het volgende:

[..]

Ik zal als ik dit boek heb door gewerkt me eens concentreren op hoe PDO precies werkt. Ik wil toch eerst de basics onder de knie hebben.
Ik zou zeggen dat PDO juist de basis is en je daarna eventueel mysqli eens zou kunnen bekijken voor geavanceerdere dingen.
pi_126718158
quote:
2s.gif Op zondag 19 mei 2013 12:41 schreef Tijn het volgende:

[..]

Ik zou zeggen dat PDO juist de basis is en je daarna eventueel mysqli eens zou kunnen bekijken voor geavanceerdere dingen.
Ja maar het lijkt me ook wel handig dat ik even weet hoe PHP precies werkt. Hoe PDO werkt kan ik later nog wel opzoeken.
Op vrijdag 22 juli 2011 00:30 schreef yvonne het volgende:
Ja DE Ik houd nog heel veel van je
  zondag 19 mei 2013 @ 12:44:42 #250
12221 Tijn
Powered by MS Paint
pi_126718188
Dat begrijp ik.

Als ik jou was zou ik de documentatie op php.net goed lezen. Zeker voor beginners is het goed geschreven vind ik.
  zondag 19 mei 2013 @ 12:48:07 #251
134783 papernote
Een echte.
pi_126718278
quote:
14s.gif Op zondag 19 mei 2013 12:44 schreef Tijn het volgende:
Dat begrijp ik.

Als ik jou was zou ik de documentatie op php.net goed lezen. Zeker voor beginners is het goed geschreven vind ik.
Maar niet de comments bij de documentatie, daar moet je soms wel om huilen.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  zondag 19 mei 2013 @ 12:48:52 #252
134783 papernote
Een echte.
pi_126718294
quote:
17s.gif Op zondag 19 mei 2013 12:27 schreef DutchErrorist het volgende:

[..]

Ik zal als ik dit boek heb door gewerkt me eens concentreren op hoe PDO precies werkt. Ik wil toch eerst de basics onder de knie hebben.
Waar ik naar linkte is geen PDO hè.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126718544
quote:
3s.gif Op zondag 19 mei 2013 12:48 schreef papernote het volgende:

[..]

Waar ik naar linkte is geen PDO hè.
Nee klopt dat zie ik nu, maar iedereen begint over PDO en weet ik veel terwijl ik zelf nog maar net begonnen ben. Dan kan ik beter even met msqli beginnen en in mijn achterhoofd houden dan ik nog even moet kijken naar hoe het nu precies zit met 'or die' en PDO.
Op vrijdag 22 juli 2011 00:30 schreef yvonne het volgende:
Ja DE Ik houd nog heel veel van je
  zondag 19 mei 2013 @ 13:03:02 #254
134783 papernote
Een echte.
pi_126718732
Hoe oud is je boek?
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  zondag 19 mei 2013 @ 13:09:55 #255
12221 Tijn
Powered by MS Paint
pi_126718964
quote:
17s.gif Op zondag 19 mei 2013 12:56 schreef DutchErrorist het volgende:

[..]

Nee klopt dat zie ik nu, maar iedereen begint over PDO en weet ik veel terwijl ik zelf nog maar net begonnen ben. Dan kan ik beter even met msqli beginnen en in mijn achterhoofd houden dan ik nog even moet kijken naar hoe het nu precies zit met 'or die' en PDO.
Kun je al programmeren in andere talen?
pi_126720610
quote:
5s.gif Op zondag 19 mei 2013 13:03 schreef papernote het volgende:
Hoe oud is je boek?
Uh het is Head first php & mysql.

quote:
2s.gif Op zondag 19 mei 2013 13:09 schreef Tijn het volgende:

[..]

Kun je al programmeren in andere talen?
Nee alleen HTML en CSS. Ik wil alleen een website maken die een database gebruikt voor iets dus wil het ook wat snappen. Daarnaast moet ik sowieso voor volgend semester MySQL gebruiken en waarschijnlijk willen ze dat je dan Access gebruikt, maar daar heb ik geen zin in.
Op vrijdag 22 juli 2011 00:30 schreef yvonne het volgende:
Ja DE Ik houd nog heel veel van je
  zondag 19 mei 2013 @ 14:01:49 #257
12221 Tijn
Powered by MS Paint
pi_126720676
quote:
17s.gif Op zondag 19 mei 2013 13:59 schreef DutchErrorist het volgende:

[..]

Nee
Dan zou ik me nog even helemaal niet bezighouden met databasetoegang en eerst zorgen dat je weet hoe variabelen, if-statements, loops, functies, objecten etc. werken.
  zondag 19 mei 2013 @ 14:02:49 #258
134783 papernote
Een echte.
pi_126720708
quote:
17s.gif Op zondag 19 mei 2013 13:59 schreef DutchErrorist het volgende:

[..]

Uh het is Head first php & mysql.
Head first het raam uit met dat boek. Het is uit 2008!! Dat is vijf jaar oud!
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126721216
quote:
11s.gif Op zondag 19 mei 2013 14:02 schreef papernote het volgende:

[..]

Head first het raam uit met dat boek. Het is uit 2008!! Dat is vijf jaar oud!
Nee :D Het is handig om de basics te begrijpen. Ik snap best wel dat het een en ander is veranderd, maar dat kan ik ook nog wel achteraf leren aan de hand van codacademy of andere websites. Als ik PHP wil gaan gebruiken zoek ik het sowieso van te voren voorbeelden op online voordat ik iets ga doen.

quote:
2s.gif Op zondag 19 mei 2013 14:01 schreef Tijn het volgende:

[..]

Dan zou ik me nog even helemaal niet bezighouden met databasetoegang en eerst zorgen dat je weet hoe variabelen, if-statements, loops, functies, objecten etc. werken.
Komt wel goed ;)
Op vrijdag 22 juli 2011 00:30 schreef yvonne het volgende:
Ja DE Ik houd nog heel veel van je
  zondag 19 mei 2013 @ 14:22:01 #260
12221 Tijn
Powered by MS Paint
pi_126721447
quote:
10s.gif Op zondag 19 mei 2013 14:15 schreef DutchErrorist het volgende:

[..]

Het is handig om de basics te begrijpen.
Wat je nu aan het doen vent heeft niks met de basics te maken.
pi_126756193
Heeft er iemand ook ervaring met het laten draaien van php scripts in de achtergrond (soortement van cronjob maar dan een script) die 24/7 draait? ik wil namelijk een service gaan maken waarbij ik een web interface ga schrijven en een cronjob wil draaien die het werk op de achtergrond doet.

Wil weten hoe stabiel dat is
Wil ook weten dat wanneer het script gestopt is/wordt ik deze weer automatisch kan starten
Just say hi!
  maandag 20 mei 2013 @ 09:19:49 #262
134783 papernote
Een echte.
pi_126756295
quote:
0s.gif Op maandag 20 mei 2013 09:08 schreef Chandler het volgende:
Heeft er iemand ook ervaring met het laten draaien van php scripts in de achtergrond (soortement van cronjob maar dan een script) die 24/7 draait? ik wil namelijk een service gaan maken waarbij ik een web interface ga schrijven en een cronjob wil draaien die het werk op de achtergrond doet.

Wil weten hoe stabiel dat is
Wil ook weten dat wanneer het script gestopt is/wordt ik deze weer automatisch kan starten
PHP is niet bedoelt om 24/7 te draaien. Dan kun je beter een andere programmeertaal gaan gebruiken. Bijvoorbeeld een Java of C++ applicatie maken die continue draait.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126756348
Juist, maar die kennis heb ik dus niet in huis. Maar kun je mij vertellen waarom niet? of iets er niet voor bedoeld is is natuurlijk heel wat anders of het wel/niet kan met de redenen daarvan :)
Just say hi!
  maandag 20 mei 2013 @ 09:26:19 #264
187069 slacker_nl
Sicko pur sang
pi_126756385
quote:
2s.gif Op maandag 20 mei 2013 09:19 schreef papernote het volgende:

[..]

PHP is niet bedoelt om 24/7 te draaien. Dan kun je beter een andere programmeertaal gaan gebruiken. Bijvoorbeeld een Java of C++ applicatie maken die continue draait.
Idd, bash of perl :P
In theory there is no difference between theory and practice. In practice there is.
pi_126756405
quote:
0s.gif Op maandag 20 mei 2013 09:26 schreef slacker_nl het volgende:

[..]

Idd, bash of perl :P
Nogmaals, daar heb ik geen kaas van gegeten :P en heb nu al een leuk scriptje dat dagen kan draaien en zijn ding kan doen, maar daar willen we nu een interface omheen gaan schrijven om bepaalde processen te starten/stoppen etc.

Het scriptje doet nu al precies wat het moet doen alleen nog op basis van het aanroepen en het lekker laten lopen met user_ignore_abort... ( hehe ) en kan alleen afgesloten worden als daarvoor een instructie van de database afkomt of als het process is voltooid.
Just say hi!
  maandag 20 mei 2013 @ 09:31:59 #266
134783 papernote
Een echte.
pi_126756450
quote:
15s.gif Op maandag 20 mei 2013 09:23 schreef Chandler het volgende:
Juist, maar die kennis heb ik dus niet in huis. Maar kun je mij vertellen waarom niet? of iets er niet voor bedoeld is is natuurlijk heel wat anders of het wel/niet kan met de redenen daarvan :)
http://symcbean.blogspot.(...)nning-processes.html

edit: het gaat hier over long-running en nog niet eens infinite-running scripts, maar een aantal nadelen staan genoemd. Natuurlijk kun je PHP vast misbruiken om eeuwig te blijven draaien, zul je het af-en-toe eens moeten killen om resources vrij te geven en dergelijke, maar het zal niet lekker gaan werken. Een programmeertaal bedoelt voor het maken van applicaties is een betere keuze.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126756532
Ik zal het doornemen! *)

-edit-

Staat niet dat het niet kan, wel dat het niet handig is ivm afbreken van het script door de server, veel gebruik van systeem resources etc. Maar dat laatste ben ik niet bang voor aangezien ik het script gebruik voor een specifiek iets... en na iedere actie het geheugen weer 100% terug geef..

Het afbreken van het script is wel een vervelend punt vandaar dat ik een oplossing hiervoor zoek, eventueel een cronjob die iedere minuut een check doet of het script nog draait en is dit niet het geval dan het script weer aanroepen zodat het weer verder kan gaan met draaien! *)
Just say hi!
  maandag 20 mei 2013 @ 09:55:44 #268
187069 slacker_nl
Sicko pur sang
pi_126756797
quote:
0s.gif Op maandag 20 mei 2013 09:28 schreef Chandler het volgende:

Nogmaals, daar heb ik geen kaas van gegeten :P en heb nu al een leuk scriptje dat dagen kan draaien en zijn ding kan doen, maar daar willen we nu een interface omheen gaan schrijven om bepaalde processen te starten/stoppen etc.
Dan leer je het toch? Je kan PHP, dan kom je talen tegen waar het allemaal net iets logischer is.
In theory there is no difference between theory and practice. In practice there is.
pi_126757218
quote:
0s.gif Op maandag 20 mei 2013 09:38 schreef Chandler het volgende:
Ik zal het doornemen! *)

-edit-

Staat niet dat het niet kan, wel dat het niet handig is ivm afbreken van het script door de server, veel gebruik van systeem resources etc. Maar dat laatste ben ik niet bang voor aangezien ik het script gebruik voor een specifiek iets... en na iedere actie het geheugen weer 100% terug geef..
Totdat je ergens iets vergeet.
quote:
Het afbreken van het script is wel een vervelend punt vandaar dat ik een oplossing hiervoor zoek, eventueel een cronjob die iedere minuut een check doet of het script nog draait en is dit niet het geval dan het script weer aanroepen zodat het weer verder kan gaan met draaien! *)
En je infinite-running script zo af en toe via een cronjob aanzetten ipv continu laten draaien is geen optie?
  maandag 20 mei 2013 @ 11:03:17 #270
134783 papernote
Een echte.
pi_126758146
quote:
0s.gif Op maandag 20 mei 2013 10:21 schreef Light het volgende:

[..]

Totdat je ergens iets vergeet.
Of nog erger: totdat PHP iets vergeet en je er überhaupt niets aan kunt doen.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126760795
quote:
0s.gif Op maandag 20 mei 2013 09:55 schreef slacker_nl het volgende:

[..]

Dan leer je het toch? Je kan PHP, dan kom je talen tegen waar het allemaal net iets logischer is.
Mooi, maar wil nog niet zeggen dat ik voor 1 iets gelijk een nieuwe taal moet gaan leren, daar heb ik helaas geen tijd / prioriteit voor..

quote:
0s.gif Op maandag 20 mei 2013 10:21 schreef Light het volgende:
Totdat je ergens iets vergeet.
Daar kom je snel genoeg achter met xdebug ;)
quote:
En je infinite-running script zo af en toe via een cronjob aanzetten ipv continu laten draaien is geen optie?
Tuurlijk is dat wel een optie! *) zou het script ook bv een uur of 3 kunnen laten lopen en daarna weer opnieuw opstarten maar als het niet hoeft, hoeft het niet! :+

quote:
2s.gif Op maandag 20 mei 2013 11:03 schreef papernote het volgende:

[..]

Of nog erger: totdat PHP iets vergeet en je er überhaupt niets aan kunt doen.
PHP iets vergeet? kun je dat eens uitleggen? maar om het script te stoppen zijn er dan nog aantal andere mogelijkheden om het script te stoppen (via database, via apc, via bestand, noem maar op).

:)
Just say hi!
pi_126766090
Je zou bij het starten van je script de pid weg kunnen schrijven naar een bestand. Met een cronjob check je of deze nog draait, zo niet: starten.

Of je herstart 'm sowieso ieder uur oid.
pi_126772021
quote:
0s.gif Op maandag 20 mei 2013 14:43 schreef xaban06 het volgende:
Je zou bij het starten van je script de pid weg kunnen schrijven naar een bestand. Met een cronjob check je of deze nog draait, zo niet: starten.

Of je herstart 'm sowieso ieder uur oid.
Inderdaad een goed idee! maar dan heb je geen pid nodig hoor ;)

voorbeeld op: http://stackoverflow.com/(...)isnt-already-running

En herstarten lijkt me niet handig tenzij ik zeker weet dat hij niet draait, straks draaien er 10 instanties door elkaar... ook niet echt handig :+
Just say hi!
  maandag 20 mei 2013 @ 17:20:26 #274
12221 Tijn
Powered by MS Paint
pi_126772390
Maar waarom doet het script niet gewoon wat-ie moet doen en stopt-ie daarna, om vervolgens (bv door cron of door zichzelf) even later weer opnieuw te starten? Dat is toch een veel beter idee dan iets met een infinite loop?
pi_126772869
quote:
5s.gif Op maandag 20 mei 2013 17:20 schreef Tijn het volgende:
Maar waarom doet het script niet gewoon wat-ie moet doen en stopt-ie daarna, om vervolgens (bv door cron of door zichzelf) even later weer opnieuw te starten? Dat is toch een veel beter idee dan iets met een infinite loop?
Daar ben ik het dan ook wel mee eens! *)

Sowieso is het natuurlijk nooit slecht om af en toe even een machine op adem te laten komen. Eventueel handig om tabellen te optimaliseren...
Just say hi!
  maandag 20 mei 2013 @ 17:35:28 #276
187069 slacker_nl
Sicko pur sang
pi_126773107
In theory there is no difference between theory and practice. In practice there is.
pi_126773704
Leuk, ben het aan het doornemen... child process voor php scriptjes *) nifty

* Unix only grrrr :+
Just say hi!
pi_126797385
Laat ook maar :)

[ Bericht 98% gewijzigd door xaban06 op 21-05-2013 04:07:14 ]
pi_126821958
Hoe zorg je dat een op de achtergrond lopend proces die (bv websites scant) niet door 1 gebruiker helemaal wordt overgenomen? maar netjes de taken over alle gebruikers verdeeld?

Wat is nou de juiste manier van aanpakken? iedere actieve user qua datetime nalopen op wie het laatste en het langst geleden is gescanned? hoe doet google dat? en is daar informatie over te lezen? heb al gezocht over threads, queues etc maar kon niet echt iets vinden waar ik wijzer van werd.

Voorbeeld:

Stel ik heb 2 gebruikers die websites laten scannen.
User 1 - > website.nl
User 2 -> website.com

Nu laad ik eerst user 1 en process de eerste pagina, daaruit haal ik alle links (36)
Daarna laad ik user 2 en process de eerste pagina, daaruit haal ik alle links (15).

In het tabel staat het nu zo
id 1 -> user 1 pagina 1
id 2 -> user 2 pagina 1
id 3 t/m 39 -> user 1 vervolg pagina
id 40 t/m 55 -> user 2 vervolg pagina

Dus als ik door ga met scannen gebeurd er dit.

user 1 laad de volgende pagina's in queue (3 t/m 39) en haalt daaruit 300 pagina's
user 2 laad de volgende pagina's in queue (40 t/m 55) en haalt daaruit 500 pagina's

tabel ziet er nu zo uit (vervolg)
id 56 t/m 356 -> user 1 vervolg pagina's
id 367 t/m 867 -> user 2 vervolg pagina's

user 1 laad de volgende pagina's in queue (56 t/m 356) en haalt daaruit 3000 pagina's
user 2 laad de volgende pagina's in queue (40 t/m 55) en haalt daaruit 5000 pagina's

tabel ziet er nu zo uit (vervolg) etc
id 868 t/m 3868 -> user 1 vervolg pagina's
id 3869 t/m 8869 -> user 2 vervolg pagina's

etc etc etc

Zoals je nu ziet wordt de verhouding erg scheef tussen het inlezen en het toevoegen aan de queue, dus mijn vraag is hoe ik dit beter kan oplossen?

[ Bericht 59% gewijzigd door Chandler op 21-05-2013 19:36:51 ]
Just say hi!
  dinsdag 21 mei 2013 @ 19:36:47 #280
12221 Tijn
Powered by MS Paint
pi_126824328
Wat is een gebruiker in deze context?
pi_126824382
quote:
5s.gif Op dinsdag 21 mei 2013 19:36 schreef Tijn het volgende:
Wat is een gebruiker in deze context?
Een gebruiker is iemand die een job invoert op de site, zie vorige bewerkte post... hopelijk een stuk duidelijker.
Just say hi!
  dinsdag 21 mei 2013 @ 19:38:51 #282
137776 boem-dikkie
Jedi Mind Baby!
pi_126824490
Ik snap echt helemaal niks van je verhaal. :')
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_126824718
quote:
10s.gif Op dinsdag 21 mei 2013 19:38 schreef boem-dikkie het volgende:
Ik snap echt helemaal niks van je verhaal. :')
Was ik al bang voor, maar je ziet toch wel het gevolg van het invullen van de database tabellen? of moet ik het even voor je voormaken? zodat je zo'n 9000 url's in een overzicht krijgt :+
Just say hi!
  dinsdag 21 mei 2013 @ 19:48:38 #284
118585 Crutch
Filantroop || Taalzwengel
pi_126825253
quote:
0s.gif Op dinsdag 21 mei 2013 19:04 schreef Chandler het volgende:
Hoe zorg je dat een op de achtergrond lopend proces die (bv websites scant) niet door 1 gebruiker helemaal wordt overgenomen? maar netjes de taken over alle gebruikers verdeeld?

Wat is nou de juiste manier van aanpakken? iedere actieve user qua datetime nalopen op wie het laatste en het langst geleden is gescanned? hoe doet google dat? en is daar informatie over te lezen? heb al gezocht over threads, queues etc maar kon niet echt iets vinden waar ik wijzer van werd.

Voorbeeld:

Stel ik heb 2 gebruikers die websites laten scannen.
User 1 - > website.nl
User 2 -> website.com

Nu laad ik eerst user 1 en process de eerste pagina, daaruit haal ik alle links (36)
Daarna laad ik user 2 en process de eerste pagina, daaruit haal ik alle links (15).

In het tabel staat het nu zo
id 1 -> user 1 pagina 1
id 2 -> user 2 pagina 1
id 3 t/m 39 -> user 1 vervolg pagina
id 40 t/m 55 -> user 2 vervolg pagina

Dus als ik door ga met scannen gebeurd er dit.

user 1 laad de volgende pagina's in queue (3 t/m 39) en haalt daaruit 300 pagina's
user 2 laad de volgende pagina's in queue (40 t/m 55) en haalt daaruit 500 pagina's

tabel ziet er nu zo uit (vervolg)
id 56 t/m 356 -> user 1 vervolg pagina's
id 367 t/m 867 -> user 2 vervolg pagina's

user 1 laad de volgende pagina's in queue (56 t/m 356) en haalt daaruit 3000 pagina's
user 2 laad de volgende pagina's in queue (40 t/m 55) en haalt daaruit 5000 pagina's

tabel ziet er nu zo uit (vervolg) etc
id 868 t/m 3868 -> user 1 vervolg pagina's
id 3869 t/m 8869 -> user 2 vervolg pagina's

etc etc etc

Zoals je nu ziet wordt de verhouding erg scheef tussen het inlezen en het toevoegen aan de queue, dus mijn vraag is hoe ik dit beter kan oplossen?
Waarom doe je alles in 1 table? Da's toch niet meer bij te houden?
Je moeder is een hamster
pi_126825337
Waarom niet? in deze tabel staan alleen maar het volgende

id, project_id, url, ref_id, last_visit :)

That's all
Just say hi!
  dinsdag 21 mei 2013 @ 19:53:05 #286
118585 Crutch
Filantroop || Taalzwengel
pi_126825571
Dus ref_id is de id met de url van de pagina waarin de url gevonden is?
Oftewel z'n 'parent'-pagina?
Je moeder is een hamster
  dinsdag 21 mei 2013 @ 19:57:51 #287
118585 Crutch
Filantroop || Taalzwengel
pi_126825952
Misschien kun je een tabel met 'tasks' maken.
Als een thread dan klaar is met lezen, steelt hij een aantal taken van de andere user die nog bezig is. And so on.
Je moeder is een hamster
pi_126826133
quote:
0s.gif Op dinsdag 21 mei 2013 19:53 schreef Crutch het volgende:
Dus ref_id is de id met de url van de pagina waarin de url gevonden is?
Oftewel z'n 'parent'-pagina?
Correct :)

quote:
0s.gif Op dinsdag 21 mei 2013 19:57 schreef Crutch het volgende:
Misschien kun je een tabel met 'tasks' maken.
Als een thread dan klaar is met lezen, steelt hij een aantal taken van de andere user die nog bezig is. And so on.
Dat is dus het probleem, ik zou liever zien dat ik bv per gebruiker 1 url uitlees, daarvan de links in de database invoer en op ga naar de volgende user (job) en daarvan 1 url uitlees en etc etc etc..
Just say hi!
  dinsdag 21 mei 2013 @ 20:08:28 #289
118585 Crutch
Filantroop || Taalzwengel
pi_126826731
Dan verdeel je geen taken, maar krijgen beide users vanaf het begin een specifiek domein en blijven altijd de onderliggende pagina's en url die aanvankelijk uit dat domein gekomen zijn scannen.

Oftewel; ik denk niet dat wat jij wil kan zonder dat de processen scheef gaan lopen, want ze nemen elkaar in principe geen werk uit handen dus is er geen balans.
Je moeder is een hamster
pi_126827023
quote:
0s.gif Op dinsdag 21 mei 2013 20:08 schreef Crutch het volgende:
Dan verdeel je geen taken, maar krijgen beide users vanaf het begin een specifiek domein en blijven altijd de onderliggende pagina's en url die aanvankelijk uit dat domein gekomen zijn scannen.

Oftewel; ik denk niet dat wat jij wil kan zonder dat de processen scheef gaan lopen, want ze nemen elkaar in principe geen werk uit handen dus is er geen balans.
Nee klopt maar het zou mooi zijn als ik de een een url kon laten opvragen, die verwerken en dan de url van de volgende opvragen ongeacht hoe lang de queue is...
Just say hi!
  dinsdag 21 mei 2013 @ 20:21:47 #291
118585 Crutch
Filantroop || Taalzwengel
pi_126827475
quote:
0s.gif Op dinsdag 21 mei 2013 20:13 schreef Chandler het volgende:

[..]

Nee klopt maar het zou mooi zijn als ik de een een url kon laten opvragen, die verwerken en dan de url van de volgende opvragen ongeacht hoe lang de queue is...
poehhhhhh.....
Dan zou je moeten bepalen wat een url is en wat een url is komende uit zo'n 'parent'-url; eenmaal begonnen loop je het risico dat er geen eind aan het scannen komt, neem bijvoorbeeld wikipedia. :')

Je queue kan dan wel eens exponentieel oplopen, interessant wel, maar ook dweilen met de kraan open.
Je moeder is een hamster
pi_126844471
quote:
0s.gif Op dinsdag 21 mei 2013 20:21 schreef Crutch het volgende:

[..]

poehhhhhh.....
Dan zou je moeten bepalen wat een url is en wat een url is komende uit zo'n 'parent'-url; eenmaal begonnen loop je het risico dat er geen eind aan het scannen komt, neem bijvoorbeeld wikipedia. :')

Je queue kan dan wel eens exponentieel oplopen, interessant wel, maar ook dweilen met de kraan open.
Dat bedoel ik, dus als ik het op deze manier doe moet ik OF voor iedere job een apart script laten lopen OF een script maken die jobs netjes verdeeld en ongeacht de lengte van de queue de url's verwerkt...

GlowMouse? Catch22? en anderen? jullie ideeen?
Just say hi!
  woensdag 22 mei 2013 @ 08:48:49 #293
166255 Maringo
Bèhèhèhèh
pi_126845073
Wat perspectief is misschien ook handig. Om hoeveel websites gaat het? Hoeveel user? Hoe groot zijn de websites?

En op de vraag hier Google het doet, weet alleen Google het antwoord. Maar ga er vanuit dat hun niet 1 job per keer laten draaien.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_126845419
quote:
0s.gif Op woensdag 22 mei 2013 08:48 schreef Maringo het volgende:
Wat perspectief is misschien ook handig. Om hoeveel websites gaat het? Hoeveel user? Hoe groot zijn de websites?
Ok,

5 users, 5 sites :) en hoe groot de websites zijn maakt op zich weinig uit, de ene heeft 20 pagina's de andere 20.000.000 :)

Een ander voorbeeld: Stel er zijn mensen die op youtube video's uploaden (LOL, wie doet dat nou?) en youtube kan maar 1 video per keer converteren!. Er is dan een wachtrij waarin video's gezet worden. Opeens is er een gebruiker die 20 video's toevoegt (speeltijd: 6000 uur) en deze komen allemaal in de wachtrij, daarna komt er 1 gebruiker en die upload een videotje van 30 seconden. Nu moet deze laatste gebruiker wachten totdat de 20 video's van de vorige gebruiker is voltooid, terwijl het eerlijker zou zijn als er van de ene gebruiker 1 video verwerkt wordt en daarna die van de ander en etc etc etc..

Duidelijker? :D

Maar uit de respons blijkt dat er blijkbaar niemand hier gewerkt heeft aan zo'n systeem :@ :+

quote:
En op de vraag hier Google het doet, weet alleen Google het antwoord. Maar ga er vanuit dat hun niet 1 job per keer laten draaien.
Daar ga ik natuurlijk ook niet vanuit ;) maar er zijn genoeg sites die dit soort zaken regelen met 1 job controller oid!? zie iets beter geschetst voorbeeld;


Even een grof voorbeeld; gebruiker B die dus zorgt dat andere websites ERG lang moeten wachten voordat ze klaar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
4 klanten die informatie willen invoeren
Klant A -> wil www.kleinewebsite.nl uitlezen
Klant B -> wil www.google.com uitlezen
Klant C -> wil www.anderekleinesite.nl uitlezen
Klant D -> wil www.fok.nl uitlezen

Eerste run;
Klant A leest site en vind 50 links = ID 1 t/m 50 (tijd 1 seconde)
Klant B leest site en vind 500 links = ID 51 t/m 551 (tijd 1 seconde)
Klant C leest site en vind 10 links = ID 551 t/m 561 (tijd 1 seconde)
Klant D leest site en vind 4 links = ID 562 t/m 566 (tijd 1 seconde)

Tweede run
Klant A leest volgende links uit en vind 500 links in de 50 uitgelezen links = ID 567 t/m 1067 (tijd 50 seconde)
Klant B leest volgende links uit en vind 50000 links in de 500 uitgelezen links = ID 1068 t/m 6068 (tijd 4 minuten)
Klant C leest volgende links uit en vind 200 links in de 10 uitgelezen links = ID 6069 t/m 6269 (tijd 1 minuut)
Klant D leest volgende links uit en vind 20 links in de 4 uitgelezen links = ID 6270 t/m 6280 (tijd 20 seconden)

Derde run;
Klant A leest volgende links uit en vind 5000 links in de 500 uitgelezen links = ID 6281 t/m 12281 (tijd 4 minuten)
Klant B leest volgende links uit en vind 500000 links in de 50000 uitgelezen links = ID 12281 t/m 512281 (tijd 66 uur)
Klant C leest volgende links uit en vind 2000 links in de 200 uitgelezen links = ID 512282 t/m 514282 (tijd 2 minuten)
Klant D leest volgende links uit en vind 5 links in de 20 uitgelezen links = ID 514282 t/m 514287 (tijd 25 seconden)

Alles is fictief maar laat zien dat 1 gebruiker dus de queue erg lang in gebruik kan nemen terwijl het eerlijker zou zijn als ik per gebruiker per ronde 1 link uitlees oid?!

Mocht iemand leesvoer hebben dan zie ik die graag gepost! *)

[ Bericht 19% gewijzigd door Chandler op 22-05-2013 09:38:03 ]
Just say hi!
  woensdag 22 mei 2013 @ 09:38:53 #295
187069 slacker_nl
Sicko pur sang
pi_126846019
quote:
0s.gif Op woensdag 22 mei 2013 09:10 schreef Chandler het volgende:

[..]

Ok,

5 users, 5 sites :) en hoe groot de websites zijn maakt op zich weinig uit, de ene heeft 20 pagina's de andere 20.000.000 :)

Een ander voorbeeld: Stel er zijn mensen die op youtube video's uploaden (LOL, wie doet dat nou?) en youtube kan maar 1 video per keer converteren!. Er is dan een wachtrij waarin video's gezet worden. Opeens is er een gebruiker die 20 video's toevoegt (speeltijd: 6000 uur) en deze komen allemaal in de wachtrij, daarna komt er 1 gebruiker en die upload een videotje van 30 seconden. Nu moet deze laatste gebruiker wachten totdat de 20 video's van de vorige gebruiker is voltooid, terwijl het eerlijker zou zijn als er van de ene gebruiker 1 video verwerkt wordt en daarna die van de ander en etc etc etc..

Duidelijker? :D

Maar uit de respons blijkt dat er blijkbaar niemand hier gewerkt heeft aan zo'n systeem :@ :+

Even een grof voorbeeld; gebruiker B die dus zorgt dat andere websites ERG lang moeten wachten voordat ze klaar.

[..]

Daar ga ik natuurlijk ook niet vanuit ;) maar er zijn genoeg sites die dit soort zaken regelen met 1 job controller oid!? zie iets beter geschetst voorbeeld;
[ code verwijderd ]

Alles is fictief maar laat zien dat 1 gebruiker dus de queue erg lang in gebruik kan nemen terwijl het eerlijker zou zijn als ik per gebruiker per ronde 1 link uitlees oid?!

Mocht iemand leesvoer hebben dan zie ik die graag gepost! *)
Ik zou gewoon queue's maken. Je hebt verschillende q-runners die een zooi links uitlezen. Onafhankelijk vd gebruiker.
In theory there is no difference between theory and practice. In practice there is.
pi_126846079
quote:
0s.gif Op woensdag 22 mei 2013 09:38 schreef slacker_nl het volgende:

[..]

Ik zou gewoon queue's maken. Je hebt verschillende q-runners die een zooi links uitlezen. Onafhankelijk vd gebruiker.
Kun je dat iets breder uitleggen? q-runners? zal eens googlen! *)
Just say hi!
  woensdag 22 mei 2013 @ 09:49:17 #297
12221 Tijn
Powered by MS Paint
pi_126846270
quote:
0s.gif Op woensdag 22 mei 2013 09:10 schreef Chandler het volgende:

[..]

Opeens is er een gebruiker die 20 video's toevoegt (speeltijd: 6000 uur) en deze komen allemaal in de wachtrij, daarna komt er 1 gebruiker en die upload een videotje van 30 seconden. Nu moet deze laatste gebruiker wachten totdat de 20 video's van de vorige gebruiker is voltooid, terwijl het eerlijker zou zijn als er van de ene gebruiker 1 video verwerkt wordt en daarna die van de ander en etc etc etc..
Waarom zou dat eerlijker zijn? Gewoon first in, first out lijkt me juist het toonbeeld van eerlijkheid.
  woensdag 22 mei 2013 @ 09:53:37 #298
187069 slacker_nl
Sicko pur sang
pi_126846386
quote:
0s.gif Op woensdag 22 mei 2013 09:41 schreef Chandler het volgende:

[..]

Kun je dat iets breder uitleggen? q-runners? zal eens googlen! *)
Je hebt een queue, daarin staan je links (of verwijzingen ernaar), en je hebt een queue runner. Dan pakt je q-runner een zut links, tagged de queue (zodat andere runners niet dezelfde links gaan ophalen), processed een qitem, en sluit spul af. Voordeel is dat je meerdere queue-runners kan hebben, simultaan kan draaien, je hoeft niet te kijken naar de gebruiker, maar je pakt gewoon shit op wat in de queue staat. Is er niks, dan draait de qrunner niet (of heel kort), is er veel, dan pakt ie alles in batches op en doet ie z'n ding.
In theory there is no difference between theory and practice. In practice there is.
pi_126847735
quote:
5s.gif Op woensdag 22 mei 2013 09:49 schreef Tijn het volgende:
Waarom zou dat eerlijker zijn? Gewoon first in, first out lijkt me juist het toonbeeld van eerlijkheid.
Omdat iemand op zo'n manier kan zorgen dat hij 3 dagen de site voor zch aan het werk heeft en de ander daarna pas zijn job kan doen... en daarvoor wil ik dus een passende oplossing vinden..

Zat zelf te denken aan draaiende processen een time mee te geven en dan steeds een url processen van de langst wachtende oid...?
Just say hi!
  woensdag 22 mei 2013 @ 11:52:28 #300
166255 Maringo
Bèhèhèhèh
pi_126850269
Dus eigenlijk een multidimensionale array zoals dit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
array(
    1 => array (
        "name" => "user1",
        "websites" => array (
            1 => "website1a",
            2 => "website1b",
            3 => "website1c"
        )
    ),
    2 => array (
        "name" => "user2",
        "websites" => array (
            1 => "website2a"
        )
    ),
    3 => array (
        "name" => "user3",
        "websites" => array (
            1 => "website3a",
            2 => "website3b"
        )
    )
);

En dan nadat user 1 klaar is met de eerste website wordt ie achteraan gezet en wordt user2 de eerste volgende etc etc.

Dan worden de websites in deze volgorde verwerkt:
website1a
website2a
website3a
website1b
website3b
website1c

Dat bedoel je toch?
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_126851295
Node.js _O_
Lekker happen
abonnement bol.com Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')