#ANONIEM | woensdag 3 oktober 2012 @ 13:17 | |||||
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 | ||||||
#ANONIEM | woensdag 3 oktober 2012 @ 13:18 | |||||
Hmm, ik ken dat soort bedrijven inderdaad, functionaliteit voor veiligheid Dat zijn het soort bedrijven wat je in het nieuws ziet als er weer ergens iets is gehackt doordat je makkelijke SQL inject kan doen | ||||||
Tijn | woensdag 3 oktober 2012 @ 13:25 | |||||
Nee, uiteraard. Maar wel relevant voor Swets | ||||||
Boze_Appel | woensdag 3 oktober 2012 @ 13:26 | |||||
Nouja, niet alleen kleine bedrijven natuurlijk en voor de meeste hackers is zo'n kleine hoeveelheid aan data wat je kan vinden bij die kleintjes het niet waard. Maar mijn punt was dat slechte programmeurs vaak niet getest worden op hun capaciteiten. Alleen bij omgevingen waar andere programmeurs zitten vallen ze door de mand en daar misschien nog niet eens omdat de rest ook bagger is. | ||||||
mstx | woensdag 3 oktober 2012 @ 13:28 | |||||
Ja beveiliging wordt helaas vaak onderschat, ook in het bedrijf waar ik werk. Het meest gehoorde argument om iets niet beter te beveiligen is wel "hoe groot is nou de kans dat dat gebeurt?". Ik maak me er ondertussen niet zo druk meer om, ik zorg wel gewoon dat mijn applicaties zo veilig mogelijk zijn, en om mijn collega's er constant op te wijzen zou ik er een dagtaak bij hebben. Ik was ooit eens met een project begonnen met een logingedeelte enzo. Mooi alle wachtwoorden met sha256, salts etc opgeslagen. Later moest een (ex-)collega er mee verder... heeft ie alles eruit geflikkerd en omgezet naar plain MD5. Die andere meuk vond hij maar te omslachtig. Baas: "ja laat maar zo, anders kost het weer zoveel werk om het terug te zetten". | ||||||
Swetsenegger | woensdag 3 oktober 2012 @ 13:29 | |||||
Aan de andere kant... Als het applicatie is die door 1 persoon wordt onderhouden. Die WEL verstand heeft van SQL injection, zich netjes aan de regeltjes houdt maar alleen alles lineair script ipv OOP... wat is dan het probleem. | ||||||
Swetsenegger | woensdag 3 oktober 2012 @ 13:30 | |||||
Nou ja dat. Kijk ik had niet verwacht de wereld te verdienen, maar als ik nu parttime mijn 'echte' werk kan doen (daar is wellicht een mogelijkheid) en ik kan dan de overige uren tegen het equivalent van 3K per maand aanvullen.... Maar goed, terug naar de tekentafel. | ||||||
Scorpie | woensdag 3 oktober 2012 @ 13:31 | |||||
Dat is een persoonlijk iets denk ik. Soms kan quick en dirty werken, soms bijt het je in de kont. | ||||||
#ANONIEM | woensdag 3 oktober 2012 @ 13:31 | |||||
OMG Ik kwam als eerste baantje ergens terecht waar wachtwoorden(na inloggen) gewoon in hidden form velden stond Je hoefde alleen de broncode te bekijken om te zien wat het wachtwoord was. Het eerste wat ik altijd doe bij een nieuwe werkgever is kijken naar de veiligheid van het systeem Inderdaad soms is lineair beter(of een optie), maar dan moet je zeker weten dat je dalijk niet met een bestand van 1000 regels zit opgescheept. [ Bericht 15% gewijzigd door #ANONIEM op 03-10-2012 13:32:48 ] | ||||||
mstx | woensdag 3 oktober 2012 @ 13:32 | |||||
Ligt er ook aan of het een simpele site is voor de bakker op de hoek of een applicatie die nog jaren wordt doorontwikkeld. | ||||||
Scorpie | woensdag 3 oktober 2012 @ 13:34 | |||||
In mijn werkomgeving doe ik eigenlijk niks inline, in hobby projecten ga ik nog wel eens los daarop. | ||||||
Swetsenegger | woensdag 3 oktober 2012 @ 13:36 | |||||
Lineair is toch niet per definitie "dirty"? | ||||||
Scorpie | woensdag 3 oktober 2012 @ 13:37 | |||||
Daarom is het nogal persoonlijk. Ikzelf vind het dirty, anderen vinden het niet dirty. | ||||||
mstx | woensdag 3 oktober 2012 @ 13:41 | |||||
Simpele importscriptjes enzo doe ik nog wel eens inline, lekker snel en simpel en elke stagiair kan het lezen. Ik had ooit een collega (daar gaan we weer) die het presteerde om zulke scripts zo ingewikkeld mogelijk te maken met 100 verschillende (sub)classes enzo. Voorbeeld: xml bestanden importeren in een database (best simpel). Zijn script had iets van 5 classes. Eerst werd het bestand gekopieerd, dan omgezet naar een CSV via een XSLT template, daarna met LOAD FILE ingeladen in een aparte tabel, waar een trigger weer bepaalde dingen berekende, en daarna werd de hele handel weer naar andere tabellen gekopieerd. Ik was helaas de enige die het script een beetje kon lezen en dus alle bugs moest fixen als hij er niet was. | ||||||
Tijn | woensdag 3 oktober 2012 @ 14:17 | |||||
Ik zat vanochtend nog bij een klant voor een nieuw project die me expliciet vroeg om het niet "te object-georiënteerd" op te zetten Maar goed, dat komt waarschijnlijk omdat 'ie het zelf ook niet zo goed begrijpt denk ik. Ik zie eigenlijk geen reden om niet gewoon met controllers en models te werken. | ||||||
Sitethief | woensdag 3 oktober 2012 @ 14:28 | |||||
Wat bedoel je precies met controllers en models? Models als in classes die inzichzelf een model van de db hebben? | ||||||
Farenji | woensdag 3 oktober 2012 @ 14:44 | |||||
Er is niks mis met lineair, voor kleinere projecten. Voor grotere projecten gaat het je al snel hoofdbrekens kosten. OOP is geen heilige graal, het is een methode om structuur in je applicatie aan te brengen en te zorgen dat alles modulair, flexibel, onderhoudbaar en uitbreidbaar is. Zonder OOP moet je al die zaken zelf in de gaten houden; als je dat goed kan, nou dan ben je vast ook slim genoeg voor OOP. Maar goed, imho nog belangrijker dan OOP is een duidelijke scheiding tussen content, logica en presentatie. Zorg dat je front end templates makkelijk te bewerken zijn door een niet technische designer; zorg dat je businesslogica niet vermengd wordt met presentatie, etc. Ook met lineaire code kun je dat voor elkaar krijgen. OOP maakt het wel makkelijker. | ||||||
Farenji | woensdag 3 oktober 2012 @ 14:45 | |||||
Model, View, Controller, oftwel MVC. Google maar. | ||||||
Tijn | woensdag 3 oktober 2012 @ 14:49 | |||||
Gewoon, logische models van de objecten die in de applicatie bestaan en controllers om de juiste data te verwerken of naar een view te sturen. | ||||||
#ANONIEM | woensdag 3 oktober 2012 @ 14:57 | |||||
Je hebt ook een verschil in mening over models. Veel mensen zweren bij PDO en daarvoor een eigen extensie schrijven en daarbij in models methods zetten gerelateerd aan de tabel die erbij hoort. Andere mensen gaan voor ORM, waarbij de tabel in het model wordt gedefinieerd. Dit betekend ook alle relaties naar andere tabellen toe etc. Dit zorgt voor een bepaald soort automatisme van het systeem en minder queries schrijven (in theorie, in de praktijk zul je alsnog vaak querie achtige dingen doen) | ||||||
Scorpie | woensdag 3 oktober 2012 @ 14:59 | |||||
Gewoonweg het MVC principe. | ||||||
Sitethief | woensdag 3 oktober 2012 @ 16:14 | |||||
Ik ken MVC wel, alleen mijn gare hersens zagen even niet dat die models en controllers die van MVC waren . Ik werk zelf hier op werk bijna alleen maar met MVC . En als je het eenmaal snapt is het echt heel fijn. Voor een autist als ik ook lekker gestructureerd. Mjah, nu ik op werk veel met CouchDB werk ben ik het weer een beetje verleerd . Terwijl ik zelf e.a. aan classes heb geschreven voor PDO/Innodb. Maar eigenlijk kom ik nog maar net kijken in de wereld van PHP, ik werk hier nu bijna 3 jaar, heb bijna alle PHP kennis op mijn werk geleerd. Gelukkig wel grotendeels OOP. Maar ik heb nog veel te leren. | ||||||
Scorpie | woensdag 3 oktober 2012 @ 16:19 | |||||
CakePHP ftw, maar das persoonlijk. Couch ken ik niet. | ||||||
Farenji | woensdag 3 oktober 2012 @ 17:22 | |||||
CakePHP is best tof inderdaad. Heb onlangs een project aangenomen, een site waarvan de programmeur was "verdwenen", terwijl de site half af was... Was mijn eerste kennismaking ermee. Lekker snel scaffolden, zit netjes en gestructureerd in elkaar. Ben nu aan het kijken naar Bancha, integratie tussen CakePHP en ExtJS. Vette shit. | ||||||
Faux. | woensdag 3 oktober 2012 @ 17:51 | |||||
Wat vinden jullie trouwens van Laravel? | ||||||
Sitethief | woensdag 3 oktober 2012 @ 17:51 | |||||
CouchDB is een NoSQL database, niet een framework . | ||||||
Scorpie | woensdag 3 oktober 2012 @ 19:09 | |||||
Dat zeg ik, ik ken het niet. | ||||||
Scorpie | woensdag 3 oktober 2012 @ 19:10 | |||||
ExtJS is sowieso de bomb. Zwaar groot project met alle toeters en bellen ermee aan het doen @ work. | ||||||
Farenji | woensdag 3 oktober 2012 @ 19:19 | |||||
Ik werk al jaren met extjs, vanaf versie 2, maar tot nu toe heb ik alle benodigde backend code met de hand lopen tikken. Vaak arbeidsintensief en saai werk. Die integratie met cakephp scheelt ontzettend veel tijd en moeite want heel veel wordt automatisch voor je gegenereerd. | ||||||
Diabox | woensdag 3 oktober 2012 @ 19:36 | |||||
Boks. Kan niet wachten op 3.0, models returnen dan niet meer die shitty arrays. | ||||||
WyriHaximus | woensdag 3 oktober 2012 @ 20:24 | |||||
Groepsboks! 2.x is al erg tof (kwa features, performence en gebruikt gemakt een flinke verbetering invergelijking met 1.3) en kan daarom ook niet wachten op 3.x (namespaces/PSR/bcrypt als password hashing/minimaal PHP 5.4 ). | ||||||
Light | woensdag 3 oktober 2012 @ 23:33 | |||||
Dat kan ook al voordat je uberhaupt een contract tekent. | ||||||
Light | woensdag 3 oktober 2012 @ 23:37 | |||||
Als je goede tests bij je code kunt leveren is het wmb niet dirty. En code die wel OO is maar ook zodanig in elkaar zit dat unittesten niet mogelijk is, is wel dirty. | ||||||
pascal08 | vrijdag 5 oktober 2012 @ 15:47 | |||||
PHP-codes, kan je die ook lokaal vanaf een Windows computer URL's laten aanroepen? Kan ik dan ook communiceren met een server of moet de code dan op een Apache server staan? | ||||||
ralfie | vrijdag 5 oktober 2012 @ 16:25 | |||||
PHP kan draaien zonder apache, maar ook daar heb je gewoon een programma voor nodig. Pagina's aanroepen e.d. kan alleen met een server, apache lijkt me dan het makkelijkst. Download gewoon 'wamp' en installeer dat. Geen gezever, werkt meteen | ||||||
pascal08 | vrijdag 5 oktober 2012 @ 16:30 | |||||
Ik heb XAMPP al, ik weet alleen niet hoe ik mijn PHP-code nu bruikbaar kan maken. | ||||||
Rockfire | vrijdag 5 oktober 2012 @ 16:40 | |||||
In dat geval kun je je PHP-code in de directory <xampp-directory>\htdocs\ neerzetten. Laten we er even vanuit gaan dat jouw code in een bestand script.php staat, dan kun je je script nu aanroepen via http://localhost/script.php | ||||||
pascal08 | vrijdag 5 oktober 2012 @ 16:44 | |||||
Juist, dat heb ik al gedaan. Ik krijg gewoon een blank screen te zien dan. Mijn PHP-code heeft blijkbaar geen output of kan geen output laten zien. | ||||||
Rockfire | vrijdag 5 oktober 2012 @ 16:45 | |||||
Je weet wel wat je code doet? Je kunt testen of het werkt door wel ergens output te genereren, die zou je dan moeten zien.
| ||||||
pascal08 | vrijdag 5 oktober 2012 @ 16:51 | |||||
Ik heb 'm niet zelf geschreven, ben echt nog een n00b met PHP. Variabelen toekennen en oproepen kan ik wel, echt de basis stuff.
| ||||||
pascal08 | vrijdag 5 oktober 2012 @ 17:29 | |||||
Kan iemand een simpel voorbeeld maken van een cURL HTTP request die echt werkt? Bijvoorbeeld het uitlezen van een RSS feed. Zou mij echt een heel eind op weg helpen. [ Bericht 80% gewijzigd door pascal08 op 05-10-2012 17:47:19 ] | ||||||
Boze_Appel | vrijdag 5 oktober 2012 @ 19:11 | |||||
Cake is echt kut, sorry. Dat je daarmee kan werken. | ||||||
mstx | vrijdag 5 oktober 2012 @ 19:18 | |||||
En als je dat toch wel wil:
| ||||||
pascal08 | vrijdag 5 oktober 2012 @ 19:18 | |||||
Laat maar eigenlijk, PHP is eigenlijk heel makkelijk. Youtube | ||||||
pascal08 | vrijdag 5 oktober 2012 @ 19:19 | |||||
Lol... Deze ga ik even proberen, bedankt. | ||||||
Farenji | vrijdag 5 oktober 2012 @ 19:23 | |||||
Haha, je kan er gewoon niet mee omgaan. Welk framework is wel de bom dan volgens jou? | ||||||
pascal08 | vrijdag 5 oktober 2012 @ 19:25 | |||||
Waarom werkt mijn knop nu niet? Haal ik nu JS en PHP door elkaar? | ||||||
Scorpie | vrijdag 5 oktober 2012 @ 19:26 | |||||
Je kan geen php functie aanroepen als JavaScript functie. | ||||||
pascal08 | vrijdag 5 oktober 2012 @ 19:27 | |||||
Gelukt. | ||||||
Scorpie | vrijdag 5 oktober 2012 @ 19:29 | |||||
php is server Side, html is client Side. | ||||||
pascal08 | vrijdag 5 oktober 2012 @ 19:31 | |||||
Dat is ook de reden waarom PHP veiliger is toch? | ||||||
Scorpie | vrijdag 5 oktober 2012 @ 19:33 | |||||
Nou nee. Je vergelijkt appels met speedboten. | ||||||
pascal08 | vrijdag 5 oktober 2012 @ 19:34 | |||||
Is HTML de appel? ...grapje... | ||||||
Boze_Appel | vrijdag 5 oktober 2012 @ 19:38 | |||||
Ik kan er prima mee omgaan, maar het is bloated. :0 | ||||||
Farenji | vrijdag 5 oktober 2012 @ 19:40 | |||||
Nogmaals, noem eens een beter alternatief dan? | ||||||
Boze_Appel | vrijdag 5 oktober 2012 @ 19:40 | |||||
http://codeigniter.com/ | ||||||
Farenji | vrijdag 5 oktober 2012 @ 20:30 | |||||
CodeIgniter vind ik meer een verzameling libraries dan een framework. Veel van de libs zijn nogal simplistisch, vaak niet meer dan wat convenience wrappers die soms maar weinig voordeel opleveren, zoals die gare "active record" class, die alleen maar extra complexiteit toevoegt zonder dat je er veel gemak voor terugkrijgt. | ||||||
wipes66 | vrijdag 5 oktober 2012 @ 21:39 | |||||
dus globals maken de boel eerder dirty | ||||||
Tijn | vrijdag 5 oktober 2012 @ 21:43 | |||||
Ik ga binnenkort werken aan de back-end van een Facebook-game. Ik zoek een mooi framework waarmee ik dat zou kunnen doen. Het wordt geen grote applicatie, gewoon wat simpele dingen zoals het bijhouden van highscores. Iemand een goede tip? Is CakePHP is zo'n geval geen overkill? | ||||||
#ANONIEM | vrijdag 5 oktober 2012 @ 22:15 | |||||
http://popcornphp.com/ ? | ||||||
Light | vrijdag 5 oktober 2012 @ 22:28 | |||||
Globals zijn evil. En dat is een understatement. | ||||||
Tijn | vrijdag 5 oktober 2012 @ 22:30 | |||||
Mja, laatse versie: 0.6 beta. Klinkt niet echt alsof het volwassen is | ||||||
#ANONIEM | vrijdag 5 oktober 2012 @ 22:31 | |||||
Hmm, inderdaad. Dat framework waar Boze_Appel zo enthousiast over is zal denk ik wel voldoen toch? | ||||||
Arcee | vrijdag 5 oktober 2012 @ 22:34 | |||||
Een forum met 7 topics en 11 posts duidt ook niet echt op een levendige community. | ||||||
#ANONIEM | vrijdag 5 oktober 2012 @ 22:46 | |||||
Ik zocht op lightweight php framework en deze kwam eruit. De homepage zag er wel goed uit en het leek ook redelijk licht, maar ik keek niet echt verder. | ||||||
Scorpie | vrijdag 5 oktober 2012 @ 23:48 | |||||
Licht is het wel. | ||||||
Light | vrijdag 5 oktober 2012 @ 23:51 | |||||
Dat is onderstaand framework ook:
| ||||||
Boze_Appel | zaterdag 6 oktober 2012 @ 02:58 | |||||
Wat voor complexiteit voegt active record toe? In de praktijk komt het niet zo belachelijk veel voor, maar een simpele manier om database-interactie's te doen, ongeacht de database, is best praktisch. Een conversie van MySQL naar PostgreSQL is dan een eitje om maar wat te noemen. | ||||||
Farenji | zaterdag 6 oktober 2012 @ 10:54 | |||||
Ik vind dit:
complexer dan gewoon kale sql:
In ieder geval makkelijker te tikken. (het voorbeeld heb ik uit de documentatie, het is natuurlijk een debiele query) Wat ik in active record ook heel erg mis is inter table relaties - die moet je alsnog helemaal zelf doen, incl de joins. In de modellen van cakephp worden die automatisch gelegd (hasOne, hasMany, belongsTo) aan de hand van je database schema en hoef je er bijna niet meer over na te denken. De benodigde joins worden onderwater gewoon gegenereerd en je kan de data van gerelateerde tabellen benaderen zonder extra moeite. Daar heb je helemaal gelijk in. Dat is wat mij betreft ook de enige reden waarom je active record zou willen gebruiken. | ||||||
Devolution | zaterdag 6 oktober 2012 @ 17:11 | |||||
Ik heb de volgende code op een pagina staan waar boven deze code nog meer code staat, maar eronder niets meer:
De UPDATE regel wordt niet uitgevoerd in die code. Zodra ik die regel boven de regel plaats waar het SQL-resultaat gefetched wordt werkt het wel. Als ik deze code in een nieuw php-document plaats met geen andere code, werkt ie wel. De code zelf lijkt dus wel goed te zijn. Maar waarom werkt ie niet als ik die regel onder de fetch plaats op die pagina? Ik snap er echt geen zak van waarom het niet werkt. In elke andere situatie die ik heb kunnen bedenken UPDATE ie de cel gewoon, BEHALVE op die ene pagina als ik de UPDATE regel daar onder de fetch plaats. Heeft iemand enig idee waardoor dit kan? Ik heb de rest van de code op de pagina niet genoemd omdat ik niet denk dat daar het probleem in zit. Dit denk ik omdat de UPDATE query wél gewoon werkt als ik die boven de fetch plaats. Heeft iemand énig idee? Ik ben hier al dagen mee bezig, heb van alles geprobeerd maar het wil verdomme maar niet werken.. | ||||||
boem-dikkie | zaterdag 6 oktober 2012 @ 17:55 | |||||
Plaats je dan de update query buiten de if boven de code? Wat krijg je terug als je $move echo't? | ||||||
Devolution | zaterdag 6 oktober 2012 @ 18:02 | |||||
Ik dacht eerst ook dat het daaraan lag, maar als ik de UPDATE query slechts boven de IF plaats dan werkt het nog steeds niet. Ik moet de query echt boven de fetch plaatsen om het te laten werken. $move geeft de daadwerkelijke waarde (A3) gewoon terug, dus dat klopt ook gewoon.. | ||||||
Arcee | zaterdag 6 oktober 2012 @ 18:06 | |||||
Je kunt die IF ook als een WHERE in het UPDATE-statement verwerken:
Dan kun je die fetch en de IF gewoon weglaten. | ||||||
GlowMouse | zaterdag 6 oktober 2012 @ 18:16 | |||||
en heb je gelijk ondersteuning voor concurrency | ||||||
Devolution | zaterdag 6 oktober 2012 @ 20:40 | |||||
Nee helaas niet, omdat hij in die IF ook nog wat HTML output via een echo. Dit is voor dit probleem echter niet relevant en daarom heb ik dit niet in de code staan | ||||||
Light | zaterdag 6 oktober 2012 @ 22:17 | |||||
Je kunt ook eerst de update doen, dan controleren hoeveel rijen er aangepast zijn (met mysql_num_rows()) en op basis daarvan je IF doen. | ||||||
Devolution | zondag 7 oktober 2012 @ 11:07 | |||||
Nee kan ook niet, want hij moet de waarde eerst naar de browser outputten en daarna pas de waarde updaten De waarde in de cel staat voor een aanval die een vechtpoppetje doet. Zodra dit poppetje de aanval doet moet hiervan een melding op het scherm van de speler komen en vervolgens wordt deze aanval uit de cel verwijderd (leeggemaakt). | ||||||
rekenwonder | zondag 7 oktober 2012 @ 11:08 | |||||
Of hij begreep het heel goed en was bang voor overengineering of het second-system effect. Het wordt tijd dat de pragmatiek weer breder gedragen gaat worden in het developmentwezen. Programming Motherfucker, Do you speak it? :-) | ||||||
Tijn | zondag 7 oktober 2012 @ 11:10 | |||||
Mja, de vrij strakke deadline dwingt sowieso al een bepaalde pragmatiek af | ||||||
Arcee | zondag 7 oktober 2012 @ 11:43 | |||||
Misschien dat je daar toch een stukje van kunt posten? Je zegt dat de code zoals je die postte in een nieuw document gewoon werkt, dus wellicht ligt het toch aan de overige code. | ||||||
Devolution | zondag 7 oktober 2012 @ 13:33 | |||||
Ik heb het eindelijk opgelost. Het had te maken met een AJAX call in de code (die werd aangeroepen via een javascriptcode die weer via een echo geplaatst werd in die IF hierboven) die de bewuste cel aanpaste nadat de update de cel leeggemaakt had. De update werkte dus wel maar daarna veranderde de AJAX call doodleuk de waarde weer in de oude Ik ben erachter gekomen door de javascriptcode weg te halen, waardoor de pagina het perfect deed. Toen wist ik dus dat het daaraan moest liggen en heb ik de complete javascriptcode (en de resulterende AJAX-call) vervolgens regel voor regel nagelopen en kwam ik achter de fout. Ik heb hiervoor nog nooit met AJAX calls gewerkt dus vandaar dat ik deze stomme fout gemaakt had haha Maar het werkt nu weer | ||||||
#ANONIEM | zondag 7 oktober 2012 @ 13:48 | |||||
Daarnaast is het wel een walgelijk stukje code. In die 4 regels gaan al 4 dingen mis... | ||||||
Devolution | zondag 7 oktober 2012 @ 13:50 | |||||
Enlighten me? | ||||||
#ANONIEM | zondag 7 oktober 2012 @ 14:00 | |||||
Geen foutcontrole. Geen controle over resultaten. 2 spelernamen in 1 tabel ipv een aparte tabel voor spelers. Where id = 1 zonder quotes. Anders vergelijkt hij als string en niet int | ||||||
Devolution | zondag 7 oktober 2012 @ 18:50 | |||||
Foutcontrole op de fetch is niet nodig omdat de cellen uit de query altijd bestaan. Er zijn niet 2 spelernamen in 1 tabel, zie onder*. Als laatste stonden er quotes omdat daar normaal een php string staat, maar voor testdoeleinden had ik daar even een 1 van gemaakt. * Elk gevecht krijgt een eigen rij. In die rij staan onder andere de columns movespeler1 en movespeler2. Deze geven aan welke aanval elke speler heeft gekozen in datzelfde gevecht en deze worden geleegd zodra beide spelers deze aanval gezien hebben als animatie. Het is dus niet nodig om deze in aparte tabellen te zetten omdat het slechts de acties weergeeft binnen 1 gevecht. | ||||||
cablegunmaster | maandag 8 oktober 2012 @ 19:09 | |||||
Ik zit met een denk spelletje in mijn hoofd, zelf probeer ik steeds meer richting jquery en ajax op te denken. Al lukt het niet altijd even goed, maar nu vraag ik me af. ik heb een tabel met X aantal rijen. elke rij wou ik inline kunnen aanpassen (call back richting database). Zodat als een waarde verandert de goede rij aangepast wordt. Ik zat nu aan 2 varianten te denken, 1. met een save knop aan het einde van de rij. (hoe hij weet dat hij de Rij daarvoor moet hebben weet ik nog niet ) . Tig <form> op een pagina maken leek me niet praktisch en was net een beetje semi ajax idee. 2. onchange javascript dat als een verandering op het input veld is er een javascript activeert, die de resultaten post richitng de server. Dit lijkt me alleen zwaar te zijn, (kan het mis hebben). elke aanpassing een aparte query verstuurd , geen idee in wat voor orde query's gaan maar, mij is geleerd zo min mogelijk query's te gebruiken. kan het helemaal mis hebben. Onchange() -> functie in jquery pakt de value van het huidige input veld. Stuurt de waarde per $.post in javascript door naar functie in php. en php stuurt het door richting SQL database. | ||||||
Crutch | maandag 8 oktober 2012 @ 19:35 | |||||
Je bedoelt een "onkeyup"-event van zo'n input text zeker? Ik zie het wel vaker gebeuren; met zoeksuggesties bijvoorbeeld. Ja je vuurt dan wel met elke toetsaanslag een $.post() af, maar dat is toch niet zo zwaar? | ||||||
Scorpie | maandag 8 oktober 2012 @ 19:42 | |||||
Of pas na drie aanslagen fetchen, deze in cache opslaan en daar verder in filteren. | ||||||
GlowMouse | maandag 8 oktober 2012 @ 20:04 | |||||
jij gaat voor de bullshitbingo? | ||||||
Sitethief | maandag 8 oktober 2012 @ 20:07 | |||||
Wie heeft er ervaring met Propel en verglijkbare ORM oplossingen in PHP. Is zoiets aan te raden om op te pakken voor wat hobbyprojectjes, of maak ik het me dan juist weer veels te moeilijk? En wat zou een tussenoplossing zijn? Het andere einde is nl. zelf e.a. aan classes schrijven voor PDO/MySQL, dat voelt alleen een beetje als het wiel op nieuwe uitvinden. Ik doe dat al op mijn werk dus om dat thuis nog eens na te gaan doen is mij een beetje te gortig. | ||||||
Scorpie | maandag 8 oktober 2012 @ 20:12 | |||||
Nee lekker alles in het Nederlands uitspreken, dat zet zoden aan de dijk 'Na 3 aanslaguh de resultaten ophaluh en dan lokaal bijhouduh en dan daarin gaan zoekuh'. | ||||||
GlowMouse | maandag 8 oktober 2012 @ 20:24 | |||||
Je strooide met termen zonder specifiek aan te geven waar dat gebeurde. Fetchen is in php-land sowieso iets vreemds als je het over user-input hebt. Het was voor mij onbegrijpelijk wat je met je post bedoelde. | ||||||
pascal08 | maandag 8 oktober 2012 @ 20:47 | |||||
Heeft iemand hier ervaring met cURL? Ik heb een loginscript, maar ik krijg geen output. Waarschijnlijk heeft het te maken met een cookie.txt file waar naartoe geschreven moet kunnen worden. Ik weet alleen niet hoe. | ||||||
Scorpie | maandag 8 oktober 2012 @ 21:04 | |||||
Data fetchen is jou vreemd? De relatie met een input field kon je ook niet leggen? User-input is wel een normale term ? Dit soort termen worden dagelijks gebezigd zonder dat er iemand is die niet snapt waar het over gaat, zeker de gemiddelde devver weet precies wat dit inhoud. Daarnaast is de door mij geposte manier een beproefde methode voor een live search veld. | ||||||
Light | maandag 8 oktober 2012 @ 22:12 | |||||
Dan nog kun je zonder foutafhandeling in de problemen komen. Bijvoorbeeld als de tabel wordt aangepast en je de code niet overal bijwerkt. Of als het id niet bestaat, of de verbinding met de database moeilijk doet. Als mysql_query (een functie die je eigenlijk niet meer moet gebruiken) geen resultaat oplevert, gaat mysql_fetch ook mis. | ||||||
Sitethief | dinsdag 9 oktober 2012 @ 09:59 | |||||
Over het algemeen vang ik functies altijd af, bijna alle functies kunnen false terug geven als er iets misgaat. Als je dat meteen afvangt kun je dat meteen vastleggen, ipv dat je telefoontjes van klanten krijgt over foreaches die misgaan wegens missende data etc. (en eigenlijk vind ik dat je altijd moet checken of je wel een array/object naar je foreach stuurt, of iedere andere functie die een bepaalde iets verwacht.) Dan moet je namelijk helemaal terug gaan kijken waar dat ook al weer was, ipv dat je die informatie al hebt. En daarnaast is het voor de gebruiker meestal prettiger een foutmelding te zien die zij kunnen begrijpen, ipv een of andere php foutmelding. | ||||||
Sitethief | dinsdag 9 oktober 2012 @ 10:01 | |||||
Het woord altijd vind ik zo gevaarlijk in de ICT, "ja maar dat zal nooit gebeuren", "dat komt niet voor", "daar hoeven we geen rekening mee te maken", "die input/output is altijd goed" | ||||||
VorteXxX | dinsdag 9 oktober 2012 @ 10:06 | |||||
tegenwoordig leer je het tijdens je opleiding om overal rekening mee (proberen) te houden en (proberen) zo veel mogelijk op te vangen (ik toch ) | ||||||
mstx | dinsdag 9 oktober 2012 @ 10:07 | |||||
Ik doe zoiets meestal met een timeout, dus dit idee:
| ||||||
#ANONIEM | dinsdag 9 oktober 2012 @ 15:20 | |||||
Je moet nooit er vanuit gaan dat iets altijd bestaat. Het kan wel zo, maar het is niet netjes controleer je dan wel of die string ook aan je voorwaarden voldoet? Maar wat als je meer acties krijgt? Dan kun je het niet opschalen | ||||||
cablegunmaster | dinsdag 9 oktober 2012 @ 16:00 | |||||
Hoe is dit idee eigenlijk? ik begrijp de code half, je wil als er 3 seconde niks gebeurt iets verstuurt? Want ik heb nu
Hoe wou je daartussen dan de timeout neerzetten? want dan was je idee dat hij elke keer de timeout cleared onchange? en pas na 3 seconde submit. onchange submitten heb ik al onder de knie, alleen hoe was je idee met de 3 seconde timeout? dat hij pas na 3 seconde na de onchange aanpast? Ideaal eigenlijk als er geen change meer plaatsvind. dus 2 seconde na laatste change. Ontleed: Trigger: Als een key up wordt gedrukt laad hij deze functie. Als er 3 seconde geen knop boven is gedrukt verstuurd hij het richting de server ( aanroep functieDieAjax); als ik het begrijp? anders timeout leegmaken.
[ Bericht 5% gewijzigd door cablegunmaster op 09-10-2012 16:06:02 ] | ||||||
Devolution | dinsdag 9 oktober 2012 @ 16:47 | |||||
Bedankt voor al jullie hulp en zorgen maar ik heb er al genoeg over nagedacht en ik vind het prima zo. Het is verder iets voor mezelf, niet voor een klant dus ik zit er niet zo mee als het niet perfect is. | ||||||
mstx | dinsdag 9 oktober 2012 @ 16:58 | |||||
Ja volgens mij snap je het wel zo'n beetje. Bij elke druk op de knop slaat hij een actie op in de variabele "timeout" die over 3 seconden uitgevoerd wordt. Voordat hij dat doet verwijdert hij die functie weer als die in die variabele is opgeslagen. Dus zolang je steeds binnen 3 seconden op een knop drukt blijft hij die actie verwijderen en daarna weer opnieuw starten voor over 3 seconden. | ||||||
MrNiles | woensdag 10 oktober 2012 @ 22:31 | |||||
ik heb een tekst invul form, de tekst schrijf ik wel in een txt file als ik in de tekstarea een harde return geef dan komt deze ook in de txt file terecht. Als ik de textfile uitlees dan zie ik die harde return ook weer terug op het scherm...da's nie de bedoeling hoe krijg ik de harde return eruit? trim lijkt niet te werken | ||||||
mschol | woensdag 10 oktober 2012 @ 22:33 | |||||
http://nl1.php.net/nl2br die functie nodig? (ik weet even niet waarom je die harde return niet wilt hebben ) | ||||||
MrNiles | woensdag 10 oktober 2012 @ 22:37 | |||||
ik wil de harde return niet in mijn txt file terug zien als harde return maar alleen als <br/> | ||||||
Tijn | woensdag 10 oktober 2012 @ 22:37 | |||||
Dat is precies wat nl2br() doet. | ||||||
MrNiles | woensdag 10 oktober 2012 @ 22:40 | |||||
ow..ok..ff proberen dan kwam er net achter dat een harde return een carriage return heet...dat zoekt een stuk makkelijker kwam op deze oplossing $bericht= trim( preg_replace( '/\s+/', ' ', $bericht) ); | ||||||
ralfie | woensdag 10 oktober 2012 @ 22:59 | |||||
Een carriage return is het '\r' symbool. Het 'ga naar de volgende regel' symbool is de newline '\n'. Windows vindt het nodig om beide te gebruiken als 'harde enter' of hoe je het noemen wil: jantje\r\n Dit is een nieuwe regel *nix doet standaard alleen de '\n' gebruiken jantje\n Dit is een nieuwe regel Waarom windows het in twee symbolen doet is historisch, eigenlijk. Een carriage return is wat je met je typmachine doet, het terugslingeren van je papier om de 'cursor' weer aan het begin van de regel te krijgen. De newline, het doordraaien van je papier, is datgene wat de nieuwe regel maakt. In console output kun je met een carriage return de huidige regel overschrijven. Handig voor voortgang e.d. | ||||||
wobbel | woensdag 10 oktober 2012 @ 23:13 | |||||
Help, wat doe ik weer eens fout Ik krijg bij huidige waarde van $henk fout terug Ik wil nummers en + toestaan (voor telefoonnummers met of zonder + ervoor)
| ||||||
mschol | woensdag 10 oktober 2012 @ 23:21 | |||||
zoiets?"
| ||||||
wobbel | woensdag 10 oktober 2012 @ 23:26 | |||||
Het gaat met name om de snelheid van de regex aangezien de regex vele tienduizenden keren per dag uitgevoerd gaat worden. En volgens mij is 0-9 toch echt handiger dan 1-10 | ||||||
mschol | woensdag 10 oktober 2012 @ 23:27 | |||||
voor optimalisatie moet je niet bij mij zijn en 0-9? lijkt me erg onhandig, je eerste voorbeeld matcht hij dan al niet... 1-10 is vanaf 1 cijfer tot max 10 cijfers... | ||||||
wobbel | woensdag 10 oktober 2012 @ 23:30 | |||||
Ah, ik snap dus al niks van regexen Hij mag numeriek zijn, of numeriek en beginnen met +. De lengte is verder niet van belang, van 1 tot 100 cijfers ik vind het allemaal goed | ||||||
Tijn | woensdag 10 oktober 2012 @ 23:50 | |||||
Is filter_var() dan geen oplossing?
Hier komt uit:
| ||||||
KomtTijd... | donderdag 11 oktober 2012 @ 00:30 | |||||
Wat Tijn zegt, of FILTER_VALIDATE_FLOAT, die geeft true of false terug. (misschien iets te stikt voor telefoonnummers, als je ook streepjes of spaties wilt toestaan) | ||||||
wipes66 | donderdag 11 oktober 2012 @ 02:02 | |||||
$valid = ( $henk{1} === '+' || ctype_digit($henk{1}) && ctype_digit(substr($henk, 1)) ); Zoiets ? | ||||||
Diabox | donderdag 11 oktober 2012 @ 02:58 | |||||
Mja, eerst trimmen voordat je hem door de filter haalt. Slikt ie in ieder geval spaties. | ||||||
cablegunmaster | donderdag 11 oktober 2012 @ 16:08 | |||||
[ Bericht 3% gewijzigd door cablegunmaster op 11-10-2012 16:14:29 ] | ||||||
KomtTijd... | donderdag 11 oktober 2012 @ 16:12 | |||||
Als je al nederlandse functienamen gebruikt, maak ze dan op zijn minst grammaticaal correct | ||||||
GlowMouse | donderdag 11 oktober 2012 @ 16:20 | |||||
Kijk eens naar de jQuery-documentatie over traversing. Je laat niet zien hoe de functie wordt aangeroepen, maar vanaf $(this) is de rij waarschijnlijk niet ver in de dom-tree. | ||||||
cablegunmaster | donderdag 11 oktober 2012 @ 16:27 | |||||
Idee is eigenlijk dat hij zichzelf vind, dus met behulp van onchange eigenlijk weet dat hij Input te pakken heeft de huidige rij te pakken heeft. ik zat me net te bedenken is het dan slim om elke rij een eigen nummer id mee te geven , op basis van de ID in de DB? zo van:
Op basis van het "voucher"+500 de input te pakken? (hoe weet ik nog niet ). Daar vervolgens de children van die TR te pakken? | ||||||
GlowMouse | donderdag 11 oktober 2012 @ 16:30 | |||||
wat is de .val() van die tr dan? | ||||||
cablegunmaster | donderdag 11 oktober 2012 @ 16:32 | |||||
dankje voor het idee, even kijken of ik het toegepast krijg . Oplossing: op basis van de DB + veldnaam het toe te passen . [ Bericht 12% gewijzigd door cablegunmaster op 11-10-2012 16:39:06 ] | ||||||
Farenji | donderdag 11 oktober 2012 @ 16:33 | |||||
Ben nu bezig met een php project waar alle functienamen en variabelen in het Spaans zijn | ||||||
Scorpie | donderdag 11 oktober 2012 @ 16:38 | |||||
Owja, geweldig, database id`tjes meegeven. | ||||||
cablegunmaster | donderdag 11 oktober 2012 @ 16:39 | |||||
Beter idee? dit is toch voor achter de schermen gebruik. | ||||||
Scorpie | donderdag 11 oktober 2012 @ 16:41 | |||||
ALS je al id`tjes gebruikt, dan gooi ik die informatie altijd in het HTML5 attribuut data. Met jQuery kan je die vervolgens door $(selector).data('var'); uitlezen. | ||||||
GlowMouse | donderdag 11 oktober 2012 @ 16:44 | |||||
ik had je al een prachtoplossing gegeven | ||||||
cablegunmaster | donderdag 11 oktober 2012 @ 16:45 | |||||
die snapte ik niet Het idee is eigenlijk als volgt met behulp van een tabel een input field aanpassen en doorverwerken in de DB. Dat is het idee, daarom heb ik perse een Id nodig [ Bericht 18% gewijzigd door cablegunmaster op 11-10-2012 16:50:15 ] | ||||||
MrNiles | vrijdag 12 oktober 2012 @ 13:20 | |||||
ik bij een webhoster een stukje script staan om een mapje met foto's te displayen op scherm. Nu wilde ik en een collega dat lokaal zetten met WAMP files 1op1 gekopieerd, maar nu krijg ik geen foto's te zien lokaal Moet ik in WAMP nog bepaalde opties aan/uit zetten? Dit is het script (copied van internet)
| ||||||
KomtTijd... | vrijdag 12 oktober 2012 @ 13:45 | |||||
hoe ver was je al met debuggen? | ||||||
MrNiles | vrijdag 12 oktober 2012 @ 13:58 | |||||
bij de hoster online werkt het dus ik verdenkt wamp maar ik heb daar nog nooit mee gewerkt en ik heb geen idee waar te zoeken vandaar mijn vraag hier...voor dummies | ||||||
KomtTijd... | vrijdag 12 oktober 2012 @ 13:59 | |||||
Dat vroeg ik niet, ik vroeg hoe ver je bent met debuggen. Watvoor foutmeldingen krijg je? -edit- heb je in je php.ini error_reporting op E_ALL gezet? | ||||||
MrNiles | vrijdag 12 oktober 2012 @ 14:17 | |||||
yep error reporting staat aan geen errors..alles lijkt het te doen maar ik zie geen foto's als ik een echo "blabla"; erin zet dan krijg ik die op scherm, dus wamp werkt wel maar misschien moet ik iets speciaals aanzetten | ||||||
Swetsenegger | vrijdag 12 oktober 2012 @ 14:20 | |||||
Zet dit eens bovenaan je script
| ||||||
KomtTijd... | vrijdag 12 oktober 2012 @ 14:21 | |||||
ohja display_errors, die bitch vergeet ik ook altijd | ||||||
MrNiles | vrijdag 12 oktober 2012 @ 14:30 | |||||
; error_reporting ; Default Value: E_ALL & ~E_NOTICE ; Development Value: E_ALL | E_STRICT ; Production Value: E_ALL & ~E_DEPRECATED done displayed getImages: Failed opening directory images/before/ for reading | ||||||
Cue_ | vrijdag 12 oktober 2012 @ 14:31 | |||||
Rechtenkwestie? Of verkeerde map? | ||||||
Tijn | vrijdag 12 oktober 2012 @ 14:33 | |||||
Mja, of gewoon een terminalschermpje open waarin je inlogt op je server en dan dit draait
| ||||||
MrNiles | vrijdag 12 oktober 2012 @ 14:35 | |||||
mappen zijn goed rechten..moet je dat ergens instellen in wamp..alles staat lokaal had in www van wamp een submapje gemaakt met project naam dat ging ergens fout denk ik...nu alles in de root gezet error weg..but no pics en geen errors misschien toch ergens een foutje in het script waar de hoster niet over valt echo van $fulldir geeft C:/wamp/www//images/after/ een dubbele // kan niet goed zijn denk ik of wel....geen images niemand nog een tip of een hint waar het fout kan gaan... code is rechtstreeks van de server in wamp gezet...misschien een functie of extensie die niet aanstaat? [ Bericht 11% gewijzigd door MrNiles op 12-10-2012 15:29:18 ] | ||||||
Sitethief | vrijdag 12 oktober 2012 @ 20:22 | |||||
Maar das handig . | ||||||
Sitethief | vrijdag 12 oktober 2012 @ 20:39 | |||||
Als je nou stap voors tap door je code heen loopt, alle waardes echo't of var_dumpt, dan moet je zelf het probleem toch ook vinden? | ||||||
Light | vrijdag 12 oktober 2012 @ 21:59 | |||||
Waarschijnlijk gaat het fout op de plek waar $fulldir wordt gevuld. Er wordt ergens een pad zonder / verwacht maar een met / gegeven. | ||||||
wipes66 | maandag 15 oktober 2012 @ 15:11 | |||||
Weet iemand waarom apache een 400 bad request produceert wanneer ik %u9019 toevoeg in een url Het gaat om een chinese teken in utf8 (urlencoded). Werkt trouwens ook bij fok.nl edit: opgelost door encodeURIComponent ipv escape in javascript te gebruiken.... [ Bericht 11% gewijzigd door wipes66 op 15-10-2012 15:23:49 ] | ||||||
Swennus | maandag 15 oktober 2012 @ 18:47 | |||||
Ik heb een vraagje: Ik beheer de site voor onze vereniging. Nu wou ik vandaag de site bezoeken en krijg ik de volgende error: Parse error: syntax error, unexpected '<' in C:\domains\denachtulkes.nl\wwwroot\index.php on line 88 Nu heb ik gezocht in mijn index.php en kwam ik dit tegen op line 88:
Ik zie zelf de fout zo niet, kan een van jullie me helpen? | ||||||
mschol | maandag 15 oktober 2012 @ 18:55 | |||||
echt niet? het ziet er nou niet bepaald zuiver uit, dat iframe | ||||||
KomtTijd... | maandag 15 oktober 2012 @ 19:02 | |||||
Ga maar vast virusscanners draaien, en daarna wachtwoorden aanpassen en je backup terugzetten. | ||||||
Diabox | maandag 15 oktober 2012 @ 20:52 | |||||
Haha, nice. | ||||||
GlowMouse | maandag 15 oktober 2012 @ 21:10 | |||||
Waarom veel verenigingen geen site moeten hebben. | ||||||
Sitethief | dinsdag 16 oktober 2012 @ 11:14 | |||||
Dat soort dingen krijg je als mensen hun ftp gegevens in Filezilla opslaan, en vervolgens last van malware krijgen. Heb ik wel eens meegemaakt bij een andere vereniging. Server stond ineens vol met de raarste .js bestanden. | ||||||
Darkomen | dinsdag 16 oktober 2012 @ 11:42 | |||||
Voeg dit ook maar toe aan het lijstje: Zorg dat alle gebruikte scripts up to date zijn. Geldt ook voor de server waar de website staat. | ||||||
GlowMouse | dinsdag 16 oktober 2012 @ 11:58 | |||||
En stel ip-restricties in voor je ftp-users. | ||||||
TwenteFC | dinsdag 16 oktober 2012 @ 16:01 | |||||
Weet niet of Laravel hier al bekend is, maar wat een genot is het om daar mee te werken. Soort van RoR maar dan in PHP, met de duidelijke structuur en handige tools inbegrepen. Echt fap fap fap, | ||||||
TwenteFC | dinsdag 16 oktober 2012 @ 16:05 | |||||
Weet je zeker dat cookie.txt wel de juiste rechten heeft? Dus mag er in geschreven worden. En je moet dit ook even toevoegen.
| ||||||
wipes66 | vrijdag 19 oktober 2012 @ 15:44 | |||||
maar het werk vooral op basis van globals/singletons/static calls als ik het zo zie. | ||||||
TwenteFC | vrijdag 19 oktober 2012 @ 15:47 | |||||
Ja care, het werkt fijn doet wat het moet doen en de performance is uitermate goed. En daarbij zijn ze nu bezig met Versie 4. http://www.thenerdary.net/post/30859565484/laravel-4 Welk framework zou jij aanraden dan? Als je Zend zegt ... [ Bericht 7% gewijzigd door TwenteFC op 19-10-2012 16:06:48 ] | ||||||
Diabox | vrijdag 19 oktober 2012 @ 16:09 | |||||
CakePHP. | ||||||
wipes66 | vrijdag 19 oktober 2012 @ 16:13 | |||||
symfonie vind ik erg elegant in elkaar zitten, maar zelf vind ik het iets te complex en te abstract in elkaar zitten voor praktisch gebruik. Ik zelf gebruik een zelfgemaakte framework, maar die is natuurlijk ook niet perfect | ||||||
TwenteFC | vrijdag 19 oktober 2012 @ 16:15 | |||||
Het is dat je er zelf al een smiley voor plaatst. Symfony is geen verkeerd framework, maar het ligt ook wel een beetje aan het project natuurlijk. Wat het "beste" framework is blijft natuurlijk altijd afhangen van je persoonlijke wensen en voorkeuren. | ||||||
Diabox | vrijdag 19 oktober 2012 @ 16:28 | |||||
Dat komt omdat ik er zo tevreden over ben. | ||||||
gnaeus | vrijdag 19 oktober 2012 @ 21:36 | |||||
Even een Cakephp vraagje.. Ik heb een tabel voor een netwerkapparaat. Dat netwerkapparaat heeft poorten. Die poorten staan weer in een aparte tabel. Tot zover alles ok. Nu wil ik ook bijhouden welke poort met welke andere poort verbonden is. Dus apparaatA->poort2 ----- apparaatB->poort8 Ik heb al vanalles geprobeerd, ook een tussentabel, allerhande relaties.. maar het lukt niet. Het idee van de tussentabel lijkt mij het beste, maar ik heb niet echt een idee hoe ik dit nu moet aanpakken ... | ||||||
Maringo | vrijdag 19 oktober 2012 @ 22:01 | |||||
Toevallig vandaag voor het eerst mee gewerkt. Ziet er leuk uit. | ||||||
TwenteFC | vrijdag 19 oktober 2012 @ 22:18 | |||||
Ligt er aan hoe je het precies wil hebben, ik neem aan dat een apparaat meerdere poorten kan hebben en een poort ook meerdere apparaten? | ||||||
gnaeus | vrijdag 19 oktober 2012 @ 22:35 | |||||
Een apparaat heeft meerdere poorten maar een poort kan maar aan 1 andere poort gekoppeld zijn. Eigenlijk kunnen we de apparaat tabel wel buiten beschouwing laten. Ik wil in de poort tabel kunnen aangeven aan welk andere poort record deze gekoppeld is. Het moet wel simpel zijn maar ik kom er niet uit.. Een mogelijkheid is misschien een extra veld in de poort tabel te maken met de naam remoteport. Maar als ik dat doe komt Cakephp met allerhande foutmeldingen. Alle poorten zijn uniek in de database. | ||||||
gnaeus | vrijdag 19 oktober 2012 @ 22:43 | |||||
Ik denk dat ik het zo kan oplossen... morgen maar eens proberen. http://book.cakephp.org/1(...)ns-to-the-same-model | ||||||
gnaeus | zaterdag 20 oktober 2012 @ 13:24 | |||||
Ik word een beetje verdrietig Als ik een tabel maak, die noem ik patch. Patch heeft enkel een id en een description.. In de Port tabel maak ik een veld patch_id. relatie is belongsTo. Het Patch model heeft de relatie hasMany aangezien 2 poorten naar dezelfde patch_id verwijzen. Waarom werkt het dan niet In de edit view van Port komt het veld patch_id er wel te staan, deze is echter leeg ook al heb ik een patch record aangemaakt. Voer in handmatig een waarde in voor patch_id (via mysqladmin) dan staat deze wel in de port index view maar niet in de edit view... | ||||||
Chandler | zaterdag 20 oktober 2012 @ 17:15 | |||||
Kan iemand mij vertellen hoe ik het volgende htaccess scriptje kan aanpassen zodat ook links met een puntje en andere karakters worden doorverwezen naar profiel.php?
Heb namelijk al aardig wat geprobeerd maar op een of andere manier krijg ik steeds foutjes | ||||||
GlowMouse | zaterdag 20 oktober 2012 @ 17:16 | |||||
Vervang [^/.] door . [^/.] matcht alles behalve een / of een . een . matcht alles De /? kan ook weg | ||||||
Tijn | zondag 21 oktober 2012 @ 13:12 | |||||
Weet iemand of er een manier is om een functie aan te roepen met een variabel aantal argumenten die in een array staan? Bijvoorbeeld zoiets:
Hoe roep ik nu test() aan met de argumenten 'foo' als $first en 'bar' als $second op een manier die het ook toestaat om andere functies met andere aantallen argumenten aan te roepen? | ||||||
Swetsenegger | zondag 21 oktober 2012 @ 13:22 | |||||
http://php.net/manual/en/function.list.php Of begrijp ik je nu niet goed? | ||||||
Tijn | zondag 21 oktober 2012 @ 13:24 | |||||
Ja, dat is wat ik nu doe. Ik geef de hele array aan de functie en pak 'em binnen elke functie uit met list() om de juiste variabelen te zetten. Maar ik zou de functies liever direct goed aanroepen. Ik weet alleen niet hoe dat moet. | ||||||
Tijn | zondag 21 oktober 2012 @ 13:34 | |||||
Ah! Ik heb wat gevonden! Volgens mij is call_user_func_array() precies wat ik zoek [edit] het werkt | ||||||
Maringo | zondag 21 oktober 2012 @ 14:02 | |||||
Ik dacht eerst dat je dit bedoelde:
| ||||||
Tijn | zondag 21 oktober 2012 @ 14:06 | |||||
Waar het om gaat is dat de functienaam en het aantal argumenten variabel zijn. | ||||||
ralfie | zondag 21 oktober 2012 @ 14:47 | |||||
Je bedoelt niet zoiets? http://php.net/manual/en/function.func-get-arg.php | ||||||
Tijn | zondag 21 oktober 2012 @ 14:51 | |||||
Nee, ik bedoel het andersom. De functie weet precies hoeveel argumenten 'ie heeft, maar ik wil 'em dynamisch kunnen aanroepen. Maar het is dus prima gelukt met call_user_func_array() | ||||||
gnaeus | zondag 21 oktober 2012 @ 15:26 | |||||
Word je code niet volkomen onvolgbaar door dit soort constructies ? Met een beetje fatsoenlijk OO design lijkt het mij ook niet noodzakelijk.. | ||||||
gnaeus | zondag 21 oktober 2012 @ 15:26 | |||||
Geen CakePHP experts in dit topic ? | ||||||
Tijn | zondag 21 oktober 2012 @ 15:41 | |||||
Het komt maar 1 keer voor, het is niet zo dat alle functies op die manier worden aangeroepen | ||||||
Scorpie | zondag 21 oktober 2012 @ 23:56 | |||||
Jawel, Wyri bijvoorbeeld. Ik ben geen expert, maar gebruik het wel. | ||||||
wipes66 | maandag 22 oktober 2012 @ 01:08 | |||||
over Zend gesproken .. http://www.laruence.com/2011/12/02/2333.html Laravel doet het goed | ||||||
TwenteFC | maandag 22 oktober 2012 @ 01:17 | |||||
En Laravel 4 schijnt nog beter te worden, wel logisch ansich want een slechtere opvolger maken zou ook niet echt handig zijn. | ||||||
BrainOverfloW | maandag 22 oktober 2012 @ 17:17 | |||||
Misschien kunnen jullie me helpen met dit probleem. Het Wordpress topic is niet heel actief. Als ik via mijn mobiel mijn Wordpress pagina op mijn server opvraag hebben de plaatjes/css e.d. allemaal 'localhost' in hun link staan ipv '192.168.x.x' waardoor ze dus niet openen. Iemand een idee hoe ik dat op los? | ||||||
Rockfire | maandag 22 oktober 2012 @ 17:47 | |||||
Volgens mij kun je ergens in de WordPress-instellingen de url van je website invullen, daar staat nu waarschijnlijk localhost. Als je dat nou eens vervangt door het ip? (ik zit nu mobiel dus kan niet controleren of het inderdaad zo is wat ik zeg) | ||||||
BrainOverfloW | maandag 22 oktober 2012 @ 19:30 | |||||
Met dat idee even verder gegoogled en gevonden wat ik zocht. Het staat niet standaard in WP maar je kan het er wel bij in zetten.
toevoegen aan wp-config.php heeft het probleem opgelost. Bedankt. | ||||||
Chandler | dinsdag 23 oktober 2012 @ 17:57 | |||||
Heb ik geprobeerd GlowMouse, maar krijg dan een server error. Letwel: ik moet natuurlijk wel de index.php laden als er specifieke pagina aangeroepen wordt, dus domein.nl/ moet naar index.php maar de rest moet naar domain.nl/profiel.php?naam=.... | ||||||
GlowMouse | woensdag 24 oktober 2012 @ 20:51 | |||||
Dat laatste kun je met een rewritecond doen, die kan controleren of een file bestaat. | ||||||
wobbel | vrijdag 26 oktober 2012 @ 20:03 | |||||
Ik heb een hele enge denk ik kan ik met PHP DOM het 06-nummer te pakken krijgen uit de volgende HTML code?
Het aantal divjes met daarin span class labels en values is random, maar die de inhoud "Nummer" komt maar 1 keer voor en het nummer zelf bij value komt ook maar 1 keer voor. | ||||||
Farenji | vrijdag 26 oktober 2012 @ 20:28 | |||||
Dat zou ik gewoon met een regular expression doen... | ||||||
wobbel | vrijdag 26 oktober 2012 @ 21:00 | |||||
Oke, maar hoe moet je dat in vredesnaam doen i ndit geval? | ||||||
mstx | vrijdag 26 oktober 2012 @ 21:05 | |||||
http://simplehtmldom.sourceforge.net/ $html = file_get_html('http://www.website.com/pagina.html'); $values= $html->find('span.value'); print_r($values); En dan een numerieke waarde zoeken in die array. | ||||||
Farenji | vrijdag 26 oktober 2012 @ 21:25 | |||||
En dan zit je telefoonnummer in $matches[1]; | ||||||
Farenji | vrijdag 26 oktober 2012 @ 21:29 | |||||
Verplichte xkcd in dit geval: | ||||||
KomtTijd... | vrijdag 26 oktober 2012 @ 23:00 | |||||
Verplichte famous quote in dit geval:
| ||||||
Devv | zaterdag 27 oktober 2012 @ 18:58 | |||||
Ik heb even advies nodig over het verbinding maken met een MySQL database. Het betreft een PHP web service dat via een externe API, door middel van een kernwoorden een JSON resultatenlijst teruggeeft. Deze gaat dus voor elke zoekopdracht aangeroepen worden. Om de omgang iets korter te maken, sla ik een gedeelte van het zoekresultaat in een MySQL database op. De web service- en database worden door dezelfde dienstverlener gehost. Ik weet alleen niet hoe die architectuur er precies uitziet (of ze binnen dezelfde cluster draaien etc.). Ik weet ook nog niet hoeveel connecties ik met de database op mag zetten. Voordat de web service naar de externe API gaat, wordt dus eerst in de "cache" gekeken. En nu wil ik weten of het, in dit geval aan te raden is om een "concurrent connection" op te zetten door middel van mysql_pconnect of gewoon mysql_connect te gebruiken. In ASP.NET kan ik gebruik maken van Connection Pooling, maar PHP werkt iets anders... | ||||||
wobbel | zaterdag 27 oktober 2012 @ 20:15 | |||||
Held! | ||||||
GlowMouse | zaterdag 27 oktober 2012 @ 20:48 | |||||
Zoeken doe je met een zoekserver, en mysql_pconnect moet je nooit gebruiken. | ||||||
Devv | zondag 28 oktober 2012 @ 01:49 | |||||
Ik zag al dat er werd afgeraden om mysql_pconnect te gebruiken, maar het werd mij niet helemaal duidelijk waarom. Verder is alles hosted (niet dedicated) en wordt het zoeken gedaan via de externe API. Daar heb ik dus verder geen controle over. De PHP web service dient alleen als trechter om met de verschillende API's een uniform resultaat te creëren. De externe API's geven slechts een beknopt resultaat terug waarna je een extra query uit moet voeren voor de details. Deze twee staan met elkaar in verband door middel van een uniek nummer. Ik sla alleen de details op zodat ik niet meer terug hoef naar de externe API. Het zoeken valt dus geheel buiten mijn bereik. | ||||||
Tijn | zondag 28 oktober 2012 @ 09:17 | |||||
Het wordt sowieso niet aangeraden om de mysql_ functies nog te gebruiken. Je kunt beter voor mysqli of PDO gaan. Met mysqli heb ik geen ervaring, maar van PDO weet ik dat er een optie is om aan een soort connection pooling te doen (PDO::ATTR_PERSISTENT). Ik heb alleen geen idee of dat ook wordt afgeraden, net als mysql_pconnect. Misschien dat GlowMouse daar iets over weet. De documentatie is er iig vrij enthousiast over: http://www.php.net/manual/en/pdo.connections.php [ Bericht 12% gewijzigd door Tijn op 28-10-2012 09:22:53 ] | ||||||
GlowMouse | zondag 28 oktober 2012 @ 10:45 | |||||
De connection overhead is er nauwelijks, het is een non-optimalisatie. En wat gebeurt er als je in een script een lock zet in een transactie en dat script stopt er midden in een transactie mee door een fout, en een ander script gaat met die connectie verder? | ||||||
Devolution | zondag 28 oktober 2012 @ 14:24 | |||||
Wat is eigenlijk een grote voordeel van mysqli ten opzichte van mysql? Of waarom zou ik mysql niet meer gebruiken maar daarvoor in de plaats mysqli (behalve omdat mysql uitgefaseerd wordt)? | ||||||
Tijn | zondag 28 oktober 2012 @ 14:36 | |||||
Je kunt met mysqli gebruik maken van nieuwere features in MySQL zoals transacties en prepared statements. | ||||||
KomtTijd... | zondag 28 oktober 2012 @ 14:38 | |||||
omdat "mysql_real_escape_string" | ||||||
Devv | zondag 28 oktober 2012 @ 15:04 | |||||
Er vinden geen transacties plaats. Het was mij alleen om de eventuele overhead te doen. Maar aangezien die er niet of nauwelijks is, is er geen reden meer om een verbinding open te houden. In ASP.NET was het overigens vrij makkelijk op te lossen. Daar doe je, indien er fouten optreden gewoon een rollback op de transactie en geef je alles weer vrij. Ik neem aan dat dit in PHP ook wel mogelijk is. | ||||||
Tijn | zondag 28 oktober 2012 @ 15:36 | |||||
Met PDO of mysqli kan dat, maar met de oude mysql_ functies kun je überhaupt geen transacties doen, dus ook geen rollback. | ||||||
Devolution | maandag 29 oktober 2012 @ 09:57 | |||||
Maar qua veiligheid is er geen verbetering? Is dat bij mysqli niet meer nodig dan? | ||||||
Tijn | maandag 29 oktober 2012 @ 11:21 | |||||
Nou, je zou kunnen zeggen dat de mogelijkheid om mislukte queries te rollbacken in een transactie of het automatisch escapen van variabelen in prepared statements wel een impact hebben op de security. Het is natuurlijk nog steeds mogelijk om onveilige code te schrijven, net zoals het mogelijk is om met de oude mysql-functies veilige code te schrijven, maar je hoeft je met mysqli en PDO misschien in wat minder bochten te wringen om het goed te doen. Niet als je prepared statements gebruikt en je variabelen via bindParam() in je query laat plaatsen, dan gebeurt dat automatisch. | ||||||
GlowMouse | maandag 29 oktober 2012 @ 11:26 | |||||
dat kan wel, mysql_query("START TRANSACTION") | ||||||
Tijn | maandag 29 oktober 2012 @ 11:29 | |||||
Handmatig kan je inderdaad van alles. Maar er zijn geen ingebouwde functies voor. Volgens de documentatie wordt het ook niet aangeraden om van nieuwe features op deze manier gebruik te maken. | ||||||
GlowMouse | maandag 29 oktober 2012 @ 12:41 | |||||
transacties zijn geen nieuwe features | ||||||
Tijn | maandag 29 oktober 2012 @ 12:50 | |||||
Ah, inderdaad, dat werd door Innodb gebracht. Maar dan nog wordt volgens de documentatie het sterk afgeraden om MySQL 4.1.3 of later te gebruiken in combinatie met de oude mysql_ functies. Dat is een dusdanig oude versie van MySQL (uit 2004 ofzo?) dat het praktisch voor elke situatie nu niet verstandig is om ermee aan de slag te gaan voor een nieuw project. | ||||||
Devolution | maandag 29 oktober 2012 @ 17:47 | |||||
Oke, bedankt voor de info. Misschien toch maar eens overschakelen dan | ||||||
Boze_Appel | donderdag 1 november 2012 @ 08:57 | |||||
Code evalueren van anderen, is niet goed voor mijn bloeddruk. | ||||||
Tijn | donderdag 1 november 2012 @ 09:04 | |||||
Ik zou persoonlijk voor PDO gaan, dan heb je gelijk een databaseonafhankelijke abstractielaag. | ||||||
mstx | donderdag 1 november 2012 @ 09:05 | |||||
Efficiënte manier om random strings te genereren. | ||||||
boem-dikkie | donderdag 1 november 2012 @ 09:10 | |||||
| ||||||
Farenji | donderdag 1 november 2012 @ 09:49 | |||||
| ||||||
KomtTijd... | donderdag 1 november 2012 @ 09:54 | |||||
Ik zit over 9000 | ||||||
KomtTijd... | donderdag 1 november 2012 @ 09:54 | |||||
en ik ben een kutn00b. | ||||||
Crutch | donderdag 1 november 2012 @ 10:06 | |||||
Ik ook en toch krijg ik 't voor mekaar. | ||||||
Chandler | donderdag 1 november 2012 @ 14:45 | |||||
Je kunt je code natuurlijk ook gewoon voor jezelf houden ik heb anders nog nooit WTF gehoord | ||||||
GlowMouse | donderdag 1 november 2012 @ 14:48 | |||||
Van die code zie je in 10 seconden wat er gebeurt. | ||||||
Farenji | donderdag 1 november 2012 @ 14:50 | |||||
Ik zie een verband. | ||||||
pascal08 | zaterdag 3 november 2012 @ 16:02 | |||||
Kan iemand mij vertellen hoe ik een database met meer dan 10.000 entries kan laten werken met XAMMP? Ik heb de filesize limit al verhoogd in php.ini. | ||||||
StM | zaterdag 3 november 2012 @ 16:10 | |||||
Wat werkt er niet meer (krijg je een error?) en welke database gebruik je? | ||||||
pascal08 | zondag 4 november 2012 @ 00:18 | |||||
Het probleem is al opgelost. Ik heb de database geleegd en de auto_increment teller gereset. Toen heb ik alles opnieuw naar de database weg laten schrijven en met Chrome ingelogd op MyPhpAdmin. Met Firefox liep de boel dus vast en gaf 'ie een foutmelding dat ik aan de sizelimit zat. | ||||||
pascal08 | zondag 4 november 2012 @ 20:43 | |||||
Wat is de juiste manier om URL's met CodeIgniter te rewriten in htaccess, zonder dat het pad naar m'n CSS-file wordt gerewrite waardoor m'n CSS-file niet correct geladen wordt? | ||||||
stefanhaan | zondag 4 november 2012 @ 21:36 | |||||
Je kan css bestanden excluden van de mod_rewrite | ||||||
KomtTijd... | zondag 4 november 2012 @ 22:03 | |||||
sowieso is een -f flag wel zo handig. | ||||||
mstx | maandag 5 november 2012 @ 11:51 | |||||
Iemand een idee hoe je dit kunt debuggen? Als er nou een query bij zou staan zou het makkelijk zijn. Ik zie ook niks terug in de slow query log. Ik gebruik ook nooit persistente connecties ofzo. | ||||||
GlowMouse | maandag 5 november 2012 @ 12:23 | |||||
De gebruikersnaam 'apache' vind ik raar, gebruik je sql logging voor Apache? | ||||||
mstx | maandag 5 november 2012 @ 12:34 | |||||
Oh die gebruiker had ik schijnbaar ook voor mijn applicatie (best slecht). Maarja, met een andere user het zelfde probleem, de apache user doet nu niks meer. Misschien zit er ook wel gewoon iets fout in mijn mysql/apache/php/apc configuratie, maarja, hoe vind je uit wat de oorzaak en wat het gevolg is. [ Bericht 17% gewijzigd door mstx op 05-11-2012 12:41:14 ] | ||||||
GlowMouse | maandag 5 november 2012 @ 13:03 | |||||
Ik zou toch eens zoeken naar persistent connections. Juist als je die maar op een enkele pagina gebruikt, heb je grote idle times bij je connections zoals je nu ziet. | ||||||
Farenji | maandag 5 november 2012 @ 13:03 | |||||
"Sleep" betekent dat de connectie idle is... gewoon een connectie die open blijft staan nadat de query is afgehandeld. Dat hoeft dus helemaal geen probleem te zijn, tenzij de connecties niet goed hergebruikt worden en je op den duur tegen de max_connections limiet aanloopt. | ||||||
mstx | maandag 5 november 2012 @ 13:19 | |||||
Mja het rare is dus dat er op de hele server geen persistent connection wordt gemaakt (tenzij mysqli dit zelf doet zonder dat ik het aangeef). Ik doe zelfs aan het eind van het script voor de zekerheid nog een close(). | ||||||
mstx | maandag 5 november 2012 @ 13:19 | |||||
Dat blijkt nu het geval te zijn: Warning: mysqli::mysqli(): (08004/1040): Too many connections Alles in de process list zit nu te slapen. Apache doet nu ook niet veel meer, de meeste connecties blijven op "sending reply" staan Restart Time: Monday, 05-Nov-2012 13:07:20 CET Parent Server Generation: 0 Server uptime: 18 minutes 32 seconds Total accesses: 7409 - Total Traffic: 8.8 MB CPU Usage: u1070.9 s58.36 cu0 cs0 - 102% CPU load 6.66 requests/sec - 8.1 kB/second - 1247 B/request 188 requests currently being processed, 18 idle workers WRKCWWWWRWWWWWW.WWWWWWW.WRWWWWCWWW_WW._.K_W.WWW.WRW.WWWW.W_WWWKW _WWWWWK.WWWWWWWR._WK..WWWWWW.WWWWWW.WWWWWWW_WWWW..WKWWWCWW.W..WK WWW.WWWWWW..WWWWW._WWWWWW.W.W_WWK.WWKRWWRWWW.WWWWWW.WW.WWW__WWWW WW.WWW_W..WWW._.WWWWWWWWWK__WW..WW.W._WW.W.KW_.WW.W.WW_W.W...... [ Bericht 19% gewijzigd door mstx op 05-11-2012 13:27:06 ] | ||||||
GlowMouse | maandag 5 november 2012 @ 13:26 | |||||
Probeer eens mysql.allow_persistent=Off en mysqli.allow_persistent=Off | ||||||
mstx | maandag 5 november 2012 @ 13:31 | |||||
Heb het erin gezet (en mysql opnieuw gestart), maakt geen verschil. Ik krijg na 2 minuten alweer "too many connections". | ||||||
GlowMouse | maandag 5 november 2012 @ 13:32 | |||||
Kijk dan eens in apache's server-status of er clients verbonden blijven. | ||||||
mstx | maandag 5 november 2012 @ 13:43 | |||||
Ja bijna allemaal Restart Time: Monday, 05-Nov-2012 13:07:20 CET Parent Server Generation: 0 Server uptime: 30 minutes 42 seconds Total accesses: 10271 - Total Traffic: 12.9 MB CPU Usage: u1568.03 s77.94 cu0 cs0 - 89.4% CPU load 5.58 requests/sec - 7.2 kB/second - 1314 B/request 250 requests currently being processed, 0 idle workers WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWKWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWCWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...... Na het restarten zie je alles langzaam in een W'tje veranderen totdat de max_connections van mysql bereikt is. | ||||||
GlowMouse | maandag 5 november 2012 @ 13:52 | |||||
Dat is dan een groot probleem want elke W kost veel geheugen van Apache ook nog eens. Je kunt met extended server status nog preciezer zien wat elke W betekent. | ||||||
pascal08 | maandag 5 november 2012 @ 14:12 | |||||
Ik heb het nu zo: <link rel="stylesheet" href="<?php echo base_url() ?>css/stylesheet.css" /> M'n htaccess file rewrite alles met index.php en zet m'n rootmap als base. Precies wat ik wilde. | ||||||
mstx | maandag 5 november 2012 @ 21:56 | |||||
Nou ik ben er 5 uur mee bezig geweest, maar eindelijk gevonden waar die sleeping processes vandaan kwamen. Het bleek te komen door de manier waarop ik user variables opsloeg in APC. Ik heb bijvoorbeeld nieuwsberichten of forum topics die ik met apc_store() opsloeg om te cachen. Eerst deed ik dit allemaal in één grote array met alle items erin (dus $forum=array(1=>'bericht1', 2=>'bericht 2'), $nieuws=array() etc). Nu heb ik ze allemaal hun eigen variabele gegeven. Nu is mijn script ineens 100x zo snel. Nu ze allemaal apart staan hoeven ze niet meer op elkaar te wachten als 5 mensen tegenlijk 5 verschillende nieuwsberichten lezen en deze tegelijkertijd gecached worden, dan kan het script meteen verder en de mysql connectie sluiten... best stomme fout als je er zo achteraf over nadenkt. | ||||||
GlowMouse | maandag 5 november 2012 @ 22:10 | |||||
Pagina's deden er dus daadwerkelijk een halve minuut over om te laden, dat zou je sowieso snel door moeten hebben. | ||||||
mstx | maandag 5 november 2012 @ 22:13 | |||||
Ik had het al maanden zo draaien, kun je nagaan. * mstx gaat zich diep schamen | ||||||
GlowMouse | maandag 5 november 2012 @ 22:15 | |||||
Zulke dingen kun je via een trace wel snel vinden waarschijnlijk. Htop en s/L zijn je vriend. | ||||||
m.y.m | maandag 5 november 2012 @ 22:26 | |||||
ik weet dat ik hier fout zit maar zou iemand me aub kunnen zeggen hoe ik het volgende bestandje moet downloaden...na de 5sec blijf ik maar wachten http://www.multiupload.nl/AKATNDA2Q0 | ||||||
GlowMouse | maandag 5 november 2012 @ 22:37 | |||||
| ||||||
Quyxz_ | dinsdag 6 november 2012 @ 11:01 | |||||
Nice dat het gefixt is!
Heb je in de afgelopen maanden zo veel meer gebruikers gekregen dat het nu steeds erger werd? | ||||||
BrainOverfloW | dinsdag 6 november 2012 @ 21:05 | |||||
Hier meer mensen met een GitHub account en zo ja, kunnen jullie inloggen? Ik heb me net aangemeld maar als ik in wil loggen blijft de site op de inlog pagina hangen of word ik terug gestuurd naar de homepage zonder ingelogd te zijn. Gebruikersnaam en wachtwoord pakt hij wel want ik krijg geen melding dat ik een fout heb gemaakt bij het intypen. Dus doe ik iets verkeerd of gaat er iets fout aan de kant van GitHub? | ||||||
Light | dinsdag 6 november 2012 @ 22:45 | |||||
Ik kan gewoon inloggen. | ||||||
pascal08 | woensdag 7 november 2012 @ 01:18 | |||||
Ik heb nogal een lastig probleem. Ik weet niet wat de handigste manier is om letters met een accent in m'n database op te slaan, met betrekking op het volgende: Momenteel is de í (i met accent acute) in de database opgeslagen als een Ã. Nu wil ik graag kunnen zoeken naar een woord met een í, zonder dat ik het accent erbij hoef te typen. Ik wil dus de í kunnen vinden door gewoon een i te typen. | ||||||
GlowMouse | woensdag 7 november 2012 @ 01:32 | |||||
Altijd voor UTF-8 kiezen, je kunt altijd een andere charset kiezen als je op zo'n rare i wilt zoeken. | ||||||
pascal08 | woensdag 7 november 2012 @ 01:44 | |||||
Je bedoelt UTF-8 in m'n database toch? Ik gebruik nu latin1_swedish_ci: Moet ik alles weer opnieuw in de database invoeren of veranderd 'ie alles "on-the-fly"? | ||||||
pascal08 | woensdag 7 november 2012 @ 01:46 | |||||
Ik heb het nu dus zo: , maar de í staat nog steeds als à in de database. | ||||||
StM | woensdag 7 november 2012 @ 01:50 | |||||
Omdat het corrupt in je database is opgeslagen Je kan niet zomaar terughalen wat je ooit bedoelde. | ||||||
pascal08 | woensdag 7 november 2012 @ 01:51 | |||||
Dat vermoedde ik al, ik zal het dus opnieuw moeten invoeren. Moet ik nog iets als utf8_encode() gebruiken bij het invoeren? | ||||||
StM | woensdag 7 november 2012 @ 01:58 | |||||
Je kan beter je hele app van UTF-8 gebruik laten maken. Juiste headers sturen etc. | ||||||
pascal08 | woensdag 7 november 2012 @ 02:01 | |||||
Bedoel je zo? | ||||||
StM | woensdag 7 november 2012 @ 02:03 | |||||
Ik persoonlijk geef de voorkeur aan
*edit* Hier trouwens een handige checklist: http://blog.loftdigital.com/blog/php-utf-8-cheatsheet edit2: en vergeet
| ||||||
pascal08 | woensdag 7 november 2012 @ 02:08 | |||||
Waar plaats ik die regel dan? Gewoon bovenaan m'n php script? Ik ben echt nog een newbie. | ||||||
StM | woensdag 7 november 2012 @ 02:09 | |||||
Headers moet je versturen voor de eerste output. Dus ergens bovenaan of op een centrale plek. | ||||||
pascal08 | woensdag 7 november 2012 @ 02:12 | |||||
Gewoon bovenaan m'n header.php die elke pagina wordt geladen? | ||||||
StM | woensdag 7 november 2012 @ 02:13 | |||||
Bv ja, hoewel je voor 1 regel code niet een aparte file hoeft aan te maken Wel kan je iets van een common.php aan maken die je altijd laad waar je dit maar ook andere defaults regelt. | ||||||
pascal08 | woensdag 7 november 2012 @ 02:17 | |||||
Ja, dat is dus header.php bij mij. Hoe krijg ik nu bijvoorbeeld het woord "scène" op de goede manier in m'n database? Ik gebruik een PHP script om alles weg te schrijven. | ||||||
StM | woensdag 7 november 2012 @ 02:18 | |||||
Die file ook als UTF-8 opslaan, vaak is dit een optie van je editor. | ||||||
pascal08 | woensdag 7 november 2012 @ 02:20 | |||||
Codering in m'n editor nu: PHP-script dat de invoer regelt: Output in m'n browser. Wat er daadwerkelijk in de database wordt ingevoerd: De output in m'n browser is dus hoe ik het in m'n database ingevoerd wil hebben. | ||||||
StM | woensdag 7 november 2012 @ 02:22 | |||||
Heb je wel je verbinding op UTF-8 gezet zoals ik had gezegd? | ||||||
pascal08 | woensdag 7 november 2012 @ 02:24 | |||||
Waar doe ik dat? | ||||||
StM | woensdag 7 november 2012 @ 02:25 | |||||
Als eerste query SET NAMES 'utf8' uitvoeren | ||||||
pascal08 | woensdag 7 november 2012 @ 02:29 | |||||
Zo? | ||||||
StM | woensdag 7 november 2012 @ 02:29 | |||||
ja | ||||||
pascal08 | woensdag 7 november 2012 @ 02:33 | |||||
Nog steeds: | ||||||
StM | woensdag 7 november 2012 @ 02:35 | |||||
Check je het via PHPMyAdmin? Staat de karakterset wel goed? (Dus op UTF-8) | ||||||
pascal08 | woensdag 7 november 2012 @ 02:38 | |||||
Is dat collatie? Ja, die staat op UTF-8. | ||||||
pascal08 | woensdag 7 november 2012 @ 02:42 | |||||
Het gekke is, dat als ik de naam via SQL invoer het wel goed gaat: UPDATE `table` SET `name`='García Fernández' WHERE `id`=1 Denk dus toch dat er iets fout gaat in het script zelf. | ||||||
StM | woensdag 7 november 2012 @ 02:43 | |||||
Dan vermoed ik toch dat de waarden in je file niet echt UTF-8 is. Gooi er eens utf8_encode omheen. Ik weet wel uit ervaring dat dit soort issues een ramp zijn om te debuggen | ||||||
pascal08 | woensdag 7 november 2012 @ 02:46 | |||||
Met
krijg ik dit: | ||||||
StM | woensdag 7 november 2012 @ 02:48 | |||||
Welke browser heb je? Klik namelijk eens in phpmyadmin rechts en dan naar de pagina eigenschappen wat de karakter set is. | ||||||
pascal08 | woensdag 7 november 2012 @ 02:52 | |||||
Yes! Gelukt. Thanks man! . Ik moest de query zonder utf8_encode versturen en
Precies wat je zei dus, maar ik snap niet waarom het nu wel lukt. Nja, nogmaals bedankt. | ||||||
StM | woensdag 7 november 2012 @ 02:53 | |||||
Hmm waarom werkte het net niet dan? Dat had je net toch ook? *edit*: Ok | ||||||
pascal08 | woensdag 7 november 2012 @ 02:54 | |||||
Weet ik dus ook niet, misschien niet refresht in m'n browser toen ik het script ging uitvoeren. | ||||||
pascal08 | woensdag 7 november 2012 @ 02:56 | |||||
Nu zit ik nog wel steeds met deze vraag: ...maar goed, dat komt morgen wel, ik ben al lang blij dat je m'n probleem met de database hebt opgelost. Morgen weer een dag. Ik ga slapen nu. | ||||||
StM | woensdag 7 november 2012 @ 02:59 | |||||
Met je collate bepaal je op welke manier hij gaat zoeken. Maar dat is iets te complex om 123 in een post uit te leggen dus ga morgen daar maar eens de manual over lezen Voor wat jij wil is volgens mij een collate die dat kan, maar ik weet niet zo welke dat is. | ||||||
pascal08 | woensdag 7 november 2012 @ 03:05 | |||||
Het is sowieso handig dat ik dat even ga lezen ja. Ik ben echt de basis van het programmeren aan het leren en het lijkt me wel handig om dit soort dingetjes te snappen. Ben in ieder geval al een heel eind dankzij hulp van mensen hier. | ||||||
Farenji | woensdag 7 november 2012 @ 09:23 | |||||
Hehe, al die encoding shit is een van de meest complexe dingen die er zijn. Omdat het er zoveel zijn, en omdat conversie van de ene naar de andere erg lastig kan zijn. De belangrijkste tip die ik je kan geven: gebruik *vanaf het begin*, overal, de zelfde encoding, en gebruik geen latin1 maar utf8. De default collation van mysql is nog steeds latin1 en dat zuigt. De wereld is groter dan West-Europa. In utf8 wordt een letter met accent opgeslagen als een letterbyte + een accentbyte dus dat maakt zaken ook makkelijker. | ||||||
Xanland | woensdag 7 november 2012 @ 13:28 | |||||
Goeiedag heren, Even een klein vraagje met betrekking tot maps/kaarten. Op dit moment heb ik coördinaten en een afstand die moet worden afgelegd tussen 2 coördinaten. Nu moet ik op de één of andere manier zien te berekenen hoe laat een bepaalde bus waar rijdt. Van alle lijnen heb ik een route in polylinevorm met coördinaten beschikbaar. Nu moet ik op de één of andere manier zien te berekenen waar een lijn/bus zich op dat moment bevindt aan de hand van haltetijden. Iemand die mij hier een tip/tik/schopje over mee kan geven van hoe zoiets het beste te realiseren is? | ||||||
KomtTijd... | woensdag 7 november 2012 @ 13:34 | |||||
http://wiki.openstreetmap.org/wiki/Gosmore | ||||||
pascal08 | woensdag 7 november 2012 @ 14:47 | |||||
Dat alles standaard in latin1 staat vind ik ook nogal vreemd, daarom heb ik nu alles in utf8, veel universeler inderdaad. Ik ga zo weer aan de slag ermee. Alles staat nu in ieder geval in utf8 in m'n database dankzij StM. | ||||||
StM | woensdag 7 november 2012 @ 14:53 | |||||
Het is een server instelling, maar eigenlijk overal is het iets van latin1 tenzij anders gespecificeerd | ||||||
pascal08 | woensdag 7 november 2012 @ 15:00 | |||||
Raar, maar waar. Goed nieuws: m'n probleem is opgelost. Ik heb:
Top, bedankt. García, zonder accent acute: García, met accent acute: | ||||||
Farenji | woensdag 7 november 2012 @ 15:13 | |||||
Die standaardinstelling van latin1 komt doordat MySQL oorspronkelijk door een chauvinistische Zweed is gemaakt en niemand later de moeite heeft genomen dit aan te passen. Ik heb een keer een stuk of 10 databases van meerdere GB's mogen converteren van latin1 naar utf8 hierdoor; vervelende bijkomstigheid was dat de data stiekem al utf8 was maar dan opgeslagen als latin1; bij ophalen van de data uit de db werd alles op byte niveau naar utf8 omgevrot op een nogal ranzige manier. Als je dat niet weet en dus de verkeerde aannames doet kom je echt in een vreselijke encoding-hell terecht... | ||||||
StM | woensdag 7 november 2012 @ 15:29 | |||||
Mwua of het komt door Monty durf ik eigenlijk niet te zeggen. Je ziet het nog steeds eigenlijk overal. De meeste file editors slaan volgens mij ook nog steeds default in latin1 op en zolang iedereen dat doet zal ook iedereen dat blijven doen. De default van postgresql is dacht ik ook nog steeds latin. Die conversie hell ken ik trouwens ook heel erg goed Ook een hele leuke: een feed van een externe partij die een soort mix aanlevert. Delen UTF-8 (wat het had moeten zijn en wat ze ook dachten dat het was) en delen latin. Of juist dubbel geëncodeerd. Dan ga je echt blij worden... Dit is een grote reden dat ik er eigenlijk niks mee te maken wil hebben Gewoon altijd utf-8. | ||||||
mstx | woensdag 7 november 2012 @ 15:37 | |||||
Ik kreeg laatst ook een XML aangeleverd waar in de header stond "Windows-1252" maar de inhoud bleek een andere encoding te zijn. Da's pas lachen. | ||||||
StM | woensdag 7 november 2012 @ 15:38 | |||||
Ook een geniale ja | ||||||
pascal08 | woensdag 7 november 2012 @ 15:56 | |||||
Mijn eerste ervaring met encoding was ook niet prettig te noemen. Gelukkig ging het bij mij om een heel simpel projectje, dus was het probleem ook vrij snel opgelost met een beetje hulp. Ik kan me voorstellen hoe verrot het is als je dit probleem hebt met een database van enkele GB's waarvan je niet weet hoe alles encoded is. | ||||||
Juicyhil | woensdag 7 november 2012 @ 19:17 | |||||
Decrypten is pas een ramp als je niet goed weet hoe het encrypted is | ||||||
Xanland | woensdag 7 november 2012 @ 19:47 | |||||
Meh, ik ben er nog iets vergeten bij te vermelden. Het berekenen daarvan moet wel in een PHP-script gebeuren. Dit aangezien ik vanuit een OpenLayers-script elke seconde de locaties opvraag. Eigenlijk dus gewoon een coordinaat op een polyline, die ik al heb voor elke lijn zodat ik de marker daar naartoe kan verplaatsen (die functionaliteit (verplaatsen) is er al overigens). | ||||||
KomtTijd... | woensdag 7 november 2012 @ 21:01 | |||||
er vanuit gaande dat het vaste routes zijn, zou ik dan gewoon per been (of per 100m ofzo) de benodigde tijd berkenen en dan de marker op het dichtstbijzijnde punt zetten. | ||||||
Xanland | woensdag 7 november 2012 @ 21:18 | |||||
Het zijn inderdaad, uiteraard, vaste routes. Waar ik denk dat ik nu eigenlijk naar op zoek te zijn is te weten wat het coördinaat, bijvoorbeeld, 50 meter verderop de polyline is. Dit aangezien ik de reistijd tussen 2 haltes weet en ook hoeveel meter ik de marker moet verplaatsen. Alleen kan ik zoiets niet in PHP vinden om dus het volgende coördinaat op de polyline in PHP te berekenen. |