abonnement Unibet Coolblue Bitvavo
pi_104159529


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
pi_104159541
quote:
0s.gif Op woensdag 9 november 2011 13:36 schreef Scorpie het volgende:

[..]

Arrays & loops _O_
Concatenatie en empty() checks :(
Als je 10 velden maakt met name="veldnaam[]" en deze niet in vult zit hij nog steeds in de array, dus de empty check zit zowel bij de concatenatie als bij de array+loops, dus dan komt het aan op de array vs, concat waar laatste 1 berekening extra nodig is per iteratie om de veldnaam te berekenen.
pi_104159732
quote:
0s.gif Op woensdag 9 november 2011 13:41 schreef Pakspul het volgende:

[..]

Als je 10 velden maakt met name="veldnaam[]" en deze niet in vult zit hij nog steeds in de array, dus de empty check zit zowel bij de concatenatie als bij de array+loops, dus dan komt het aan op de array vs, concat waar laatste 1 berekening extra nodig is per iteratie om de veldnaam te berekenen.
Daarbij is het qua leesbaarheid een stuk minder netjes, is het werken in PHP met array`s een native werkwijze en werkt het qua onderhoud ook erg lekker.
pi_104159874
Ben ik het met je eens, maar je zit nog steeds met dat in beide gevallen je 10 velden hebt. Hiervoor kan de persoon met het probleem (naam even kwijt :P) beter gaan kijken of hij wat mooie trucks kan uithalen in HTML+JS om zo on-the-fly rijen toe te voegen en dan kan hij perfect met naam[] gaan werken.
pi_104160084
quote:
0s.gif Op woensdag 9 november 2011 13:51 schreef Pakspul het volgende:
Ben ik het met je eens, maar je zit nog steeds met dat in beide gevallen je 10 velden hebt. Hiervoor kan de persoon met het probleem (naam even kwijt :P) beter gaan kijken of hij wat mooie trucks kan uithalen in HTML+JS om zo on-the-fly rijen toe te voegen en dan kan hij perfect met naam[] gaan werken.
Ben ik het nog niet mee eens, want je kan een rij toevoegen met js, maar wie zegt dat deze is ingevuld?
pi_104160255
quote:
0s.gif Op woensdag 9 november 2011 13:57 schreef remi1986 het volgende:

[..]

Ben ik het nog niet mee eens, want je kan een rij toevoegen met js, maar wie zegt dat deze is ingevuld?
Het blijft verstandig om checks uit te blijven voeren, maar het scheelt sowieso een scherm waar de persoon moet opgeven hoeveel velden/rijen hij wil. Dat zal ten goede komen aan de gebruiksvriendelijkheid van de applicatie. Het scheelt je in omslachtige PHP constructies omdat het in JS erg makkelijk geregeld kan worden. En de persoon kan snel nog een regel toevoegen als hij er toch meer dan X wil hebben, anders moet hij terug en weer alles invullen.
pi_104160692
quote:
0s.gif Op woensdag 9 november 2011 14:02 schreef Pakspul het volgende:

[..]

Het blijft verstandig om checks uit te blijven voeren, maar het scheelt sowieso een scherm waar de persoon moet opgeven hoeveel velden/rijen hij wil. Dat zal ten goede komen aan de gebruiksvriendelijkheid van de applicatie. Het scheelt je in omslachtige PHP constructies omdat het in JS erg makkelijk geregeld kan worden. En de persoon kan snel nog een regel toevoegen als hij er toch meer dan X wil hebben, anders moet hij terug en weer alles invullen.
Dat ben ik dan wel weer met je eens ^O^

met jQuery heel goed te doen trouwens
http://charlie.griefer.co(...)dding-form-elements/

Demo:
http://charlie.griefer.co(...)dding-form-elements/


of http://sroucheray.org/blog/jquery-dynamic-form/

[ Bericht 10% gewijzigd door remi1986 op 09-11-2011 14:20:04 ]
pi_104191894
Heren,

Ik heb een windows 2008 server staan met iis 6.0, helaas heb ik daar weinig ervaring mee en krijg ik erg weinig support en geen keuze voor iets anders.

Op dit moment krijg ik wachtwoord fouten als ik een scheduled task wil aanmaken ondanks dat ik een administrator account heb, dat probeer ik met server beheer op te lossen.

Ik ben op zoek naar een goed cronjob programma, deze moet gratis zijn.at bleek een demo te zijn,
Een tijdje terug had ik Z-cron geïnstalleerd maar dat bleek een demo te zijn.
pi_104191935
Ik heb gisteren een enorme database omgezet naar InnoDB, en wat een verschil zeg, alles voelt veel sneller aan.

Trouwens de DB config van pastebin gebruikt :P
💍 💍 💍 💍 💍 💍 🍌 ☎
pi_104191999
quote:
0s.gif Op donderdag 10 november 2011 08:32 schreef Pizzalucht het volgende:
Ik heb gisteren een enorme database omgezet naar InnoDB, en wat een verschil zeg, alles voelt veel sneller aan.

Trouwens de DB config van pastebin gebruikt :P
Ik mag hopen dat het niet alleen zo voelt, maar ook zo is en je dat kan meten.
pi_104192041
quote:
14s.gif Op donderdag 10 november 2011 08:38 schreef Scorpie het volgende:

[..]

Ik mag hopen dat het niet alleen zo voelt, maar ook zo is en je dat kan meten.
Het gaat om een forum, iedereen zegt dat hij veel sneller is, dus daar hoef ik het niet voor te meten ;)

EDIT: en ik heb ook geen metingen gedaan voor het omzetten ;)
💍 💍 💍 💍 💍 💍 🍌 ☎
pi_104192104
quote:
0s.gif Op donderdag 10 november 2011 08:41 schreef Pizzalucht het volgende:

[..]

Het gaat om een forum, iedereen zegt dat hij veel sneller is, dus daar hoef ik het niet voor te meten ;)
Hm, ik ben blij dat ik niet zo`n instelling op mijn werk laat zien.
pi_104192148
quote:
15s.gif Op donderdag 10 november 2011 08:45 schreef Scorpie het volgende:

[..]

Hm, ik ben blij dat ik niet zo`n instelling op mijn werk laat zien.
Het lijkt wel alsof jij op dit forum zit om op iedereen te zeiken, is het ooit goed volgens jou?

Het was een weloverwogen actie, en we hadden veel onderzoek gedaan naar de oorzaak van de traagheid van de database.
💍 💍 💍 💍 💍 💍 🍌 ☎
pi_104192173
quote:
0s.gif Op donderdag 10 november 2011 08:48 schreef Pizzalucht het volgende:

[..]

Het lijkt wel alsof jij op dit forum zit om op iedereen te zeiken, is het ooit goed volgens jou?
Het is gewoon een les. Als ik onnodig dingen ga vervangen / omzetten / migreren op mijn werk dan word ik (terecht) teruggefloten en moet ik aantonen waarom ik iets doe. Het is een way of thinking; "waarom doe je iets, wat levert het op, en hoe kan het nog beter?"

Ze zien me al aan komen met 'zuh zegguh dat het snellur werrukt'.

quote:
Het was een weloverwogen actie, en we hadden veel onderzoek gedaan naar de oorzaak van de traagheid van de database.
Dus je hebt wel gemeten?

[ Bericht 3% gewijzigd door #ANONIEM op 10-11-2011 08:51:30 ]
pi_104192192
quote:
0s.gif Op donderdag 10 november 2011 08:50 schreef Scorpie het volgende:

[..]

Het is gewoon een les. Als ik onnodig dingen ga vervangen / omzetten / migreren op mijn werk dan word ik (terecht) teruggefloten en moet ik aantonen waarom ik iets doe. Het is een way of thinking; "waarom doe je iets, wat levert het op, en hoe kan het nog beter?"

Ze zien me al aan komen met 'zuh zegguh dat het snellur werrukt'.

[..]

Dus je hebt wel gemeten?
Ik heb gemeten op MyISAM ja, maar die resultaten heb ik niet meer.
💍 💍 💍 💍 💍 💍 🍌 ☎
pi_104192231
quote:
0s.gif Op donderdag 10 november 2011 08:52 schreef Pizzalucht het volgende:

[..]

Ik heb gemeten op MyISAM ja, maar die resultaten heb ik niet meer.
Dan hoef je je toch ook niet aangevallen te voelen? Je hebt een use case waarom je iets gedaan hebt, je hebt het weten te motiveren en vervolgens uitgevoerd.
pi_104192260
quote:
14s.gif Op donderdag 10 november 2011 08:54 schreef Scorpie het volgende:

[..]

Dan hoef je je toch ook niet aangevallen te voelen? Je hebt een use case waarom je iets gedaan hebt, je hebt het weten te motiveren en vervolgens uitgevoerd.
Ja, maar geen resultaten om te vergelijken.

En sorry dan, het is vroeg :P
💍 💍 💍 💍 💍 💍 🍌 ☎
pi_104192441
quote:
0s.gif Op donderdag 10 november 2011 08:57 schreef Pizzalucht het volgende:

[..]

Ja, maar geen resultaten om te vergelijken.

En sorry dan, het is vroeg :P
:*
  donderdag 10 november 2011 @ 11:18:14 #19
75592 GlowMouse
l'état, c'est moi
pi_104195484
InnoDB is heel vaak de betere keuze. De configuratie moet je dan wel op je data en op je hardware afstemmen, en niet zo van pastebin plukken.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 10 november 2011 @ 12:16:13 #20
58834 Catbert
The evil HR Director.
pi_104197549
quote:
0s.gif Op donderdag 10 november 2011 11:18 schreef GlowMouse het volgende:
InnoDB is heel vaak de betere keuze.
Als je veel updates doet, sure, maar als je vooral veel leest en geen transacties nodig hebt is MyISAM vaak sneller. Dus dat is nogal een broad sweeping statement. Hoe dan ook is het "meten is weten", dat soort dingen test je natuurlijk gewoon.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  donderdag 10 november 2011 @ 12:22:08 #21
75592 GlowMouse
l'état, c'est moi
pi_104197767
quote:
0s.gif Op donderdag 10 november 2011 12:16 schreef Catbert het volgende:

[..]

Als je veel updates doet, sure, maar als je vooral veel leest en geen transacties nodig hebt is MyISAM vaak sneller.
Het verschil is slechts enkele procenten, niet de moeite waard tegenover de voordelen die InnoDB biedt.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 10 november 2011 @ 12:40:14 #22
58834 Catbert
The evil HR Director.
pi_104198364
quote:
0s.gif Op donderdag 10 november 2011 12:22 schreef GlowMouse het volgende:
Het verschil is slechts enkele procenten, niet de moeite waard tegenover de voordelen die InnoDB biedt.
InnoDB houdt toch geen rowcounts bij voor tabellen? Of doet 'ie dat wel tegenwoordig? Gebruik al jaren geen MySQL meer...
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_104199416
quote:
0s.gif Op donderdag 10 november 2011 11:18 schreef GlowMouse het volgende:
InnoDB is heel vaak de betere keuze. De configuratie moet je dan wel op je data en op je hardware afstemmen, en niet zo van pastebin plukken.
Met 256mb geheugen zit je helaas aan MyISAM vast.

of heb je nog een protip?
  donderdag 10 november 2011 @ 13:40:32 #24
75592 GlowMouse
l'état, c'est moi
pi_104200247
quote:
0s.gif Op donderdag 10 november 2011 12:40 schreef Catbert het volgende:

[..]

InnoDB houdt toch geen rowcounts bij voor tabellen? Of doet 'ie dat wel tegenwoordig? Gebruik al jaren geen MySQL meer...
Je hebt nooit een rowcount nodig. Een rowcount bestaat ook helemaal niet.
quote:
0s.gif Op donderdag 10 november 2011 13:15 schreef Thomass het volgende:

[..]

Met 256mb geheugen zit je helaas aan MyISAM vast.

of heb je nog een protip?
256MB geheugen komt nergens voor. InnoDB kan er prima mee werken, maar verwacht net als bij MyISAM geen goede performance als je regelmatig data moet lezen die niet in je geheugen staat.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 10 november 2011 @ 13:51:39 #25
63192 ursel
"Het Is Hier Fantastisch!
pi_104200566
quote:
0s.gif Op donderdag 10 november 2011 11:18 schreef GlowMouse het volgende:
InnoDB is heel vaak de betere keuze. De configuratie moet je dan wel op je data en op je hardware afstemmen, en niet zo van pastebin plukken.
Heb je daar ook mooie tutorials voor qua settings? :7
  donderdag 10 november 2011 @ 13:57:31 #26
75592 GlowMouse
l'état, c'est moi
pi_104200745
quote:
0s.gif Op donderdag 10 november 2011 13:51 schreef ursel het volgende:

[..]

Heb je daar ook mooie tutorials voor qua settings? :7
Er is heel veel leesvoer, maar let vooral op de bufferpoolgrootte, op innodb_flush_log_at_trx_commit =2 (tenzij je een raid controller met bbu hebt, dan 1), innodb_flush_method = O_DIRECT, innodb_file_per_table, en bij een ssd nog wat andere settings. Let ook op dat je minimaal 5.5 gebruikt, en bij voorkeur een Percona-build omdat je daarmee veel meer kunt meten. Al is dat laatste bij 256 MB wellicht niet echt wenselijk omdat al die metrics ook een klein beetje geheugen gebruiken.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104200994
quote:
0s.gif Op donderdag 10 november 2011 11:18 schreef GlowMouse het volgende:
InnoDB is heel vaak de betere keuze. De configuratie moet je dan wel op je data en op je hardware afstemmen, en niet zo van pastebin plukken.
Ik heb niet de config van pastebin geplukt, ik heb de config van de eigenaar van pastebin :*

En natuurlijk afgesteld op de beschikbare hardware(die kwam aardig overeen)
💍 💍 💍 💍 💍 💍 🍌 ☎
  donderdag 10 november 2011 @ 14:17:16 #28
58834 Catbert
The evil HR Director.
pi_104201378
quote:
0s.gif Op donderdag 10 november 2011 13:40 schreef GlowMouse het volgende:
Je hebt nooit een rowcount nodig. Een rowcount bestaat ook helemaal niet.
MyISAM houdt gewoon bij hoeveel rows er in een table zitten. Een simpele SELECT COUNT(*) FROM table wordt dan uitgevoerd door uberhaupt niet naar de table te kijken maar gewoon die rowcount terug te geven. Natuurlijk een enorm simpele usecase die niet vaak voor zal komen, en ik geloof best dat InnoDB in veel gevallen de beste oplossing is (alleen al om de row-locking), maar ik vind het wat kort door de bocht om te stellen dat dat altijd zo is.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  donderdag 10 november 2011 @ 14:22:13 #29
75592 GlowMouse
l'état, c'est moi
pi_104201529
quote:
0s.gif Op donderdag 10 november 2011 14:17 schreef Catbert het volgende:

[..]

MyISAM houdt gewoon bij hoeveel rows er in een table zitten. Een simpele SELECT COUNT(*) FROM table wordt dan uitgevoerd door uberhaupt niet naar de table te kijken maar gewoon die rowcount terug te geven.
je leest niet goed ;(
quote:
0s.gif Op donderdag 10 november 2011 14:04 schreef Pizzalucht het volgende:

[..]

Ik heb niet de config van pastebin geplukt, ik heb de config van de eigenaar van pastebin :*
groot verschil ;(
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104201582
quote:
0s.gif Op donderdag 10 november 2011 13:40 schreef GlowMouse het volgende:

[..]

Je hebt nooit een rowcount nodig. Een rowcount bestaat ook helemaal niet.

[..]
quote:
256MB geheugen komt nergens voor. InnoDB kan er prima mee werken, maar verwacht net als bij MyISAM geen goede performance als je regelmatig data moet lezen die niet in je geheugen staat.
Op mijn vps wel :P

De memoryfootprint van innodb is veel hoger dan die van myisam, vandaar mijn vraag.
  donderdag 10 november 2011 @ 14:29:13 #31
75592 GlowMouse
l'état, c'est moi
pi_104201757
met geheugentekort kan innodb juist heel goed presteren mbv page-compressie
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104224137
Ik kom ergens niet uit.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
   $sql 
"SELECT 
                pagina.id AS paginaid, 
                pagina.title AS paginatitle, 
                pagina.link AS paginalink,
                buttons.button_id AS button_id,
                buttons.id AS id
            FROM 'pagina'
            JOIN  buttons
            ON pagina.id = buttons.id
            ORDER BY `paginatitle`  ASC;"
;
?>

Ik heb een tabel 'buttons' met button_id en id en een tabel 'pagina' met id, title en link.
Nu wil ik de buttons laten zien en dan uit de tabel 'pagina' de juiste title en link geven bij het id dat overeenkomt met die in de tabel 'buttons'.

Blijf een foutmelding krijgen. Het zit in de Query maar ik snap niet waar.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  donderdag 10 november 2011 @ 22:19:10 #33
75592 GlowMouse
l'état, c'est moi
pi_104224367
FROM 'pagina'

zonder quotes.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104224538
Helaas geen verandering. Ik ben echt een ramp met JOIN.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  donderdag 10 november 2011 @ 22:23:46 #35
75592 GlowMouse
l'état, c'est moi
pi_104224649
wat is 'de foutmelding' dan?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104224725
Hij laat mijn if(!$result){ echo "foutmelding" }; zien. Hij kan de query dus niet uitvoeren.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  donderdag 10 november 2011 @ 22:26:00 #37
75592 GlowMouse
l'état, c'est moi
pi_104224790
zo debug je geen queries
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104225071
Als ik de query draai in mijn phpMyAdmin werkt het gewoon.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_104225257
Goedenavond, ik ben boem-dikkie de klapmongool en ik ga kappen voor vanavond. Ik had nog geen database verbinding op de pagina waar de output moest komen. :') !!!!
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_104225342
:N en dat kan moderator zijn :N :P
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_104225420
quote:
0s.gif Op donderdag 10 november 2011 22:34 schreef Chandler het volgende:
:N en dat kan moderator zijn :N :P
Ik moest voor ik moderator werd van B&H en GAM inderdaad eerst een PHP/mySQL toets afnemen en deze met minimaal 95% aan goede antwoorden behalen.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_104225526
quote:
9s.gif Op donderdag 10 november 2011 22:33 schreef boem-dikkie het volgende:
Goedenavond, ik ben boem-dikkie de klapmongool en ik ga kappen voor vanavond. Ik had nog geen database verbinding op de pagina waar de output moest komen. :') !!!!
keer tijd om je db class uit te breiden? Zodat hij dit soort dingen aangeeft.
pi_104226354
quote:
1s.gif Op donderdag 10 november 2011 22:37 schreef Pakspul het volgende:

[..]

keer tijd om je db class uit te breiden? Zodat hij dit soort dingen aangeeft.
Dat heeft niet perse zo veel zin want de hele database class stond nog niet op die pagina.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  donderdag 10 november 2011 @ 23:00:03 #44
75592 GlowMouse
l'état, c'est moi
pi_104226792
quote:
14s.gif Op donderdag 10 november 2011 22:24 schreef boem-dikkie het volgende:
Hij laat mijn if(!$result){ echo "foutmelding" }; zien. Hij kan de query dus niet uitvoeren.
zulke dingen doe je ook in je db-class
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104226992
quote:
10s.gif Op donderdag 10 november 2011 22:52 schreef boem-dikkie het volgende:

[..]

Dat heeft niet perse zo veel zin want de hele database class stond nog niet op die pagina.
Je moet die db class dan ook gebruiken om queries uit te voeren, dan heb je nooit de kans om een query uit te voeren zonder dat de db class geladen is. :)
pi_104227401
Ah duidelijk. Toch maar eens naar kijken.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_104258465
1
2
3
4
5
SELECT
  TIME_FORMAT(TIMEDIFF(landingtime,starttime),"%k:%i") 
    AS flighttime
ORDER BY flighttime  <<<<<<---------------
LIMIT 0,10
Is dit een garantie voor een trage query of moet ik een andere oorzaak zoeken waarom mijn query 8 seconden nodig heeft?

(de echte query is wel wat langer maar dit is het enige verschil met een andere query die binnen 0,03 seconden klaar is)

-edit-
Als ik de TIME_FORMAT eruit haal laat hij geen significante verbetering zien. Als ik de ORDER BY eruit haal wel. Het ligt dus aan het sorteren na een TIMEDIFF, dat kost gewoon tijd.
Heeft iemand enig idee hoe ik dat kan verbeteren? Flighttime opslaan in een extra kolom kan natuurlijk, maar misschien is er een makkelijkere optie?

[ Bericht 10% gewijzigd door KomtTijd... op 11-11-2011 20:32:28 ]
  zaterdag 12 november 2011 @ 12:53:35 #48
75592 GlowMouse
l'état, c'est moi
pi_104282605
quote:
0s.gif Op vrijdag 11 november 2011 19:32 schreef KomtTijd... het volgende:

[ code verwijderd ]

Heeft iemand enig idee hoe ik dat kan verbeteren? Flighttime opslaan in een extra kolom kan natuurlijk
Dat moet, met een index erop. Je kunt het resultaat ook 1x/dag berekenen en ergens opslaan, zoveel nieuwe records (niet als in db-records maar als in langste vluchten) zullen er niet komen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104291609
Dan denk ik dat ik liever voor dat eerste gaat. Worden de andere query's waarschijnlijk ook weer een tikkeltje sneller van.
pi_104318028
Pfft ik ben een hele poos bezig geweest, wel een hoop geleerd over het gebruik van indexen (die index op (firstpilot,secondpilot) had ik veel eerder moeten doen) maar uiteindelijk niet het gewenste resultaat gehaald, de query duurde op zijn minst nog 7 seconden...
Uiteindelijk heb ik een andere optimalisatie gedaan: WHERE flighttime > '01:05:00'. Dat limiteert het aantal vluchten gigantisch aangezien we meestal een maximum vluchtduur van 1 uur aanhouden. De "rondje-om-de-kerk" vluchten komen op deze manier dus niet meer in de top 10, maargoed dat is ook niet zo boeiend.
  zondag 13 november 2011 @ 16:00:45 #51
75592 GlowMouse
l'état, c'est moi
pi_104319192
je kunt ook je query en je tabellen hier posten
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104346643
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
SELECT     
    floco_flight_id,         (int)
    airplane,                (varchar)
    firstpilot_feu_id,       (int)
    secondpilot_feu_id,      (int)
    starttime,               (datetime)
    landingtime,             (datetime)
    startmethod,             (varchar)
    flighttype,              (varchar)
    club,                    (boolean)
    own,                     (boolean)
    flighttime,              (time)
    DATE(starttime) 
        AS datum,
    feu1.data 
        AS firstpilot_name,
    feu2.data 
        AS secondpilot_name
FROM flightdb_flights
LEFT JOIN feusers_properties AS feu1
    ON (firstpilot_feu_id = feu1.userid)
        AND (feu1.title = 'realname')
LEFT JOIN feusers_properties AS feu2
    ON (secondpilot_feu_id = feu2.userid)
        AND (feu2.title = 'realname')
WHERE (YEAR(starttime) = '2011' 
    AND airplane IN ('PH454','PH974','PH1006','PH1210','PH1382','PH1417','PH1433')
    AND flighttime > '01:05:00')
ORDER BY flighttime desc
LIMIT 0,10
Dit is de query. De tabel flightdb_flights laat zich raden. Voor de duidelijkheid heb ik de datatypes er even achter gezet. Deze heeft nu een index op (firstpilot_feu_id, secondpilot_feu_id), op (flighttime) en op (starttime). Er zitten nu een goeie 10.000 records in, ik reken op ongeveer 5000 records per jaar.

feusers_properties had ik al eens gepost, deze heb ik een index gegeven op (userid,title):
1
2
3
4
5
userid | title | data
1      | name  | piet
2      | name  | jan
1      | adres | hoofdstraat 21
3      | name  | henk

-edit-
een andere query die veel vaker voorkomt is dezelfde, maar dan eindigend op:
1
2
3
WHERE (YEAR(starttime) = '2011' 
    AND (firstpilot_feu_id = '2' OR secondpilot_feu_id = '2'))
ORDER BY starttime
en ook:
1
2
WHERE (DATE(starttime) = '2011-10-30')
ORDER BY starttime
waarbij de datum en userid uiteraard kunnen verschillen. Deze query's zijn allebei wel snel.

[ Bericht 10% gewijzigd door KomtTijd... op 14-11-2011 11:57:07 ]
  maandag 14 november 2011 @ 11:56:48 #53
58834 Catbert
The evil HR Director.
pi_104347349
Je berekent on the fly (huhu) waarden waarop je ordent, dat betekent min of meer dat er een volledige tijdelijke tabel opgebouwd moet worden (zou je waarschijnlijk ook zien in een query explain). Oftewel; bereken die flight-time voor en zet er een index op.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_104347445
quote:
0s.gif Op maandag 14 november 2011 11:56 schreef Catbert het volgende:
Je berekent on the fly (huhu) waarden waarop je ordent, dat betekent min of meer dat er een volledige tijdelijke tabel opgebouwd moet worden (zou je waarschijnlijk ook zien in een query explain). Oftewel; bereken die flight-time voor en zet er een index op.
Dat is juist wat ik gedaan heb. Flighttime is nu een eigen kolom met index, terwijl deze eerst met TIMEDIFF on the fly berekend werd. Het verschil in prestaties is alleen marginaal.

Ik heb ook geprobeerd wat het verschil is tussen WHERE YEAR(starttime) = '2011' en WHERE starttime BETWEEN 2011-01-01 AND 2011-12-31, maar dat is ook nihil/onmeetbaar.
  maandag 14 november 2011 @ 12:03:50 #55
58834 Catbert
The evil HR Director.
pi_104347548
Doe eens een query explain?

Sowieso is een query op 10k records complete peanuts.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_104348014
quote:
0s.gif Op maandag 14 november 2011 12:03 schreef Catbert het volgende:
Doe eens een query explain?
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
pear_ResultSet Object
(
    [emptyTimeStamp] => &nbsp;
    [emptyDate] =>  &nbsp;
    [datetime] => 
    [connectionId] => Resource id #25
    [fields] => Array
        (
            [id] => 1
            [select_type] => SIMPLE
            [table] => flightdb_flights
            [type] => range
            [possible_keys] => flighttime,airplane
            [key] => flighttime
            [key_len] => 4
            [ref] => 
            [rows] => 466
            [Extra] => Using where; Using temporary; Using filesort
        )

    [resultId] => Resource id #248
    [_currentRow] => 0
    [_numOfRows] => 3
    [_numOfFields] => 10
    [fetchMode] => 1
    [EOF] => 
    [record] => Array
        (
        )

)
ik zit me nog even in te lezen hoe ik dit moet vertalen...

-edit- voor de scherpe lezers: in de testdatabase stond dus ook nog een index op airplane.
Ik heb een index gemaakt op (airplane,starttime,flighttime), dat kan maar dan gebruikt 'ie nog steeds liever de index op flighttime.

quote:
Sowieso is een query op 10k records complete peanuts.
Dat leek mij ook, daarom is het ook irritant dat het zo traag gaat.

[ Bericht 1% gewijzigd door KomtTijd... op 14-11-2011 12:37:58 ]
  maandag 14 november 2011 @ 12:52:18 #57
75592 GlowMouse
l'état, c'est moi
pi_104348802
Waar is die explain van en kan je dat niet mooier weergeven?

>> De tabel flightdb_flights laat zich raden.
niet waar, bovendien zijn er meer tabellen

>> AND airplane IN ('PH454','PH974','PH1006','PH1210','PH1382','PH1417','PH1433')
hoe selectief is dat?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 14 november 2011 @ 13:01:17 #58
58834 Catbert
The evil HR Director.
pi_104349047
Ik snap echt niet waarom MySQL een tijdelijke tabel nodig denkt te hebben hiervoor. Rare query explain trouwens, probeer eens "EXPLAIN EXTENDED"?

Ben wel blij dat we hier vooral met MSSQL werken zeg...

quote:
0s.gif Op maandag 14 november 2011 12:20 schreef KomtTijd... het volgende:
Dat leek mij ook, daarom is het ook irritant dat het zo traag gaat.
Nou waarom het zo traag gaat is wel duidelijk. De vraag is waarom hij voor dat execution plan kiest...
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_104349390
Ah, ik heb gevonden wat het verschil maakt! De index op (userid,data) in de tabel feusers_properties! Dan valt ook ineens de "Using temporary; Using filesort" weg uit de explain.
Ik heb nu WHERE (flighttime > 01:05:00) weer uit de query gehaald, met index duurt de query nu rond de 0,006 seconden, zonder nog steeds 7-8 seconden.

Helaas probeer ik dat nu pas zónder die WHERE (flighttime > 01:05:00), waardoor het me nog niet opgevallen was. Ik was gisteren de boel al online aan het zetten (en had dus de benchmarks weggehaald).

quote:
0s.gif Op maandag 14 november 2011 12:52 schreef GlowMouse het volgende:
Waar is die explain van en kan je dat niet mooier weergeven?

>> De tabel flightdb_flights laat zich raden.
niet waar, bovendien zijn er meer tabellen

de explain is van de query exact zoals ik hierboven gepost heb (dus niet die twee varianten). Mooier weergeven zou kunnen maar ik wist/weet amper waar ik naar zit te kijken. Heb exlpain nog niet eerder gebruikt.
Wat zou je nog meer willen weten over flightdb_flights? En meer tabellen... Ja die zijn er, maar zitten niet in deze query. Moet ik dan mijn hele database posten? Lijkt me een beetje overdreven...
1
2
3
4
5
6
7
8
9
10
11
12
13
    1     floco_flight_id         bigint(19)
    2     airplane                 varchar(80)
    3     firstpilot_id             int(11)
    4     secondpilot_id             int(11)
    5     starttime                 datetime             
    6     landingtime             datetime 
    7     startmethod             varchar(20)
    8     flighttype                 varchar(20)
    9     club                     tinyint(1)
    10     own                     tinyint(1)
    11     firstpilot_feu_id         int(11)
    12     secondpilot_feu_id         int(11)
    13     flighttime                 time
dit is écht de hele tabel dan.
1
2
3
4
1     id     int(11)             
2     userid     int(11) 
3     title     varchar(100)     
4     data     longtext
En dit de hele tabel feusers_properties
quote:
>> AND airplane IN ('PH454','PH974','PH1006','PH1210','PH1382','PH1417','PH1433')
hoe selectief is dat?
Niet bepaald, denk dat je dan nog 90% over hebt.
pi_104349754
quote:
0s.gif Op maandag 14 november 2011 13:01 schreef Catbert het volgende:

[..]

Nou waarom het zo traag gaat is wel duidelijk. De vraag is waarom hij voor dat execution plan kiest...
Je hebt het hier dus over "using temporary", neem ik aan?
Dan weet ik dat ik dat voortaan in de gaten moet houden.
  maandag 14 november 2011 @ 13:31:38 #61
58834 Catbert
The evil HR Director.
pi_104349895
quote:
3s.gif Op maandag 14 november 2011 13:28 schreef KomtTijd... het volgende:
Je hebt het hier dus over "using temporary", neem ik aan?
Dan weet ik dat ik dat voortaan in de gaten moet houden.
Using temporary en using filesort zijn beiden indicaties dat MySQL het niet op de indexen op heeft kunnen lossen en zijn flinke performance hits.

Voor de volgende keer: blijf testen met die simpele query een paar posts terug. Je zet ons ook op het verkeerde been door over te stappen op die grote join.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_104350048
Mja om het echt goed uit te zoeken had ik gewoon een testcase moeten maken inderdaad.
Zo zie je maar weer, systematisch aanpakken gaat toch altijd weer het snelst. :@
  maandag 14 november 2011 @ 13:50:26 #63
75592 GlowMouse
l'état, c'est moi
pi_104350539
SHOW CREATE TABLE laat ook je indices zien.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104385345
Ik snap er echt geen donder van.

ik heb een script dat werk verdeeld, dit script include een rapportage script.
Wanneer het werk script word gedraaid schrijft het rapportage script netjes alle informatie weg in een log directory en zend een mail.
Savonds word ditzelfde script gestart door een scheduled task op een windows 2008 server....
Maar daar gaat het fout, deze geeft aan dat hij gedraaid heeft maar mn logs worden niet weggeschreven.
Start ik de task met de hand dan word alles netjes weggeschreven

Nu heb ik een kopie van de task gemaakt en een kopie van het rapportage script.
Enkel de log directory heb ik veranderd, deze zend netjes de mail uit en schrijft de logs weg?

Enige wat ik nog niet geprobeerd heb ik dezelfde logdir aanhouden, maar dat zou niet uit moeten maken aangezien sochtends alles wel word weg geschreven.

Ander leuk feit toen dit nog op een unix machine draaide was er geen enkel probleem.
:? :? :? :? :?
  dinsdag 15 november 2011 @ 09:23:16 #65
230788 n8n
Pragmatisch
pi_104385691
db: naam, ww encrypted met md5. bij inloggen wordt het wachtwoord omgezet naar md5 voor naar de server gestuurd te worden. cookie met naam en md5-ww staat in cookie om ingelogd te blijven.

De vraag is of dit een veilige methode is, heb verder totaal geen ervaring met beveiliging/inloggen met php.

voordelen:
- ww staat niet open en bloot in cookie.
- ww wordt encrypted over het internet verstuurd
- bij serverhack staan user-ww'en niet openbaar

nadelen:
- cookies?
Specialization is for insects”.—Robert Heinlein
  dinsdag 15 november 2011 @ 09:25:50 #66
137776 boem-dikkie
Jedi Mind Baby!
pi_104385749
quote:
7s.gif Op dinsdag 15 november 2011 09:23 schreef n8n het volgende:
db: naam, ww encrypted met md5. bij inloggen wordt het wachtwoord omgezet naar md5 voor naar de server gestuurd te worden. cookie met naam en md5-ww staat in cookie om ingelogd te blijven.

De vraag is of dit een veilige methode is, heb verder totaal geen ervaring met beveiliging/inloggen met php.

voordelen:
- ww staat niet open en bloot in cookie.
- ww wordt encrypted over het internet verstuurd
- bij serverhack staan user-ww'en niet openbaar

nadelen:
- cookies?
Je kunt ook gewoon bij het inloggen controleren of de opgegeven username en het wachtwoord overeen komen met een match in de database en met elkaar. Dan hoef je helemaal geen cookies te gebruiken. Weet overigens niet of dit beter is hoor.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  dinsdag 15 november 2011 @ 09:29:33 #67
91039 mstx
2x1/2 = 1/2 x 1/2
pi_104385821
quote:
7s.gif Op dinsdag 15 november 2011 09:23 schreef n8n het volgende:
db: naam, ww encrypted met md5. bij inloggen wordt het wachtwoord omgezet naar md5 voor naar de server gestuurd te worden. cookie met naam en md5-ww staat in cookie om ingelogd te blijven.

De vraag is of dit een veilige methode is, heb verder totaal geen ervaring met beveiliging/inloggen met php.

voordelen:
- ww staat niet open en bloot in cookie.
- ww wordt encrypted over het internet verstuurd
- bij serverhack staan user-ww'en niet openbaar

nadelen:
- cookies?
MD5 is imo een beetje verouderd, simpele wachtwoorden zijn eenvoudig te achterhalen. Ik zou bijvoorbeeld SHA gebruiken.
Om ingelogd te blijven zou ik een random hash in een cookie zetten die je aan de user koppelt.
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.
👾
  dinsdag 15 november 2011 @ 09:38:30 #68
63192 ursel
"Het Is Hier Fantastisch!
pi_104386025
quote:
0s.gif Op dinsdag 15 november 2011 09:05 schreef Darkomen het volgende:
Ik snap er echt geen donder van.

ik heb een script dat werk verdeeld, dit script include een rapportage script.
Wanneer het werk script word gedraaid schrijft het rapportage script netjes alle informatie weg in een log directory en zend een mail.
Savonds word ditzelfde script gestart door een scheduled task op een windows 2008 server....
Maar daar gaat het fout, deze geeft aan dat hij gedraaid heeft maar mn logs worden niet weggeschreven.
Start ik de task met de hand dan word alles netjes weggeschreven

Nu heb ik een kopie van de task gemaakt en een kopie van het rapportage script.
Enkel de log directory heb ik veranderd, deze zend netjes de mail uit en schrijft de logs weg?

Enige wat ik nog niet geprobeerd heb ik dezelfde logdir aanhouden, maar dat zou niet uit moeten maken aangezien sochtends alles wel word weg geschreven.

Ander leuk feit toen dit nog op een unix machine draaide was er geen enkel probleem.
:? :? :? :? :?
Vanuit welke user stuur je hem handmatig aan en vanuit welke user via de scheduled task?
pi_104386057
Zou beide de zelfde user moeten zijn, maar moet ook niet uitmaken, de 2de windows task draait namelijk wel.
pi_104386058
quote:
0s.gif Op dinsdag 15 november 2011 09:05 schreef Darkomen het volgende:
Ik snap er echt geen donder van.

ik heb een script dat werk verdeeld, dit script include een rapportage script.
Wanneer het werk script word gedraaid schrijft het rapportage script netjes alle informatie weg in een log directory en zend een mail.
Savonds word ditzelfde script gestart door een scheduled task op een windows 2008 server....
Maar daar gaat het fout, deze geeft aan dat hij gedraaid heeft maar mn logs worden niet weggeschreven.
Start ik de task met de hand dan word alles netjes weggeschreven

Nu heb ik een kopie van de task gemaakt en een kopie van het rapportage script.
Enkel de log directory heb ik veranderd, deze zend netjes de mail uit en schrijft de logs weg?

Enige wat ik nog niet geprobeerd heb ik dezelfde logdir aanhouden, maar dat zou niet uit moeten maken aangezien sochtends alles wel word weg geschreven.

Ander leuk feit toen dit nog op een unix machine draaide was er geen enkel probleem.
:? :? :? :? :?
Rechtenprobleem op de map ivm taak scheduler en account waaronder deze draait.
pi_104386160
Hoe moet ik dat dan zien?
Via het script => http / iis user
Windows tasks => de ingelogde user

Als ik de rechten check hebben zowel de user als iis dezelfde rechten op de map.
  dinsdag 15 november 2011 @ 10:04:49 #72
58834 Catbert
The evil HR Director.
pi_104386663
quote:
7s.gif Op dinsdag 15 november 2011 09:23 schreef n8n het volgende:
db: naam, ww encrypted met md5. bij inloggen wordt het wachtwoord omgezet naar md5 voor naar de server gestuurd te worden. cookie met naam en md5-ww staat in cookie om ingelogd te blijven.

De vraag is of dit een veilige methode is, heb verder totaal geen ervaring met beveiliging/inloggen met php.

voordelen:
- ww staat niet open en bloot in cookie.
- ww wordt encrypted over het internet verstuurd
- bij serverhack staan user-ww'en niet openbaar

nadelen:
- cookies?
Je zet ten eerste nooit een PW uberhaupt in een cookie. Je onthoudt de sessie. Daarnaast is MD5 achterhaald. Tenslotte zie ik nergens salts genoemd en ik hoop niet dat je overweegt MD5 passwords unsalted in je DB op te slaan?
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  dinsdag 15 november 2011 @ 10:06:33 #73
230788 n8n
Pragmatisch
pi_104386722
Ok duidelijk, dan heb ik weer iets om me over in te lezen. bedankt
Specialization is for insects”.—Robert Heinlein
  dinsdag 15 november 2011 @ 10:07:43 #74
230788 n8n
Pragmatisch
pi_104386763
quote:
14s.gif Op dinsdag 15 november 2011 09:25 schreef boem-dikkie het volgende:

[..]

Je kunt ook gewoon bij het inloggen controleren of de opgegeven username en het wachtwoord overeen komen met een match in de database en met elkaar. Dan hoef je helemaal geen cookies te gebruiken. Weet overigens niet of dit beter is hoor.
dat doe ik ook wel, had alleen geen idee hoe ik een sessie aan kon maken
Specialization is for insects”.—Robert Heinlein
pi_104387928
1/bin/sh: /home/frietkot/domains/naam.nl/public_html/includes/cronjobs/cronjob_aanmaningen.php: Permission denied
Eeuhm... :P Admin vragen op de server perhaps denk ik nu :D
Redacted
pi_104388012
quote:
0s.gif Op dinsdag 15 november 2011 10:56 schreef cablegunmaster het volgende:

[ code verwijderd ]

Eeuhm... :P Admin vragen op de server perhaps denk ik nu :D
Je moet 'cronjob_aanmaningen.php' zo chmodden dat je rechten hebt om het uit te voeren.
pi_104388047
quote:
0s.gif Op dinsdag 15 november 2011 10:59 schreef The_Terminator het volgende:

[..]

Je moet 'cronjob_aanmaningen.php' zo chmodden dat je rechten hebt om het uit te voeren.
Done :).
Redacted
  dinsdag 15 november 2011 @ 11:27:22 #78
75592 GlowMouse
l'état, c'est moi
pi_104388772
executable maken is niet nodig, je moet het door php laten uitvoeren:

php /home/frietkot/domains/naam.nl/public_html/includes/cronjobs/cronjob_aanmaningen.php
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104395629
quote:
0s.gif Op dinsdag 15 november 2011 11:27 schreef GlowMouse het volgende:
executable maken is niet nodig, je moet het door php laten uitvoeren:

php /home/frietkot/domains/naam.nl/public_html/includes/cronjobs/cronjob_aanmaningen.php
Iets in die richting :). merkte al dat het script niks van me php snapte :). Dankje :D
Hopelijk werkt het nu :P Ik lees ook iets dat je eerst naar die directory moet browsen in je script is dat nodig of overbodig? Klinkt raar namelijk dacht dat hij het met deze regel uit moest voeren alsof hij daar staat. (2-3 includes staan erbij namelijk ).
Redacted
pi_104399916
Alleen nog even een mental note voor iemand die dit ook volgt , includes moeten met een fysiek pad van de site komen dus niet een http:// url. maar ook iets in de richting van
"/home/frietkot/domains/naam.nl/public_html/includes/cronjobs/cronjob_aanmaningen.php"
enige fout waar ik nog mee zat met de includes :).
Redacted
  woensdag 16 november 2011 @ 16:19:56 #81
63192 ursel
"Het Is Hier Fantastisch!
pi_104439837
Wij zijn langzaam maar zeker onze ontwikkelstraat steeds meer aan het automatiseren en gestructueerder te laten verlopen.

Nu vroeg ik me eigenlijk af wat de beste methode is voor het bijhouden welke versie van de software op welke server aanwezig is. Uiteraard kan je dit per server zelf bekijken, maar een overzicht zal het geheel wel vergemakkelijken.

Een kleine indicatie van onze omgevingen. We hebben meerdere software pakketten. Elk software pakket kan soms per klant op een eigen server draaien.
  donderdag 17 november 2011 @ 08:18:10 #82
25889 Sitethief
Fulltime Flapdrol
pi_104464719
Voor de weergave van tekst gebruik ik
1
2
3
<?php
htmlentities
($data[$key],ENT_COMPAT,"ISO-8859-1",false);
?>
Helaas heeft die niet alle characters (zie hier). UTF-8 is ook niet de oplossing...

quote:
“That’s a ‘magic’ sock.”
Wordt
quote:
�That’s a �magic� sock.�
zonder de juiste encodering.
(quotes hier zijn zg. oriented quotes, zie : http://www.typographyforlawyers.com/?page_id=1322 ).

Weet iemand welke encodering dit probleem op kan lossen zonder meer problemen te introduceren?
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_104464830
UFT-8? ... ik lees dus niet goed.

Wat gebeurd er als je zonder dat invuld?
  donderdag 17 november 2011 @ 08:39:46 #84
25889 Sitethief
Fulltime Flapdrol
pi_104464913
ISO-8859-1 is default in htmlentities, ik gebruik nu ISO-8859-15 vanwege "Western European, Latin-9. Adds the Euro sign, French and Finnish letters missing in Latin-1 (ISO-8859-1). ".
Met UTF-8 verdwijnen bijvoorbeeld teksten met een µ volledig.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  donderdag 17 november 2011 @ 08:52:39 #85
25889 Sitethief
Fulltime Flapdrol
pi_104465093
Ik zou natuurlijk de tekens die htmlentities niet convert zelf kunnen omzetten naar bijvoorbeeld
1
Of
1
, maar het handige aan htmlentities is juist dat die voor jou de juist special entity codes zoekt bij je characters...
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  donderdag 17 november 2011 @ 09:03:17 #86
25889 Sitethief
Fulltime Flapdrol
pi_104465282
Dan maar zo.
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
<?php
 
/**
     * Converts smart quotes (&#8220;,&#8221;,&#8216;,&#8217;) and em-dash
     *
     * This function is needed because ISO-8859-1 (and by extend ISO-8859-15)
     * doesn't support these characters, so we need to convert them ourselves.
     *
     * @param string $text
     * @return string
     */
    
function CleanupSmartQuotes($text){
        
$badwordchars = array(
                            
chr(145),
                            
chr(146),
                            
chr(147),
                            
chr(148),
                            
chr(151)
                            );
        
$fixedwordchars = array(
                            
"'",
                            
"'",
                            
'&quot;',
                            
'&quot;',
                            
'&mdash;'
                            
);
        return 
str_replace($badwordchars,$fixedwordchars,$text);
    }
?>
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  donderdag 17 november 2011 @ 11:03:37 #87
75592 GlowMouse
l'état, c'est moi
pi_104468248
quote:
0s.gif Op donderdag 17 november 2011 08:39 schreef Sitethief het volgende:
ISO-8859-1 is default in htmlentities, ik gebruik nu ISO-8859-15 vanwege "Western European, Latin-9. Adds the Euro sign, French and Finnish letters missing in Latin-1 (ISO-8859-1). ".
Met UTF-8 verdwijnen bijvoorbeeld teksten met een µ volledig.
Stuur je pagina dan ook netjes als UTF-8 door.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 17 november 2011 @ 11:06:32 #88
58834 Catbert
The evil HR Director.
pi_104468316
quote:
0s.gif Op donderdag 17 november 2011 11:03 schreef GlowMouse het volgende:
Stuur je pagina dan ook netjes als UTF-8 door.
Dat, zelf zooi gaan replacen is gewoon dom.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_104468562
quote:
0s.gif Op donderdag 17 november 2011 11:06 schreef Catbert het volgende:

[..]

Dat, zelf zooi gaan replacen is gewoon dom.
pi_104474659
Ik heb ook weer wat!

Voor een website heb ik een aparte mediabase gebouwd waarin alle media bestanden worden opgeslagen, deze kunnen overal in de website gebruikt worden. Nu roep ik deze media base zo aan.

<img src="/mediabase/type/nummer">

zoals je ziet geef ik geen extensie, dat maakt op zich niets uit zolang de headers maar goed staan! Nou volgens mij wel.



Met de volgende code zie ik geen afbeelding, haal ik de headers weg dan wel?

1
2
3
4
5
6
7
8
function feedToBrowser($file, $formatID)
{
    header("Content-type: " . toImageHeader($formatID));
    header("Content-length: " . filesize($file));
    header("Expires: Mon, 1 Jul 2027 05:00:00 GMT\n");     // doorsturen
    readfile($file);
    exit();
}
Waar ga ik de fout in?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_104475461
Static files leveren vanuit PHP?
Mocht je het dan toch willen doen, dan zou ik zoiets aanraden:

http://codeutopia.net/blo(...)d_xsendfile-and-php/
💍 💍 💍 💍 💍 💍 🍌 ☎
  donderdag 17 november 2011 @ 14:57:25 #92
58834 Catbert
The evil HR Director.
pi_104475830
Je headers spreken elkaar wel tegen trouwens. Je content expired niet maar je mag 't niet cachen.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_104490824
Ok, maar het zou toch moeten werken?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_104492123
Weet je zeker dat je nergens output hebt? Ookal is het maar een spatie.
💍 💍 💍 💍 💍 💍 🍌 ☎
pi_104492397
En ja, een enter voor- of na je <?php ?> tags is óók output!
pi_104492462
quote:
14s.gif Op donderdag 17 november 2011 21:31 schreef KomtTijd... het volgende:
En ja, een enter voor- of na je <?php ?> tags is óók output!
Daar doelde ik (voornamelijk) op ja :9
💍 💍 💍 💍 💍 💍 🍌 ☎
pi_104494294
Klopt!!! grrrr..

Met ob_end_clean(); heb ik die opgeruimd en de headers werken weer naar behoren! :)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_104501532
Ik hoop voor je dat je niet direct alle bestanden in de DB opslaat. :o .
Het kan maar is niet aan te raden.
Redacted
pi_104503010
LOL maar natuurlijk niet! :) daarvoor is een server toch? ;)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 18 november 2011 @ 10:12:42 #100
75592 GlowMouse
l'état, c'est moi
pi_104504984
quote:
0s.gif Op vrijdag 18 november 2011 01:45 schreef cablegunmaster het volgende:
Ik hoop voor je dat je niet direct alle bestanden in de DB opslaat. :o .
je ziet ''readfile' staan?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')