abonnement Unibet Coolblue
  woensdag 30 december 2009 @ 19:41:20 #153
75592 GlowMouse
l'état, c'est moi
pi_76233214
quote:
Op woensdag 30 december 2009 19:28 schreef PiRANiA het volgende:

[..]

Jij zal het niet veel vinden (als je de FOK! stats hebt gezien), maar ik vind 60 queries per seconde vrij veel
Voor je bezoekersteller mag je wel trots zijn (mits redelijk aantal queries per pagina), maar je had het erover dat hij het druk had. En dat is niet zo, een moderne thuis-pc kan rustig 50-100k queries/seconde uitvoeren primary key look-ups wel.
quote:
Op woensdag 30 december 2009 19:37 schreef PiRANiA het volgende:

[..]

Hoe kom ik er achter waar het fout gaat?
tcpdump
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 30 december 2009 @ 19:43:05 #154
136730 PiRANiA
All thinking men are atheists.
pi_76233318
quote:
Op woensdag 30 december 2009 19:41 schreef GlowMouse het volgende:

[..]

Voor je bezoekersteller mag je wel trots zijn (mits redelijk aantal queries per pagina), maar je had het erover dat hij het druk had. En dat is niet zo, een moderne thuis-pc kan rustig 50-100k queries/seconde uitvoeren primary key look-ups wel.
[..]

tcpdump
Het zijn allemaal lokale scripts met data uit metingen. Tcpdump werkt dan niet denk ik?
En qua bezoekers: 1 dus, alleen ik zelf
  woensdag 30 december 2009 @ 20:30:39 #155
136730 PiRANiA
All thinking men are atheists.
pi_76236048
GM, hij heeft het inderdaad niet echt druk:
  woensdag 30 december 2009 @ 20:33:16 #156
75592 GlowMouse
l'état, c'est moi
pi_76236181
20GB geheugen?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 30 december 2009 @ 22:35:31 #157
136730 PiRANiA
All thinking men are atheists.
pi_76241990
quote:
Op woensdag 30 december 2009 20:33 schreef GlowMouse het volgende:
20GB geheugen?
Jup, chille x2200 server. Ik moet hem alleen nog ergens weghangen eigenlijk, maar colocatie is vrij duur
  woensdag 30 december 2009 @ 22:54:31 #158
75592 GlowMouse
l'état, c'est moi
pi_76242955
ic; heb je zo'n enorm kleine dataset of heb je MySQL nog met de default config draaien?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 30 december 2009 @ 22:57:40 #159
136730 PiRANiA
All thinking men are atheists.
pi_76243115
quote:
Op woensdag 30 december 2009 22:54 schreef GlowMouse het volgende:
ic; heb je zo'n enorm kleine dataset of heb je MySQL nog met de default config draaien?
Relatief veel data (~200MB database) op standaard configuratie...
  woensdag 30 december 2009 @ 22:59:43 #160
75592 GlowMouse
l'état, c'est moi
pi_76243226
zonde!
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 31 december 2009 @ 09:07:19 #161
63192 ursel
"Het Is Hier Fantastisch!
pi_76253191
quote:
Op woensdag 30 december 2009 22:59 schreef GlowMouse het volgende:
zonde!
Ben ik wel benieuwd met welke settings je dat beter kan optimaliseren als je veel data hebt.
  donderdag 31 december 2009 @ 09:19:07 #162
63192 ursel
"Het Is Hier Fantastisch!
pi_76253339
Overigens zelf ook een vraag wat te maken heeft met afronding. :{

Op 2 plaatsen wordt min of meer een identieke berekening gedaan, waarbij de 2e een controle is over de getallen van de eerste.

Na wat dumps krijg ik de volgende output bij berekening 1: (QuotaAmount 1 is voor eerste berekening)

QuotaAmount 1 : 43.575, type : double.
QuotaAmount 2 : 43.57, type : string.
QuotaAmount 3 : 43.57, type : double.

1
2
3
4
<?php
$QuotaAmount 
sprintf('%0.2f'$QuotaAmount);
$QuotaAmount = (float)str_replace(',''.'$QuotaAmount);
?>


Vervolgens doe ik verderop een nieuwe berekening en krijg ik de volgende output:

a 1: 43.575, type : double.
a 2: 43.58, type : string.
a 3: 43.58, type : double.

En hier de code:

1
2
3
4
<?php
$sReCheckQuotaAmount 
sprintf('%0.2f'$sReCheckQuotaAmount);
$sReCheckQuotaAmount = (float)str_replace(',''.'$sReCheckQuotaAmount);
?>


Iemand enig idee hoe ik ervoor kan zorgen dat ze beide correct afgerond worden, of hoe en waar ut verkeerd gaat? :?
  donderdag 31 december 2009 @ 10:15:09 #163
12221 Tijn
Powered by MS Paint
pi_76254270
Ik denk dat het verkeerd gaat omdat je floats gebruikt. Floats hebben van zichzelf al problemen met afronden.
  donderdag 31 december 2009 @ 10:22:38 #164
152303 hamkaastosti
ook bekend als hamkaastosti
pi_76254460
als het bedragen zijn waarmee je werkt kun je volgens mij beter met integers en centen werken en pas helemaal op het eind gaan afronden
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
  donderdag 31 december 2009 @ 10:28:22 #165
63192 ursel
"Het Is Hier Fantastisch!
pi_76254593
Mja, maar de afronding gaat al verkeerd in de sprintf
  donderdag 31 december 2009 @ 10:32:27 #166
12221 Tijn
Powered by MS Paint
pi_76254691
quote:
Op donderdag 31 december 2009 10:28 schreef ursel het volgende:
Mja, maar de afronding gaat al verkeerd in de sprintf
Omdat je daar er ook al een float van maakt. Floats zijn niet altijd precies het getal die je bedoelt.
  donderdag 31 december 2009 @ 10:57:02 #167
63192 ursel
"Het Is Hier Fantastisch!
pi_76255532
quote:
Op donderdag 31 december 2009 10:32 schreef Tijn het volgende:

[..]

Omdat je daar er ook al een float van maakt. Floats zijn niet altijd precies het getal die je bedoelt.
aah, wacht, die sprintf maakt er ook float van.
Gewoon even nieuwsgierig, maar wat is eigenlijk het nut van een float als je die niet precies het getal is dat je bedoeld?
  donderdag 31 december 2009 @ 11:05:18 #168
12221 Tijn
Powered by MS Paint
pi_76255843
quote:
Op donderdag 31 december 2009 10:57 schreef ursel het volgende:

[..]

Gewoon even nieuwsgierig, maar wat is eigenlijk het nut van een float als je die niet precies het getal is dat je bedoeld?
Het handige van een float is dat je zowel extreem grote als extreem kleine getallen erin kunt opslaan. Andere types hebben harde limieten, zoals bv een int die van -2147483648 t/m 2147483647 werkt. Een float heeft dat soort grenzen niet echt, daar kun je honderd cijfers voor of achter de komma bij zetten en je krijgt nog een waarde eruit die (min of meer) lijkt op wat je bedoelde.
  donderdag 31 december 2009 @ 11:53:11 #169
75592 GlowMouse
l'état, c'est moi
pi_76257625
quote:
Op donderdag 31 december 2009 09:07 schreef ursel het volgende:

[..]

Ben ik wel benieuwd met welke settings je dat beter kan optimaliseren als je veel data hebt.
Sowieso overstappen op InnoDB, beetje recente versie pakken (5.4/5.5), en dan spelen met de buffer pool, en logbuffer.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 31 december 2009 @ 12:06:44 #170
63192 ursel
"Het Is Hier Fantastisch!
pi_76258151
Kijk, 2 mooie posts waar ik volgend jaar eens ff mooi naar ga kijken.
  donderdag 31 december 2009 @ 12:40:03 #171
136730 PiRANiA
All thinking men are atheists.
pi_76259526
quote:
Op donderdag 31 december 2009 11:53 schreef GlowMouse het volgende:

[..]

Sowieso overstappen op InnoDB, beetje recente versie pakken (5.4/5.5), en dan spelen met de buffer pool, en logbuffer.
Heb je daar een mooie guide voor? Of een leidraad waar ik kan beginnen?
  donderdag 31 december 2009 @ 12:41:19 #172
75592 GlowMouse
l'état, c'est moi
pi_76259582
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_76259610
Hee, dit topic was ik kwijt
  donderdag 31 december 2009 @ 12:42:28 #174
75592 GlowMouse
l'état, c'est moi
  donderdag 31 december 2009 @ 12:50:09 #175
63192 ursel
"Het Is Hier Fantastisch!
pi_76260041
Even de posts gebookmarked
  donderdag 31 december 2009 @ 13:00:54 #176
136730 PiRANiA
All thinking men are atheists.
pi_76260462
quote:
Oeh leuk materiaal om naar te kijken. Ik ben nu mijn grootste tabel aan het omzetten naar InnoDB:


-edit- nog steeds bezig
-edit2- Ik zie die innodb setting snergens in mijn standaard config file? /etc/mysql/my.cnf, kan ik ze gewoon toevoegen of staan ze ergens anders?
-edit3- Hij is nu al bijna 40 minuten bezig met 1 table...

[ Bericht 4% gewijzigd door PiRANiA op 31-12-2009 13:35:59 ]
  donderdag 31 december 2009 @ 13:53:50 #177
136730 PiRANiA
All thinking men are atheists.
pi_76262687

Dat is wel apart, elke refresh staat er een ander aantal rows
  donderdag 31 december 2009 @ 14:28:37 #178
136730 PiRANiA
All thinking men are atheists.
pi_76264195
Hmm ik heb nogal wat problemen gehad met de innodb settings
Corrupte bestanden en such. Hij lijkt mijn innodb settings niet te pakken? Misschien zet ik ze verkeerd neer?
Mogelijk heeft iemand een voorbeeldconfiguratie voor me?
  donderdag 31 december 2009 @ 14:32:22 #179
75592 GlowMouse
l'état, c'est moi
pi_76264350
Gewoon toevoegen (/etc/mysql/my.cnf) en mysql herstarten

innodb_buffer_pool_size= 1000M

Die rowcount is innodb-eigen, zie manual.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 31 december 2009 @ 14:43:17 #180
136730 PiRANiA
All thinking men are atheists.
pi_76264814
quote:
Op donderdag 31 december 2009 14:32 schreef GlowMouse het volgende:
Gewoon toevoegen (/etc/mysql/my.cnf) en mysql herstarten

innodb_buffer_pool_size= 1000M

Die rowcount is innodb-eigen, zie manual.
Ahja, dat werkt.
Ik kreeg eerst errors over corrupte bestanden et cetera (uiteraard gebackupped, maar niet nodig).

Je hoeft dus niet alle settings te setten begrijp ik

-edit- Mijn count(*) over 2.5M rows tabel duurt nu wel 10 keer langer ofzo
  donderdag 31 december 2009 @ 15:00:22 #181
75592 GlowMouse
l'état, c'est moi
pi_76265484
Bij FOK! scheelt dat wel een miljoen keer (of 10 miljoen miljard keer); de kunst is dan ook om nooit/niet vaak een count op een hele tabel te doen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 31 december 2009 @ 15:06:18 #182
63192 ursel
"Het Is Hier Fantastisch!
pi_76265721
quote:
Op donderdag 31 december 2009 15:00 schreef GlowMouse het volgende:
Bij FOK! scheelt dat wel een miljoen keer (of 10 miljoen miljard keer); de kunst is dan ook om nooit/niet vaak een count op een hele tabel te doen.
je moet een count door php laten uitvoeren dan?
  donderdag 31 december 2009 @ 15:07:30 #183
75592 GlowMouse
l'état, c'est moi
pi_76265772
quote:
Op donderdag 31 december 2009 15:06 schreef ursel het volgende:

[..]

je moet een count door php laten uitvoeren dan?
wanneer wil je nou ooit weten hoeveel rijen een tabel heeft?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_76265829
quote:
Op donderdag 31 december 2009 15:07 schreef GlowMouse het volgende:

[..]

wanneer wil je nou ooit weten hoeveel rijen een tabel heeft?
Best vaak hoor. Al dan niet met een GROUP BY.
  donderdag 31 december 2009 @ 15:09:01 #185
136730 PiRANiA
All thinking men are atheists.
pi_76265831
quote:
Op donderdag 31 december 2009 15:07 schreef GlowMouse het volgende:

[..]

wanneer wil je nou ooit weten hoeveel rijen een tabel heeft?
Ik wil weten hoe de opbouw van sommige data verloopt, dan vind ik het wel intereressant om te weten hoe veel gegevens ik al heb
  donderdag 31 december 2009 @ 15:11:21 #186
75592 GlowMouse
l'état, c'est moi
pi_76265912
quote:
Op donderdag 31 december 2009 15:09 schreef Tuvai.net het volgende:

[..]

Best vaak hoor. Al dan niet met een GROUP BY.
We hadden het over een SELECT count(*) FROM tbl, niet over een andere query.
quote:
Op donderdag 31 december 2009 15:09 schreef PiRANiA het volgende:

[..]

Ik wil weten hoe de opbouw van sommige data verloopt, dan vind ik het wel intereressant om te weten hoe veel gegevens ik al heb
dat is een query'tje per maand ofzo, /care.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 31 december 2009 @ 15:13:05 #187
63192 ursel
"Het Is Hier Fantastisch!
pi_76265963
quote:
Op donderdag 31 december 2009 15:07 schreef GlowMouse het volgende:

[..]

wanneer wil je nou ooit weten hoeveel rijen een tabel heeft?
Een hoop van onze tabellen staan gelijk aan het aantal producten en of objecten.

Daarnaast voor het aangeven van hoeveel pagina's er zijn in de lijst navigatie.
Dus redelijk vaak eigenlijk nog wel.
  donderdag 31 december 2009 @ 15:14:27 #188
75592 GlowMouse
l'état, c'est moi
pi_76266013
quote:
Op donderdag 31 december 2009 15:13 schreef ursel het volgende:

[..]

Een hoop van onze tabellen staan gelijk aan het aantal producten en of objecten.
En dan staat er nooit in WHERE bij? En dit zijn ook typisch dingen die je denormaliseert.
quote:
Daarnaast voor het aangeven van hoeveel pagina's er zijn in de lijst navigatie.
Dus redelijk vaak eigenlijk nog wel.
http://www.mysqlperforman(...)-paginated-displays/
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_76266106
quote:
Op donderdag 31 december 2009 15:11 schreef GlowMouse het volgende:
We hadden het over een SELECT count(*) FROM tbl, niet over een andere query.
Ja, doh. Toen vroeg jij hoe vaak je dat wel niet doet, waarom ik (en zo te zien andere ook) reageer dat ik dat dus wel eens nodig heb.

@PiRANiA: COUNT(*) op tabellen zonder een WHERE clausule is in InnoDB nou eenmaal erg traag (in vergelijking met bijv. MyISAM). Probeer anders een index in je query te definiëren. En nog beter, optimaliseer je databasestructuur (correcte indexes leggen), maar dat dien je sowieso te doen (niet alleen in geval van InnoDB).
  donderdag 31 december 2009 @ 15:19:26 #190
63192 ursel
"Het Is Hier Fantastisch!
pi_76266212
quote:
Op donderdag 31 december 2009 15:14 schreef GlowMouse het volgende:

[..]

En dan staat er nooit in WHERE bij? En dit zijn ook typisch dingen die je denormaliseert.
[..]

http://www.mysqlperforman(...)-paginated-displays/
ik zeg verder niet dat onze code perfect is
Verre van zelfs, alleen dat we de count wel vaak gebruiken.

Hopelijk in feb start maken met nieuwe basis voor het extranet
Dus al dit soort zaken is goed om mee te nemen
  donderdag 31 december 2009 @ 15:20:19 #191
75592 GlowMouse
l'état, c'est moi
pi_76266241
quote:
Op donderdag 31 december 2009 15:17 schreef Tuvai.net het volgende:

[..]
@PiRANiA: COUNT(*) op tabellen zonder een WHERE clausule is in InnoDB nou eenmaal erg traagMyISAM snel omdat door het ontbreken van MVCC er gewoon een countertje in een tabel zit waar je in 1x het aantal rijen in een tabel kan aflezen. Zodra je iets met WHERE erbij doet, is MyISAM weer even traag als de rest.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zaterdag 2 januari 2010 @ 23:57:00 #192
62215 qu63
..de tijd drinkt..
pi_76343625
Jeej, eerste vraag in het nieuwe jaar! *O*

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\sync.php on line 63

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\sync.php on line 68

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of xml_parse_into_struct(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\xml.php on line 160

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of xml_parse_into_struct(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\xml.php on line 160

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of datastore_search(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\syncml.php on line 210

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\syncml.php on line 220

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\syncml.php on line 221

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\syncml.php on line 222

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of datastore_search(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\syncml.php on line 346


Ik kan niet bij mn php.ini, maar heb wel dit gevonden: http://www.verysimple.com(...)ference-in-htaccess/ .htacces bestand in wwwroot/syncml/syncml gegooid en in wwwroot maar ik blijf die melding krijgen. php.net geeft ook geen alternatief voor bijvoorbeeld xml_parse_into_struct(). Iemand enige idee wat ik wel kan doen?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  zaterdag 2 januari 2010 @ 23:58:52 #193
75592 GlowMouse
l'état, c'est moi
pi_76343699
waarom ampersandjes?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zondag 3 januari 2010 @ 00:02:55 #194
62215 qu63
..de tijd drinkt..
pi_76343875
quote:
Op zaterdag 2 januari 2010 23:58 schreef GlowMouse het volgende:
waarom ampersandjes?
Huh?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  zondag 3 januari 2010 @ 00:05:03 #195
75592 GlowMouse
l'état, c'est moi
pi_76343959
C:\domains\svenahrens.nl\wwwroot\syncml\syncml\syncml.php on line 222 bijvoorbeeld
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zondag 3 januari 2010 @ 00:06:06 #196
75592 GlowMouse
l'état, c'est moi
pi_76344001
xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

dat gaat al goed, bij de functieaanroep zijn geen ampersands nodig
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zondag 3 januari 2010 @ 00:06:30 #197
62215 qu63
..de tijd drinkt..
pi_76344009
quote:
Op zondag 3 januari 2010 00:06 schreef GlowMouse het volgende:
xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

dat gaat al goed, bij de functieaanroep zijn geen ampersands nodig
Ga ik eens kijken of die weg te halen zijn en of het dan wel werkt..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  zondag 3 januari 2010 @ 00:11:36 #198
62215 qu63
..de tijd drinkt..
pi_76344190
quote:
Op zondag 3 januari 2010 00:06 schreef GlowMouse het volgende:
xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

dat gaat al goed, bij de functieaanroep zijn geen ampersands nodig
In de code staan de ampersands er ook niet..

xml.php regels 160-164
1
2
3
4
5
6
7
<?php
  
if (!xml_parse_into_struct ($xml_parser$xml_text, &$values, &$index)) {
    die(
sprintf("XML error: %s at line %d",
        
xml_error_string(xml_get_error_code($xml_parser)),
        
xml_get_current_line_number($xml_parser)));
  }
?>
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  zondag 3 januari 2010 @ 00:12:50 #199
75592 GlowMouse
l'état, c'est moi
pi_76344240
&$values?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zondag 3 januari 2010 @ 00:13:29 #200
62215 qu63
..de tijd drinkt..
pi_76344267
quote:
Op zondag 3 januari 2010 00:12 schreef GlowMouse het volgende:
&$values?
bugger..

* qu63 glas wegzet
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  zondag 3 januari 2010 @ 00:19:11 #201
62215 qu63
..de tijd drinkt..
pi_76344495
Thanks, error's zijn weg! (Heb overal de &$ vervangen door $)

Helaas werkt mn sync-profiel op mn telefoon nog niet, maar dat is geen php/sql-vraag
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  maandag 4 januari 2010 @ 08:19:36 #202
25889 Sitethief
Fulltime Flapdrol
pi_76388611
1
2
3
4
5
6
7
8
9
10
<?php
        
        
public function validateTel(&$inputValidateTel){
            
$this->stripSingle($inputValidateTel);
            if (
preg_match("/[0-9]/",$inputValidateTel)){
                return 
true;
            }
            return 
false;
        }
?>


Deze functie geeft altijd een false weer, ook al zit er een cijfer in....
Hij werkt ook niet als ik
1
2
3
<?php
(preg_match("/^[0-9]/",$inputValidateTel))
?>

gebruik en de true en false omdraai.

Wat doe ik fout?
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 08:51:40 #203
12221 Tijn
Powered by MS Paint
pi_76388884
Waarom gebruik je niet gewoon is_numeric()?
pi_76388942
quote:
Op maandag 4 januari 2010 08:51 schreef Tijn het volgende:
Waarom gebruik je niet gewoon is_numeric()?
Of eventueel ctype_digit?
pi_76389218
wat doet $this->StripSingle ?
  maandag 4 januari 2010 @ 09:30:15 #206
25889 Sitethief
Fulltime Flapdrol
pi_76389396
Als ik ctype_digit gebruik dan krijg ik False terug, terwijl ik "0" als waarde meegeef.
Het nadeel van deze functions is dat ik er bijv later geen telefoonnummer mee kan valideren, terwijl dat met preg_match wel kan.

1
2
3
4
5
6
7
<?php
public function validateTel(&$inputValidateTel){
            
$this->stripSingle($inputValidateTel);
            
ctype_digit($inputValidateTel);            
            return;
}
?>
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 09:32:52 #207
25889 Sitethief
Fulltime Flapdrol
pi_76389436
ik kan natuurlijk voor telefoonnummers numbers_only() gebruiken om de streepjes etch eruit te halen.
Edit: ik zie net dat dat een zelfgebouwde function is... die toch weer teruggrijpt op preg_match.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 09:40:44 #208
25889 Sitethief
Fulltime Flapdrol
pi_76389581
quote:
Op maandag 4 januari 2010 09:18 schreef Xcalibur het volgende:
wat doet $this->StripSingle ?
1
2
3
4
5
6
7
8
9
10
<?php
public function stripSingle(&$inputStripSingle){
            if(
$inputStripSingle !== ""){
                
$inputStripSingle trim($inputStripSingle);
                
$inputStripSingle stripslashes($inputStripSingle);
                
$inputStripSingle htmlentities($inputStripSingleENT_QUOTES);
            }
            return;
        }
?>
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 11:16:37 #209
25889 Sitethief
Fulltime Flapdrol
pi_76391993
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
        
/*
         *    Telephone number validate function
         *    @param string with text
         *  @return bool
         *  @return string with validated & stripped digits
         */
        
public function validateTel(&$inputValidateTel) {
            
//Strip
            
$this->stripSingle($inputValidateTel);
            
//Strip everything but digits
            
preg_replace('/[^0-9]/''',$inputValidateTel);
            
//Check if string contains only digits, if not return false
            
if(ctype_digit($inputValidateTel)) {
                return 
true;
            }
            return 
false;
        }
?>


Dit werkt overigens ook niet, de string word niet gestript van niet nummerieke karakters.....

[ Bericht 4% gewijzigd door Sitethief op 04-01-2010 13:08:33 (nieuwe code) ]
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 12:40:16 #210
152303 hamkaastosti
ook bekend als hamkaastosti
pi_76394692
dwing je gebruikers gewoon een correct telefoonnummer in te voeren door bijvoorbeeld een kengetal en abonneeveld te gebruiken die je zelf aan elkaar plakt of geef bij je form een voorbeeld hoe het ingevuld moet worden met evt clientside javascript validatie. je kunt met php dan simpelweg ctype_digit gebruiken voor de check.
quote:
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_76395511
quote:
Op maandag 4 januari 2010 12:40 schreef hamkaastosti het volgende:
dwing je gebruikers gewoon een correct telefoonnummer in te voeren door bijvoorbeeld een kengetal en abonneeveld te gebruiken die je zelf aan elkaar plakt of geef bij je form een voorbeeld hoe het ingevuld moet worden met evt clientside javascript validatie. je kunt met php dan simpelweg ctype_digit gebruiken voor de check.
[..]
Alleen cijfers voor een telefoonnummer is niet handig. Het kan ook gebeuren dat iemand een internationaal telefoonnummer wil invoeren, dan heb je in ieder geval een + nodig als eerste teken. Dan maak je het met 2 velden (netnummer en abonneenummer) niet handiger.
  maandag 4 januari 2010 @ 13:11:33 #212
25889 Sitethief
Fulltime Flapdrol
pi_76395737
quote:
Op maandag 4 januari 2010 12:40 schreef hamkaastosti het volgende:
dwing je gebruikers gewoon een correct telefoonnummer in te voeren door bijvoorbeeld een kengetal en abonneeveld te gebruiken die je zelf aan elkaar plakt of geef bij je form een voorbeeld hoe het ingevuld moet worden met evt clientside javascript validatie. je kunt met php dan simpelweg ctype_digit gebruiken voor de check.
[..]
Dit moet een validation class worden die voor meerdere omgevingen te gebruiken is. Dwz dat telefoon nummers erg kunnen verschillen omdat de programmatuur voor diverse landen gebruikt kan worden.
quote:
Op maandag 4 januari 2010 13:04 schreef Light het volgende:

[..]

Alleen cijfers voor een telefoonnummer is niet handig. Het kan ook gebeuren dat iemand een internationaal telefoonnummer wil invoeren, dan heb je in ieder geval een + nodig als eerste teken. Dan maak je het met 2 velden (netnummer en abonneenummer) niet handiger.
Waarom heb je dan een plus nodig?
Je schrijft toch gewoon 0031384202277 en niet +31384202277
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 13:20:59 #213
63192 ursel
"Het Is Hier Fantastisch!
pi_76396039
quote:
Op maandag 4 januari 2010 13:11 schreef Sitethief het volgende:

[..]

Dit moet een validation class worden die voor meerdere omgevingen te gebruiken is. Dwz dat telefoon nummers erg kunnen verschillen omdat de programmatuur voor diverse landen gebruikt kan worden.
[..]

Waarom heb je dan een plus nodig?
Je schrijft toch gewoon 0031384202277 en niet +31384202277
Jij misschien, maar je gebruikers zullen het op alle mogelijke manieren proberen...
  maandag 4 januari 2010 @ 13:24:41 #214
12221 Tijn
Powered by MS Paint
pi_76396161
quote:
Op maandag 4 januari 2010 13:11 schreef Sitethief het volgende:

[..]

Waarom heb je dan een plus nodig?
Je schrijft toch gewoon 0031384202277 en niet +31384202277
Ik denk dat meer mensen +31 invoeren dan 0031.
pi_76396258
quote:
Op maandag 4 januari 2010 13:11 schreef Sitethief het volgende:

Waarom heb je dan een plus nodig?
Je schrijft toch gewoon 0031384202277 en niet +31384202277
Maar je weet niet waar iemand vandaan gaat bellen, en 00 is niet overal de code voor internationaal bellen. De + bij een telefoonnummer wordt wel algemeen herkend als "bel internationaal", waarbij de beller dan zelf kan uitzoeken wat de goede code is voor het land waar hij zich bevindt. Of dat 00, 011, 09, 9, 990 of nog iets anders is, is niet jouw probleem.
  maandag 4 januari 2010 @ 13:33:21 #216
25889 Sitethief
Fulltime Flapdrol
pi_76396454
En dan geef ik ze een foutmelding waarin nóg eens duidelijk uitgelegd staat hoe het moet. naast dat dat bij de invoer al stond natuurlijk.

Het is namelijk niet de bedoeling dat gebruikers van alles en nog wat in de database gaan gooien wat er dna later weer uitgefilterd kan worden.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 13:37:02 #217
25889 Sitethief
Fulltime Flapdrol
pi_76396587
quote:
Op maandag 4 januari 2010 13:24 schreef Tijn het volgende:

[..]

Ik denk dat meer mensen +31 invoeren dan 0031.
Ik heb het nooit gebruikt . Maar ja, wie ben ik?
quote:
Op maandag 4 januari 2010 13:27 schreef Light het volgende:

[..]

Maar je weet niet waar iemand vandaan gaat bellen, en 00 is niet overal de code voor internationaal bellen. De + bij een telefoonnummer wordt wel algemeen herkend als "bel internationaal", waarbij de beller dan zelf kan uitzoeken wat de goede code is voor het land waar hij zich bevindt. Of dat 00, 011, 09, 9, 990 of nog iets anders is, is niet jouw probleem.
Ik kan dus net zo goed die + in mijn database zetten.
Maar goed, de functie werkt nu al niet......


edit:

Als ik in de RegEx tester
1/[^0-9+-]/

gebruik om
1+31-64%2430826

Te strippen, dan werkt het. Ik krijg dan:
1+31-642430826

Maar in mijn code niet.

[ Bericht 11% gewijzigd door Sitethief op 04-01-2010 13:47:40 ]
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 15:12:25 #218
25889 Sitethief
Fulltime Flapdrol
pi_76399712
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
        
/*
         *    Telephone number validate function
         *    @param string with text
         *  @return bool
         *  @return string with validated & stripped digits
         */
        
public function validateTel(&$inputValidateTel) {
            
//Strip
            
$this->stripSingle($inputValidateTel);
            
//Strip everything but digits, + and -
            
$inputValidateTel preg_replace('/[^0-9\+\-]/''',$inputValidateTel);
            
//Check if string contains only digits, + and -, if not return false
            
return true;
        }
?>

Zo werkt ie. Het zat em in de $inputValidateTel = preg_replace('/[^0-9\+\-]/', '',$inputValidateTel);
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 15:15:04 #219
12221 Tijn
Powered by MS Paint
pi_76399796
Ik zou de naam van de functie veranderen in "sanitize" in plaats van "validate". Als je alleen zou valideren, zou je alleen een true / false antwoord verwachten, maar in dit geval pas je de string ook echt aan.
  maandag 4 januari 2010 @ 15:43:51 #220
25889 Sitethief
Fulltime Flapdrol
pi_76400855
quote:
Op maandag 4 januari 2010 15:15 schreef Tijn het volgende:
Ik zou de naam van de functie veranderen in "sanitize" in plaats van "validate". Als je alleen zou valideren, zou je alleen een true / false antwoord verwachten, maar in dit geval pas je de string ook echt aan.
Klopt
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_76404878
Newb-vraag. Ik heb een array en een variabele, hoe kan ik checken of die variabele in de array voorkomt?

Bv.
$array = array(1, 3, 7);
$var = 1;
  maandag 4 januari 2010 @ 17:28:12 #222
75592 GlowMouse
l'état, c'est moi
pi_76404916
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 4 januari 2010 @ 17:29:04 #223
254493 Trollface.
gr rob fruithof, groningencity
pi_76404945
quote:
Op maandag 4 januari 2010 17:27 schreef Tegan het volgende:
Newb-vraag. Ik heb een array en een variabele, hoe kan ik checken of die variabele in de array voorkomt?

Bv.
$array = array(1, 3, 7);
$var = 1;
1
2
3
4
5
<?php
if(in_array($var$array)) {
  
/* doe iets... */
}
?>

★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
pi_76405010
Thanks, met Google kwam ik alleen dingen tegen die checken of een var een array is of niet .
  maandag 4 januari 2010 @ 17:31:25 #225
75592 GlowMouse
l'état, c'est moi
pi_76405038
de functienaam daarvoor verschilt ook maar een letter
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 4 januari 2010 @ 17:35:07 #226
75592 GlowMouse
l'état, c'est moi
pi_76405196
Die manual is trouwens wel handig, want links staan alle arrayfuncties. Om de zoveel tijd moet je die allemaal doorlopen om te kijken wat er allemaal mogelijk is.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 4 januari 2010 @ 17:38:06 #227
25889 Sitethief
Fulltime Flapdrol
pi_76405330
quote:
Op maandag 4 januari 2010 17:35 schreef GlowMouse het volgende:
Die manual is trouwens wel handig, want links staan alle arrayfuncties. Om de zoveel tijd moet je die allemaal doorlopen om te kijken wat er allemaal mogelijk is.
Ik struikel er alleen vaak over dat op die website de voorbeelden altijd erg complex zijn en je dus moeilijk kunt achterhalen hoe je een function simpel kunt gebruiken. Zeker als je net begonnen bent met php. Verder worden veel dingen nogal summier uitgelegd.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 17:44:28 #228
75592 GlowMouse
l'état, c'est moi
pi_76405599
quote:
Op maandag 4 januari 2010 17:38 schreef Sitethief het volgende:

[..]

Ik struikel er alleen vaak over dat op die website de voorbeelden altijd erg complex zijn en je dus moeilijk kunt achterhalen hoe je een function simpel kunt gebruiken. Zeker als je net begonnen bent met php. Verder worden veel dingen nogal summier uitgelegd.
Als je wat ervaring hebt, kun je de voorbeelden wel waarderen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')