-Datdus- | woensdag 22 mei 2013 @ 12:32 | |||||
Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt Zie ook: • PHP Dataverwerking • Officiële PHP website • PHP Documentatie • MySQL Reference Manual • Yet Another PHP Faq • PHP Cheat Sheet • PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc Tutorials: • W3Schools PHP • W3Schools SQL Succes heren met het volgende deeltje! | ||||||
DirtyDaniel | woensdag 22 mei 2013 @ 12:50 | |||||
http://www.codecademy.com/learn weet niet of dit hier in thuis hoort. Maar daar kan je op vrij speelse manier verschillende talen leren waaronder dus ook php. Gebruik hetzelf atm om html/css te leren om een basis voor mezelf te creeren,dat terzijde. | ||||||
KomtTijd... | woensdag 22 mei 2013 @ 14:35 | |||||
| ||||||
Chandler | woensdag 22 mei 2013 @ 17:04 | |||||
Dat bedoel ik inderdaad, vind het eerlijker.. eventueel wil ik ook gaan werken met het geven van prioriteit van projecten, dus bv project A 100% maar project B 50% en eventueel project C 25% en als het even kan project D 75% oid... en daar dan tussen switchen @KomtTijd: Wat ben je aan't doen? | ||||||
KomtTijd... | woensdag 22 mei 2013 @ 17:22 | |||||
procesgegevens van machines aan het loggen. Had van te voren geen idee hoe snel de de data zou gaan groeien en watvoor performance impact dat zou hebben, maar tot nu toe met een goeie 2 miljoen records gaat het vrij aardig. En da's ook ruim genoeg want van de meeste machines heb ik de gegevens van 2 jaar terug tot nu erin staan, terwijl 2 maanden al voldoende zou zijn. Dus mocht de database het toch moeilijk gaan krijgen ga ik gewoon periodiek opschonen. | ||||||
MichielPH | woensdag 22 mei 2013 @ 18:16 | |||||
Voor Android / sqlite heb ik een algoritme geschreven die dit produceert:
Heb het getest in 4.1, daar kreeg ik een Cursor met lengte 0 terug, zoals verwacht. Gaat dit altijd goed? [ Bericht 0% gewijzigd door MichielPH op 22-05-2013 18:27:04 ] | ||||||
papernote | woensdag 22 mei 2013 @ 20:03 | |||||
Ik zou, indien IN() leeg is, überhaupt de query niet uitvoeren, maar dit afvangen in je code. | ||||||
Light | donderdag 23 mei 2013 @ 00:18 | |||||
Zolang je maar goede indexen gebruikt, mag het geen al te groot probleem zijn. Dat doet meer dan periodiek opschonen. | ||||||
KomtTijd... | donderdag 23 mei 2013 @ 09:34 | |||||
Zo blijkens. Voor mij is het een ervering die ik rijker ben. Ik had geen idee van de capaciteiten van MySQL en dmv googlen krijg je daar ook niet echt een antwoord op, aangezien het natuurlijk gigantisch afhankelijk is van de situatie. | ||||||
Crutch | donderdag 23 mei 2013 @ 11:02 | |||||
Hey hallo, Even een vraagje. Stel je werkt als webdeveloper met PHP, maar je gebruikt geen echo's om HTML uit te poepen. Ik denk zelfs dat er gebruik gemaakt wordt van xsl(t). Zijn daar frameworks voor? Ik kom niks tegen. Het gaat om een soort 'desktop like application' framework. | ||||||
ViPeRII | donderdag 23 mei 2013 @ 12:42 | |||||
Er zal toch iets geechoed moeten worden om output te genereren, of er moeten alleen soap requests verwerkt worden. xsl is eigenlijk xml, en moet ook worden geechoed. Sommige developers gebruiken echter liever print. Ook daar niks van te zien? Edit: toevoegin: een schrijf actie naar php://output kan overigens ook nog. [ Bericht 4% gewijzigd door ViPeRII op 23-05-2013 12:45:19 (Nog wat meer info) ] | ||||||
Pakspul | donderdag 23 mei 2013 @ 12:49 | |||||
Je moet toch een keertje iets uitpoepen? Of je gebruikt phtml includes waar je de waardes genereerd, maar doet wordt toch ook op een bepaalde manier geprint. | ||||||
slacker_nl | donderdag 23 mei 2013 @ 12:51 | |||||
Hoezo, je php returned dan toch gewoon xml-datastructuren, waarom zou je dan dan echo of print moeten gebruiken? | ||||||
Crutch | donderdag 23 mei 2013 @ 12:54 | |||||
Ja ik denk dus dat er xsl geöutput wordt met een xsl-template. In de template staat dus wel html. Waarschijnlijk is dat ook het hele interface building-verhaal. | ||||||
zoem | donderdag 23 mei 2013 @ 12:54 | |||||
En sowieso is business logic != presentatie. Dus ik zie niet in waarom je daar een speciaal framework nodig hebt. Voor xsl/xml transformaties bestaat er een xsl-module. | ||||||
KomtTijd... | donderdag 23 mei 2013 @ 12:57 | |||||
Wat wil je doen dan? Een desktop-applicatie schrijven in PHP? Daarvoor lijkt PHP me een uitermate slechte keuze. Als je dan toch bij PHP wilt houden, installeer dan een combinatie van webserver, internetbrowser en draai daarop je webapp. | ||||||
ViPeRII | donderdag 23 mei 2013 @ 13:07 | |||||
Dan is het Dom injection.. tsja, goed dat ik zie ik ook als echo.. | ||||||
Pakspul | donderdag 23 mei 2013 @ 13:07 | |||||
Mocht iemand nog een overerfbare singleton zoeken. Gebuik singleton al een tijdje, echt handing, maar overerven was nooit nodig, tot vandaag. Na tijdje kwam ik er achter dat ik: new static(); moest gebruiken. Ook een nieuwe voor mij. Bij deze | ||||||
Crutch | donderdag 23 mei 2013 @ 13:17 | |||||
Ik zal even wat informatie inwinnen en dan kom ik erop terug. | ||||||
rekenwonder | donderdag 23 mei 2013 @ 13:31 | |||||
Dan is het geen singleton meer :-) En de singleton zoals je die hierboven presenteert heeft een locking-issue. [ Bericht 8% gewijzigd door rekenwonder op 23-05-2013 14:03:44 ] | ||||||
slacker_nl | donderdag 23 mei 2013 @ 13:32 | |||||
wacht even, een return $xml_object is voor jou een echo $xml_object->as_string? | ||||||
ViPeRII | donderdag 23 mei 2013 @ 13:40 | |||||
Nee, dat was niet wat ik bedoelde | ||||||
slacker_nl | donderdag 23 mei 2013 @ 13:42 | |||||
Wat dan? | ||||||
Pakspul | donderdag 23 mei 2013 @ 14:02 | |||||
Is dat zo? Lomp, dan gebruik ik dus een hybrid versie? Naja, het werkt voor zijn doel dus dat is goed. | ||||||
rekenwonder | donderdag 23 mei 2013 @ 14:05 | |||||
Maar noem het dan geen singleton. Schrijf niet voor jezelf, maar voor je opvolger :-) | ||||||
Pakspul | donderdag 23 mei 2013 @ 14:10 | |||||
Ik wist niet dat singleton niet overerfbaar zijn. Zit daar een reden achter? | ||||||
rekenwonder | donderdag 23 mei 2013 @ 14:14 | |||||
Niet overerfbaar, niet overerfbaar... Het is by design. Denk je nog even aan je locking-issue? :-) | ||||||
zoem | donderdag 23 mei 2013 @ 14:18 | |||||
Dat is niet nodig bij een singleton class in php (single threaded). | ||||||
rekenwonder | donderdag 23 mei 2013 @ 14:20 | |||||
Wat ons op de vraag brengt: wat is het nut van een singleton in php? :-) Overigens zou ik liever niet uitsluiten dat iemand m'n code in een multi-threaded omgeving gaat gebruiken. | ||||||
zoem | donderdag 23 mei 2013 @ 14:33 | |||||
Het nut? Tja, dat is discutabel. Het kan in speciale gevallen handig zijn, maar over het algemeen is het singleton pattern in php niet noodzakelijk. Hoe dan ook: 'use the right tool for the right job' | ||||||
Sitethief | vrijdag 24 mei 2013 @ 09:00 | |||||
Welke van de twee if statements is eigenlijk beter? Ik gebruik altijd de tweede, maar zag net de eerste langskomen, maar het lijkt me dat mijne een stuk sneller is. Het verschil zal miniem zijn, maar dit soort dingen worden hier binnen grote/lange loops aangeroepen. | ||||||
Tijn | vrijdag 24 mei 2013 @ 09:05 | |||||
De variant zonder function call lijkt me sneller. Dat is ook hoe het in de documentatie van PHP staat trouwens. | ||||||
Sitethief | vrijdag 24 mei 2013 @ 09:08 | |||||
OMG Kom net dit tegen in de code
| ||||||
mstx | vrijdag 24 mei 2013 @ 09:18 | |||||
Dit... en anders zou ik nog eerder is_int() gebruiken dan is_numeric(). | ||||||
KomtTijd... | vrijdag 24 mei 2013 @ 09:49 | |||||
Op zich niet heel raar toch? zo'n functie kan prima wat data verwerken of wegschrijven ofzo, false returnen bij een error en true als hij helemaal doorlopen is. | ||||||
rekenwonder | vrijdag 24 mei 2013 @ 10:35 | |||||
Dead code. | ||||||
KomtTijd... | vrijdag 24 mei 2013 @ 10:40 | |||||
ohja de exit gaat niet worden uitgevoerd. Naja ach. | ||||||
Tijn | vrijdag 24 mei 2013 @ 11:04 | |||||
Misschien is het overgebleven van een testje ofzo? Ik prak ook wel eens ergens een vardump + exit in om te kijken hoe iets ervoor staat. | ||||||
Maringo | vrijdag 24 mei 2013 @ 11:09 | |||||
Erger vind ik het als hele functies commented zijn. Er is niet voor niets iets als versiebeheer. | ||||||
raptorix | vrijdag 24 mei 2013 @ 11:24 | |||||
Dat vind ik toch wel een enorm nadeel aan talen als PHP hoor, ik gebruik resharper in Visual Studio en je ziet gelijk alle zaken die niet in gebruik zijn. | ||||||
Sitethief | vrijdag 24 mei 2013 @ 11:24 | |||||
Ik kwam er net drie tegen . En wij gebruiken gewoon Git dus nodig is het niet echt. Veel erger zijn functies die dan in een keer naar xxxLalaFunctie en xxxTempDeleteDingus worden ombenoemd. Erger nog is het volgende, vooral aangezien het de bedoeling is dat het geheel redelijk OOP in elkaar steekt.
| ||||||
Maringo | vrijdag 24 mei 2013 @ 11:46 | |||||
Bedoel je de comments of het versiebeheer als nadeel? | ||||||
KomtTijd... | vrijdag 24 mei 2013 @ 12:04 | |||||
Volgens mij bedoelt'ie eerder zijn development-omgeving als nadeel. | ||||||
Chandler | vrijdag 24 mei 2013 @ 12:46 | |||||
Tuurlijk, voor grote sites maar voor kleine sites is dat totale overkill En gelijk heeft hij, want het nadeel is dat je niet ff kunt zien of een functie wel of niet in de scripting wordt gebruikt, zou trouwens wel een vette feature zijn! | ||||||
raptorix | vrijdag 24 mei 2013 @ 12:51 | |||||
Ik heb ook lang in scripting talen gewerkt, o.a. vbscript/asp en Perl, maar zeker als je echt grote projecten hebt (als in Funda) dan word het toch al snel vervelend, zeker als je in een groter team werkt. Ik kan nu bijvoorbeeld gewoon rechtermuis klik op een functie drukken, en zien waar alle usages voorkomen. | ||||||
Chandler | vrijdag 24 mei 2013 @ 12:55 | |||||
Inderdaad, dat heb ik nog niet zien voorkomen bij editors voor PHP of ik heb natuurlijk niet goed genoeg gekeken!. | ||||||
raptorix | vrijdag 24 mei 2013 @ 13:02 | |||||
C# is strongtyped he Dat maakt het er natuurlijk wel makkelijker op. | ||||||
Tijn | vrijdag 24 mei 2013 @ 13:05 | |||||
Je zou je kunnen afvragen of PHP dan ook de beste keus is. | ||||||
zoem | vrijdag 24 mei 2013 @ 13:09 | |||||
Dat kan met php ook, tot op zekere hoogte. Bijvoorbeeld met Eclipse/Zend Studio kan dat. Maar stel dat je de volgende code hebt:
| ||||||
raptorix | vrijdag 24 mei 2013 @ 13:45 | |||||
Tjah, ik moet zeggen, dat ik nooit meer zou kunnen werken met PHP achtige talen, als je eenmaal gewend bent aan LINQ dan word je gek als het er niet meer is | ||||||
Maringo | vrijdag 24 mei 2013 @ 15:17 | |||||
Lijkt mij niet. Tijdje terug bezig geweest met een project waarbij 's nachts een 7-tal bestanden moesten worden uitgelezen, aan elkaar gekoppeld en in een database worden gestopt. Bij mijn eerste volledige test in PHP heb ik hem na 17 uur maar uitgezet terwijl ie nog maar ongeveer 19% had gedaan. Vervolgens hetzelfde in Python geschreven en die is binnen 12 minuten klaar. Ik moest met zoveel grote multidimensionale arrays werken dat PHP het gewoon niet meer trok. | ||||||
Sitethief | vrijdag 24 mei 2013 @ 15:29 | |||||
Netbeans ondersteunt dit bij PHP gewoon, evenals een aantal refactor functies, zoals renamen van functies etc. | ||||||
raptorix | vrijdag 24 mei 2013 @ 15:47 | |||||
Ah nice, ik vind zelf de refactoring naar Linq queries extreem handig. | ||||||
Tijn | vrijdag 24 mei 2013 @ 15:53 | |||||
Deze functie zit al 5 jaar ongewijzigd in m'n Utilities-klasse en ik ben er nog steeds blij mee
| ||||||
Light | zaterdag 25 mei 2013 @ 19:21 | |||||
Dat heeft weinig te maken met de taal PHP. Je moet gewoon een fatsoenlijke IDE gebruiken. | ||||||
Light | zaterdag 25 mei 2013 @ 19:28 | |||||
Usage detection? Misschien moet je dan eens een andere editor dan Notepad gebruiken. | ||||||
Chandler | zondag 26 mei 2013 @ 06:44 | |||||
Zoals? | ||||||
papernote | zondag 26 mei 2013 @ 10:54 | |||||
Zend Studio. | ||||||
Light | zondag 26 mei 2013 @ 11:12 | |||||
PhpStorm | ||||||
ursel | zondag 26 mei 2013 @ 11:17 | |||||
Netbeans | ||||||
Maringo | zondag 26 mei 2013 @ 11:40 | |||||
Deze inderdaad. Heerlijke programma's hebben die lui. Ik gebruik er een aantal van met veel plezier. | ||||||
Chandler | zondag 26 mei 2013 @ 20:50 | |||||
Weet iemand hoe je met curl kunt zien of een geladen URL een redirect is zonder deze te volgen met CURLOPT_FOLLOWLOCATION = false? want wil een redirect niet laden maar wel zien of er een redirect in de geladen url is gemaakt... die ik normaal gesproken kan volgen... | ||||||
mstx | zondag 26 mei 2013 @ 21:24 | |||||
CURLOPT_HEADER gebruiken en kijken of er een "Location" header tussen zit. | ||||||
Chandler | zondag 26 mei 2013 @ 21:39 | |||||
Top, ik ga het ff proberen! Andere vraag; wanneer ik met Domdocument een html pagina wil laden krijg ik de volgende foutmelding. Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, line: 1354 Nu snap ik best dat niet iedere pagina een nette opbouw heeft, maar wil eigenlijk geen foutmeldingen zien, gewoon parsen totdat hij niet meer kan parsen oid?! nu dacht ik laat ik kijken welke opties ik mee kan geven (maar 1) en die vond ik hier: http://www.php.net/manual/en/libxml.constants.php Maar daarvan heb ik meerdere geprobeerd maar blijf errors opvangen... alleen een vieze @ werkt iemand een idee hoe ik dat kan oplossen? Ps domdocument gebruik ik om links uit te kunnen lezen. | ||||||
slacker_nl | zondag 26 mei 2013 @ 21:41 | |||||
Een redirect is altijd een 3xx returncode, 200 is found. Daarnaar kijken? | ||||||
Chandler | zondag 26 mei 2013 @ 21:42 | |||||
Probleem is/was dat ik met curl_getinfo gewoon een 200 krijg, daarna pas een header location oid!? maar goed... | ||||||
slacker_nl | zondag 26 mei 2013 @ 21:53 | |||||
Apart, want ik krijg dit:
| ||||||
Chandler | zondag 26 mei 2013 @ 21:55 | |||||
Juist maar ik heb ook de CURLOPT_FOLLORHEADER op false staan kan daar door komen? | ||||||
slacker_nl | zondag 26 mei 2013 @ 22:01 | |||||
Zal ik het eens proberen? Uh, welke optie staat aan? Want ik kan deze optie ook niet met een fuzzy search vinden. Ow, en tuurlijk, als je follow location aanhebt staan, dan gaat ie uiteraard die volgen en kom je uit op een 200. Das logisch, tenzij je max-redirects ook aanpast en deze overschreden wordt. Maar dan kan je met CURLINFO_REDIRECT_COUNT volgens mij zien hoeveel redirects je hebt gehad, > 0 is een redirect geweest. En volgens mij kan je met CURLINFO_EFFECTIVE_URL dan zien wat de URL was welke je hebt aangesproken, als die niet gelijk is met je oorspronkelijke URL: redirect. [ Bericht 7% gewijzigd door slacker_nl op 26-05-2013 22:06:55 ] | ||||||
Chandler | zondag 26 mei 2013 @ 22:03 | |||||
Correct, was: CURLOPT_FOLLOWLOCATION en die staat er wel tussen krijg je als je met 10 dingen te gelijk aan het doen bent Case is dat ik wil uitvissen of er een redirect plaats vind, ja, dan geen data laden, nee dan wel data laden. want een redirect is voor mijn project niet nodig, alleen de directe data... tenzij een redirect naar het zelfde domein is.. maar het laatste is van mij voor ondergeschikt belang!. [ Bericht 18% gewijzigd door Chandler op 26-05-2013 22:11:06 ] | ||||||
slacker_nl | zondag 26 mei 2013 @ 22:13 | |||||
Dan moet je een no-follow doen, als 302 en location header naar iets wijst wat binnen je domein zit, daarop weer een request doen, zonder no-follow. | ||||||
Chandler | zondag 26 mei 2013 @ 22:17 | |||||
Mocht ik deze nodig zijn, dan kan ik deze natuurlijk uitlezen en herschrijven indien nodig (location: index.php naar http://www.domein.nl/index.php) en aan mijn queue toevoegen Had eerst een extra functie in mijn script met get_headers maar die vreet nogal wat resources en maakt het script stukken slomer.... | ||||||
slacker_nl | zondag 26 mei 2013 @ 22:18 | |||||
Je doet je ondertitel eer aan nu. | ||||||
Chandler | zondag 26 mei 2013 @ 22:20 | |||||
en bedankt! zelfkennis is de helft... maar verbeteringen worden gewaardeerd | ||||||
wipes66 | zondag 26 mei 2013 @ 22:24 | |||||
probeer deze eens http://nl3.php.net/manual(...)-internal-errors.php | ||||||
slacker_nl | zondag 26 mei 2013 @ 22:30 | |||||
Ik zou gewoon heel simpel een functie schrijven die de response parsed indien 200 http_code, bij een 30x http_code de redirect_url pakt, checked of het binnen het domein valt, indien ja, dan een recursive call doet (mss wel oppassen met redirect loops), en anders.. iets. | ||||||
Chandler | maandag 27 mei 2013 @ 08:35 | |||||
Werkte niet, maar heb alleen true geprobeerd, misschien had ik deze wel op false moeten zetten (lol, kan nu niet ff testen ) Daarom gebruik ik de queue om geen recursive call's te doen anders had ik die queue niet nodig gehad, dat was het eerste probleem die ik 4 weken geleden moest aanpakken Op dit moment zie ik weinig nut in het volgen van deze redirects, misschien dat ik deze later toch nog door ga voeren in de code maar dat is voor dan.. | ||||||
Chandler | dinsdag 28 mei 2013 @ 09:27 | |||||
Waarom geeft het laden van een document via dom met loadhtml fouten maar true als resultaat?
Beiden geven true terwijl de eerste een foutmelding geeft en dus een false zou moeten geven... | ||||||
Rockfire | dinsdag 28 mei 2013 @ 09:33 | |||||
Geeft het een foutmelding of een warning? Uit de documentatie: Edit: ik lees nu pas je eerdere posts . Warnings dus. Dan moet je dus libxml_use_internal_errors gebruiken als je de warnings wilt afhandelen. | ||||||
Chandler | dinsdag 28 mei 2013 @ 16:06 | |||||
Ook daarmee krijg ik alleen maar 'true' terug... en er staat toch echt op php.net dat er een false gegeven zou moeten worden... libxml_use_internal_errors(true);
zou dus een foutmelding moeten geven, maar niet dus | ||||||
Rockfire | dinsdag 28 mei 2013 @ 16:18 | |||||
Nee dat staat er niet, er staat:
Heb je ook gekeken naar de functie libxml_get_errors? Het voorbeeld wat ze daarbij geven doet precies wat jij wil, namelijk controleren op verkeerde xml... | ||||||
Chandler | dinsdag 28 mei 2013 @ 16:43 | |||||
Ik doelde meer op domdocument http://nl1.php.net/manual/en/domdocument.loadhtml.php maar goed,ik heb het nu wel, al is het wel een in mijn ogen niet zo'n nette oplossing.
| ||||||
papernote | woensdag 29 mei 2013 @ 22:20 | |||||
Als je iets verder leest staat er dit: Je huidige oplossing lijkt mij dus goed en ook volgens de documentatie. | ||||||
Chandler | woensdag 29 mei 2013 @ 22:42 | |||||
Top! dan heb ik toch een juiste workaround! | ||||||
gerrit098 | donderdag 30 mei 2013 @ 17:57 | |||||
ik gebruik regelmatig b.v.
om meer structuur in de website te krijgen wil ik graag dingen meer in mapjes plaatsen het word dan dus
met include loop ik dan regelmatig tegen het probleem aan dat blijft denken vanuit de rootmap van uit iframe(`s) had ik dat probleem nooit. weet iemand hier een makkelijke oplossing voor? of moet ik alle (php/html) bestanden die in mappen staan programmeren vanuit de root? | ||||||
KomtTijd... | donderdag 30 mei 2013 @ 18:37 | |||||
je include volgens een relatief pad, ten opzichte van het bestand waar de include gedaan wordt. Bedenk je dat includes server-side gebeuren en dus moeten verwijzen naar bestanden op hel lokale filesystem van de server. Terwijl iframes moeten verwijzen naar een url van de webserver. Dit is een wezenlijk verschil! | ||||||
zoem | donderdag 30 mei 2013 @ 18:59 | |||||
Bij een standaard include_path wordt er bij include/require altijd eerst gezocht binnen de directory waarin je php-file met het include statement staat. Dus je moet altijd rekenen vanuit het scriptbestand waarin je de include uitvoert. Je kunt eventueel paden toevoegen aan include_path, maar dat hangt van je projectopzet af.
En inderdaad wat KomTijd zegt, de structuur van het bestandssysteem hoeft niet gelijk te zijn aan je url-structuur. Zonder concrete case valt er verder weinig te zeggen over een mogelijke oplossing. [ Bericht 15% gewijzigd door zoem op 30-05-2013 19:09:46 ] | ||||||
Tijn | vrijdag 31 mei 2013 @ 16:55 | |||||
Kan iemand me helpen met wat MySQL GROUP BY troubles? Ik heb een database met twee tabellen:
en
Nu wil ik een highscore-lijst maken gesorteerd op score en gegroepeerd op speler waarbij de character_id en wave van die score/speler-combinatie wordt weergegeven. Hoe krijg ik dat voor elkaar? Want met zoiets kom ik er niet:
Het probleem hiervan is dat de character_id en waves niet bij het record horen van de score. Iemand een slim om dit wel goed te doen? | ||||||
KomtTijd... | vrijdag 31 mei 2013 @ 16:58 | |||||
Je MAX(score) en GROUP BY zijn toch helemaal niet nodig? | ||||||
Tijn | vrijdag 31 mei 2013 @ 17:00 | |||||
Jawel, want het is de bedoeling dat er geen dubbele users in staan, maar alleen de maximale score van een user. | ||||||
KomtTijd... | vrijdag 31 mei 2013 @ 17:01 | |||||
Is dat niet met distinct op te lossen? | ||||||
slacker_nl | vrijdag 31 mei 2013 @ 18:04 | |||||
Kan je niet joinen met jezelf: http://dev.mysql.com/doc/(...)ns.html#function_max Je kan dan zoiets doen:
| ||||||
Chandler | zaterdag 1 juni 2013 @ 12:47 | |||||
Heeft iemand een oplossing voor het volgende? Ik laad via curl multi meerdere url's in 1x maar soms gaat er een URL de fout in bv door het volgende. - geen content ontvangen - http error code - redirect Nu zou ik graag per uitgelezen URL willen weten welke URL de fout in is gegaan, maar kan dat niet checken als er een redirect is geweest.... mijn vraag is, hoe kan ik zorgen dat ik de juiste gegevens bij de error kan zetten? zodat ik die project kan skippen en eventueel de error kan gebruiken. Testcase
Of kijk ik nu al dagen ergens overheen? Ps testredirect.php is een script die meerdere redirects uitvoert. Ps testerror.php zorgt voor een sleep van $_GET['x'] gegeven seconden! | ||||||
slacker_nl | zaterdag 1 juni 2013 @ 21:51 | |||||
Dit heb je toch al een keertje eerder gedaan? Een paar posts geleden zelfs.
| ||||||
Chandler | zondag 2 juni 2013 @ 09:17 | |||||
Je hebt gelijk slacker_nl, maar omdat ik er echt niet uitkwam toch maar een extra post er over (en gelukkig zie ik nu waar ik de fout in ging!) Thanks! | ||||||
pascal08 | zondag 2 juni 2013 @ 16:04 | |||||
Ik zit met een dilemma. Mijn zoekfunctie werkt met ajax en json. Ik zou POST en GET kunnen gebruiken. POST heeft als nadeel dat ik een formtoken moet meesturen ivm csrf en heeft volgens mij ook als nadeel dat er niets gecached kan worden. Met GET daarentegen zit ik met het probleem dat Codeigniter geen tekens zoals een apostrof tolereert. Ik weet dat het mogelijk is om dit uit te zetten, maar bij deze instelling staat duidelijk vermeldt dat je niets moet veranderen tenzij je weet waar je mee bezig bent, en daar zit het probleem, dat weet ik dus niet. Google en andere grote sites werken met GET zag ik via de Chrome Console. Echter kan ik daar wel gewoon zoeken op een apostrof. De apostrof wordt dan omgezet in %27. Kan iemand mij uitleggen welke methode geschikter is voor mijn situatie en hoe ik eventueel veilig tekens zoals een apostrof in de URL toelaat bij een GET request? | ||||||
zoem | zondag 2 juni 2013 @ 17:25 | |||||
De reden dat een csrf-token wordt geadviseerd bij POST is juist omdat POST wordt gebruikt voor het veranderen van data op de server. Daarmee beantwoord ik eigenlijk je vraag al Wat betreft caching: daar zou ik niet te veel over nadenken. Premature optimalisatie en je kunt het op veel verschillende manieren/niveaus realiseren, zowel server als client-side. Kwestie van op de juiste manier escapen. URL Encode a string in jQuery for an AJAX request Ook handig zijn php's urlencode en json_encode Gewoon GET gebruiken. De intentie achter GET is juist het ophalen van data van de server. POST, PUT en DELETE zijn ontwikkeld om data op de server te veranderen. | ||||||
pascal08 | zondag 2 juni 2013 @ 17:54 | |||||
Dit wist ik. Hier had ik nog niet aan gedacht. Ik ken die functie ook nog niet, dus ik moet even kijken of het resultaat daarvan wel door Codeigniter geaccepteerd wordt. Ik ga eens kijken. Bedankt voor je reply. EDIT:
[ Bericht 13% gewijzigd door pascal08 op 02-06-2013 18:19:37 ] | ||||||
zoem | zondag 2 juni 2013 @ 18:35 | |||||
Mooi om te horen dat het gelukt is | ||||||
Cue_ | dinsdag 4 juni 2013 @ 08:45 | |||||
Ik zit met een Oracle vraagje. Als ik de volgende query uitvoer
Krijg ik de volgende foutmelding
Iemand enig idee hoe dit kan/veroorzaakt wordt? | ||||||
slacker_nl | dinsdag 4 juni 2013 @ 08:58 | |||||
Als je hier een date van maakt, wat bedoel je precies? http://psoug.org/reference/timestamp.html | ||||||
Cue_ | dinsdag 4 juni 2013 @ 09:00 | |||||
Alter table modify act_starttime date Dan lukt de update wel. | ||||||
slacker_nl | dinsdag 4 juni 2013 @ 09:13 | |||||
Het zou moeten werken, maar de foutmelding komt niet overeen met je probleem.. Wat gebeurd er als je dit met sqlplus uitvoert? En doe dan geen update, maar een select. | ||||||
Cue_ | dinsdag 4 juni 2013 @ 09:16 | |||||
Dat was allemaal geen probleem, kan er op selecteren, grouperen, order by whatever i want, enkel de update doet ie niet. Het is mij vorige week wel gelukt hem eerst te modifyen naar date, toen weer terug naar timestamp, en toen deed hij het wel ineens. Dat werkt nu niet meer. | ||||||
Scorpie | dinsdag 4 juni 2013 @ 09:16 | |||||
; vergeten? | ||||||
Cue_ | dinsdag 4 juni 2013 @ 09:17 | |||||
Als in dat de query niet wordt uitgevoerd? @slacker. Via sqlplus trouwens gedaan. | ||||||
slacker_nl | dinsdag 4 juni 2013 @ 09:24 | |||||
Aha. Maar die foutmelding is echt een generiek iets, hij klaagt namelijk niet over de query. Aangezien je selects ed wel werken heb ik het vermoeden dat de fout niet in de query ligt maar aan andere factoren.. Vooral omdat je conversie naar date nu hetzelfde probleem oplevert.. Je doet alles in een transactie?
https://forums.oracle.com/forums/thread.jspa?threadID=2458582 | ||||||
Cue_ | dinsdag 4 juni 2013 @ 09:47 | |||||
Het ligt aan m'n index
Is die zo vreemd? | ||||||
Scorpie | dinsdag 4 juni 2013 @ 09:50 | |||||
'Het ligt aan je index' ? | ||||||
Cue_ | dinsdag 4 juni 2013 @ 09:51 | |||||
Zonder index doet ie het perfect.. met index krijg ik die foutmelding. | ||||||
zoem | dinsdag 4 juni 2013 @ 10:02 | |||||
De errorcode is erg generiek, wat staat er in de alert log? | ||||||
KomtTijd... | dinsdag 4 juni 2013 @ 10:02 | |||||
Da's wel een voorbarige conclusie. Als je je been eraf hakt is de jeuk aan je teen ook over. | ||||||
Cue_ | dinsdag 4 juni 2013 @ 10:06 | |||||
| ||||||
Crutch | dinsdag 4 juni 2013 @ 10:10 | |||||
Er is altijd nog fantoomjeuk. | ||||||
KomtTijd... | dinsdag 4 juni 2013 @ 10:13 | |||||
Ik ben geen oracle-man maar iets als een FROM_UNIXTIME() ertussen, helpt dat? | ||||||
Cue_ | dinsdag 4 juni 2013 @ 10:59 | |||||
| ||||||
zoem | dinsdag 4 juni 2013 @ 11:13 | |||||
07445 is vaak gerelateerd aan een bug in Oracle. Gerelateerde issue op SO: Oracle ORA-03113 and ORA-07445 ACCESS_VIOLATION
| ||||||
Cue_ | dinsdag 4 juni 2013 @ 11:37 | |||||
Ik blijf het allemaal vreemd vinden. 1. Timestamp zonder index -> goed 2. Timestamp met index -> fout 3. Date met index -> goed De queryplan is voor 2 en 3 hetzelfde. Gebruikt index by rowid als tableaccess en dan een index rowscan mbv de aangemaakte index op starttime Bij versie 1 doet hij een full table access. | ||||||
wipes66 | dinsdag 4 juni 2013 @ 12:31 | |||||
dit produceert geen error. is dat normaal | ||||||
zoem | dinsdag 4 juni 2013 @ 12:34 | |||||
Ja en nee. PHP maakt automagisch een array aan en vult deze met de opgegeven key en value. Echter, als je error_reporting en display_errors aanzet, zou je een index undefined notice kunnen krijgen. | ||||||
wipes66 | dinsdag 4 juni 2013 @ 12:37 | |||||
ja dat dacht ik ook. maar ik krijg geen foutmelding hierzo, maar misschien zit er iets fout in mijn custom error handler edit: ik krijg op geen enkele manier een foutmelding, ongeacht de instellingen | ||||||
KomtTijd... | dinsdag 4 juni 2013 @ 12:53 | |||||
Er is dan ook niets fout aan. | ||||||
slacker_nl | dinsdag 4 juni 2013 @ 12:59 | |||||
Hier staat het beschreven: http://php.net/manual/en/language.types.type-juggling.php Wat kut is dat zeg, eigenlijk, best wel. | ||||||
wipes66 | dinsdag 4 juni 2013 @ 13:31 | |||||
ik keek er ook van op | ||||||
zoem | dinsdag 4 juni 2013 @ 13:35 | |||||
In dat geval, leuk leesvoer: PHP: a fractal of bad design | ||||||
Tijn | dinsdag 4 juni 2013 @ 14:05 | |||||
Ik heb wel eens zo'n melding gekregen als ik een niet-bestaand array-element probeerde te lezen, maar tijdens het zetten krijg je volgens mij nooit een melding. | ||||||
zoem | dinsdag 4 juni 2013 @ 14:16 | |||||
Dat zou goed kunnen kloppen, wist het niet zo snel uit m'n hoofd. Ik ontwikkel in ieder geval altijd met notice aan (error_reporting(-1) ), dat levert doorgaans betere code op. | ||||||
slacker_nl | dinsdag 4 juni 2013 @ 14:16 | |||||
| ||||||
zoem | dinsdag 4 juni 2013 @ 14:31 | |||||
Leeft dat irc-kanaal nog steeds ja? Php is op zich helemaal niet verkeerd, alleen zijn er door de tijd heen rare beslissingen genomen (zie dus dat blogitem), waardoor er dingen zijn ontstaan die nooit het licht hebben mogen zien. De slechte reputatie is ook te danken de laagdrempeligheid waardoor veel bad practices de wereld in zijn geholpen door onbekwame programmeurs. Maar als je weet wat je doet kun je leuke dingen maken met php. | ||||||
slacker_nl | dinsdag 4 juni 2013 @ 14:50 | |||||
Ja, dat irc-kanaal leeft nog steeds. PHP is kut, als je dat hebt toegegeven is het al veel makkelijker programeren Elke taal heeft z'n quircks: (lees de tweede top comment even). | ||||||
KomtTijd... | dinsdag 4 juni 2013 @ 15:35 | |||||
NodeJS:
| ||||||
rekenwonder | dinsdag 4 juni 2013 @ 15:57 | |||||
Wat je weer tot in het bizarre kan doorvoeren: www.jsfuck.com | ||||||
#ANONIEM | dinsdag 4 juni 2013 @ 20:59 | |||||
Ik heb nu een weeknummer, week 23. En een dag, donderdag in dit geval. Nu is dit dus 6 juni 2013, maar hoe kan ik dit met php uitvinden? | ||||||
Tijn | dinsdag 4 juni 2013 @ 21:05 | |||||
Wat heb je al geprobeerd? | ||||||
#ANONIEM | dinsdag 4 juni 2013 @ 21:09 | |||||
"Get day of week" gegoogled Weet het niet veel beter te beschrijven.. Maarja, dan krijg je de huidige dag van de week. Dat wil ik niet.. | ||||||
KomtTijd... | dinsdag 4 juni 2013 @ 21:12 | |||||
hint: Datetime CreateFromFormat | ||||||
#ANONIEM | dinsdag 4 juni 2013 @ 21:12 | |||||
Ah, even naar kijken. Bedankt! | ||||||
Tijn | dinsdag 4 juni 2013 @ 21:14 | |||||
Ik zou Googlen op "php get date by week number". | ||||||
zoem | dinsdag 4 juni 2013 @ 21:17 | |||||
Veel korter dan dit kan haast niet lijkt me
| ||||||
#ANONIEM | dinsdag 4 juni 2013 @ 21:19 | |||||
| ||||||
gerrit098 | woensdag 5 juni 2013 @ 10:44 | |||||
http://jsfiddle.net/Kb29y/2/ op jsfiddle heb ik mijn eigen "template" gezet. deze heb ik gemaakt om het me zelf makkelijker te maken om nieuwe foto op mijn site te zetten. uiteraard heeft niet iedere shoot 100+ foto`s en verwijder ik dus de overbodige regels. nu ben ik benieuwd of daar ook een makkelijkere manier voor is. iets in de trend van: als het bestand niet bestaat sla dan de regel over??? weet iemand hier iets voor? | ||||||
mstx | woensdag 5 juni 2013 @ 10:47 | |||||
Ten eerste zou ik een for-loop gebruiken en daarbinnen kun je met file_exists() kijken of een bestand bestaat. | ||||||
slacker_nl | woensdag 5 juni 2013 @ 11:11 | |||||
Wat leuk, ik had door ooit deze code voor:
| ||||||
Tijn | woensdag 5 juni 2013 @ 11:16 | |||||
Ik kan de jsfiddle niet goed zien (telefoon), maar is glob() niet handig in dit geval? Daar komt gewoon een array uit met geldige paden. | ||||||
slacker_nl | woensdag 5 juni 2013 @ 11:19 | |||||
Logica en view uit elkaar trekken. Je logica checked alles, je view laat gewoon eea zien. Smarty much?Of wat er ook is voor PHP. | ||||||
KomtTijd... | woensdag 5 juni 2013 @ 11:28 | |||||
Ik heb ooit dit in elkaar gebeund (en heb er nog altijd veel gemak van): http://duft.nl/imagescript.tar.gz Ik zou zeggen kijk er even naar en leer ervan. | ||||||
MichielPH | donderdag 6 juni 2013 @ 16:25 | |||||
Ik wil in php iets waar je in Java een HashMap voor zou gebruiken: een character mappen naar een getal.
| ||||||
zoem | donderdag 6 juni 2013 @ 16:28 | |||||
Hangt ervan af hoe de parameters gedefinieerd zijn. Ik zie geen logische volgorde in B, $, C. Je hebt bijvoorbeeld array_combine() en range(). | ||||||
KomtTijd... | donderdag 6 juni 2013 @ 16:30 | |||||
Als er niet een speciale functie voor is, zou ik gewoon array('B','$','C') doen en dan een array_flip(). | ||||||
MichielPH | donderdag 6 juni 2013 @ 16:33 | |||||
array_flip it is! Beiden bedankt! | ||||||
pascal08 | vrijdag 7 juni 2013 @ 18:57 | |||||
Ik breek m'n nek over het volgende probleem: Ik heb een database met Poolse, Turkse en andere speciale karakters. Zonder de collatie te veranderen van utf8_general_ci naar een andere collatie kan ik bijvoorbeeld strings met de Poolse "ł" niet vinden door simpelweg een "l" te typen met MySQL. Ik zou de collatie wel willen aanpassen, maar dan zit ik waarschijnlijk met het probleem dan andere karakters, die niet binnen de collatie vallen, weer niet gevonden kunnen worden. Hoe zouden jullie zoiets oplossing? | ||||||
zoem | vrijdag 7 juni 2013 @ 19:03 | |||||
Heb je de MySQL-verbinding wel geinitialiseerd met de UTF8-karakterset? (SET NAMES 'utf8' )? De utf8_general_ci collation zou gewoon goed moeten zijn. | ||||||
pascal08 | vrijdag 7 juni 2013 @ 19:56 | |||||
Sorry, ik haal 2 dingen door elkaar. Ik kan dus wel die Poolse "ł" vinden, door die gewoon in de query te gebruiken, maar ik wil 'm juist kunnen vinden als ik een gewone "l" gebruik. | ||||||
zoem | vrijdag 7 juni 2013 @ 20:20 | |||||
Hmm dat is lastiger. Utf8_general_ci zou diakriet (en case) insensitive moeten zijn. Al eens LIKE geprobeerd? Een andere -simpel doch doeltreffende- oplossing zou zijn om een genormaliseerde kolom te introduceren. Hangt een beetje van de situatie af wat handig is in deze. http://dev.mysql.com/doc/refman/5.0/en/charset-literal.html | ||||||
Juicyhil | vrijdag 7 juni 2013 @ 20:31 | |||||
Zo'n teken wordt gewoon gematched op i. Anders utf8_ bin nemen | ||||||
Tijn | vrijdag 7 juni 2013 @ 20:33 | |||||
Weer een mooie vandaag: de Flickr API geeft gewoon ongeldige JSON terug WTF, Flickr is nota bene eigendom van Yahoo!, het bedrijf waar jarenlang Douglas Crockford werkte, de uitvinder van JSON. Echt bizar Uiteindelijk werkte deze suggestie: http://www.themusingsofal(...)rs-invalid-json.html | ||||||
zoem | vrijdag 7 juni 2013 @ 20:34 | |||||
Wat een flickrs zijn het zeg | ||||||
pascal08 | vrijdag 7 juni 2013 @ 20:34 | |||||
Weet je dat zeker? Als ik LIKE 'B%' doe vind ik wel de juiste records, als ik LIKE 'Bi% doe niet. | ||||||
Juicyhil | vrijdag 7 juni 2013 @ 20:36 | |||||
Anders moet je dat veld even converteren naar ascii om te kijken waar hij op zoekt | ||||||
pascal08 | vrijdag 7 juni 2013 @ 20:41 | |||||
Ik ben nog helemaal niet thuis in de encode/decoding. utf8_bin geeft een geëncodeerde string. Geen flauw idee wat ik daarmee moet. | ||||||
pascal08 | vrijdag 7 juni 2013 @ 20:43 | |||||
Ik zoek met LIKE, maar dat werkt niet. Een genormaliseerde kolom is een serieuze optie. Moet ik die encoderen? | ||||||
Juicyhil | vrijdag 7 juni 2013 @ 20:43 | |||||
convert(veld as ascii) toch? | ||||||
Chandler | vrijdag 7 juni 2013 @ 21:53 | |||||
Het is dat we posts niet kunnen plussen of liken! anders had je er 1 te pakken | ||||||
pascal08 | vrijdag 7 juni 2013 @ 22:21 | |||||
Zowel met utf8_general_ci als met uft8_bin: [ Bericht 7% gewijzigd door pascal08 op 07-06-2013 23:54:39 ] | ||||||
n8n | zaterdag 8 juni 2013 @ 18:36 | |||||
Over de database structuur in het algemeen, wat zijn tips/concepten die handig zijn met het oog op scheiden van data en het later weer in elkaar parsen. Voor een artikel bijvoorbeeld, doe je dan een artikel incl. mark-up (html) in 1 table-cell? Of gebruik je een row per paragraaf/header/link/afbeelding etc. met elke een id van het artikel of bijvoorbeeld een array met alle paragrafen en een aparte table met alle headers? En afbeeldingen sla je niet op maar daar verwijs je naar ivm. snelheid, maar hoe beheer je die data dan (volgorde, links naar bestanden, bestanden wijzigen etc.)? En ik lees 'overal' dat mysql depreciated wordt/is. Is het handiger om mysqli of pdo aanleren (aangezien ik net kom kijken) | ||||||
Juicyhil | zaterdag 8 juni 2013 @ 18:39 | |||||
http://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form | ||||||
Juicyhil | zaterdag 8 juni 2013 @ 18:41 | |||||
En ja, gewoon PDO gebruiken. Nog beter met prepared statements omdat sneller/veiliger. | ||||||
n8n | zaterdag 8 juni 2013 @ 18:45 | |||||
dus kort samengevat elke type data in een eigen table met id's voor communicatie? ga nog even verder lezen maar dat is de snelle indruk die ik krijg bij het lezen van een bron onderaan de pagina http://web.archive.org/we(...)malizationRules.html ik lees idd dat pdo veiliger is (over snelheid gemixte berichten) maar ook gelimiteerder. Nu zal ik daar nu niet tegenaan lopen maar wellicht ooit. bedankt alvast, nuttige info edit: lees dat pdo gelimiteerd is tot object georienteerd werken maar dat lijkt me alleen maar nuttig (omdat het mij dwingt zo te werken) [ Bericht 2% gewijzigd door n8n op 08-06-2013 18:50:56 ] | ||||||
zoem | zaterdag 8 juni 2013 @ 18:50 | |||||
Twee kolommen aanmaken, eentje met de originele inhoud en eentje voor de geparste versie. Ik zou het hele artikel in een enkel record gooien en niet gaan scheiden op paragraaf oid. Dan maak je het jezelf lastiger dan nodig. Afbeeldingen gewoon uploaden naar de webserver en daar opslaan in een handige directorystructuur (iets met datum)? De opslag van afbeeldingen/filmpjes/media zou je los moeten zien van een artikel. Metadata kun je eventueel opslaan in een apart ingerichte tabel. Met JH, ik zou voor PDO gaan icm prepared statements. Er zijn verder geen noemenswaardige limitaties tov mysql vziw. | ||||||
Juicyhil | zaterdag 8 juni 2013 @ 18:50 | |||||
Absoluut niet. Voor veel zaken zijn in principe geen id's nodig. Maar doen veel dba's dat uit gemakszucht. PDO zelf weet ik niet hoe dat zit met performance. Maar prepared statements hoeven door mysql niet opnieuw gecompileerd te worden, waardoor je daar (minimale) snelheidswinst hebt. Zelf gebruik ik altijd gewoon een ORM module. | ||||||
n8n | zaterdag 8 juni 2013 @ 18:53 | |||||
Daar had ik nog niet aan gedacht. Als er dan ooit fundamentele mark-up wijzigingen zijn hoeft er maar 1 keer een nieuwe 'lees'-kolom aangemaakt te worden Ik lees nog even verder [ Bericht 17% gewijzigd door n8n op 08-06-2013 18:58:47 ] | ||||||
slacker_nl | zaterdag 8 juni 2013 @ 19:04 | |||||
Daarom coden we toch? | ||||||
Juicyhil | zaterdag 8 juni 2013 @ 19:06 | |||||
Dat is ook te zien aan de code van sommige programmeurs | ||||||
Purplesparks | zondag 9 juni 2013 @ 18:01 | |||||
Wat is tegenwoordig een goede php editor? Besloten toch maar eens van kladblok af te stappen. | ||||||
Maringo | zondag 9 juni 2013 @ 18:08 | |||||
phpStorm | ||||||
Purplesparks | zondag 9 juni 2013 @ 18:10 | |||||
Ah van JetBrains, altijd zeer te spreken geweest over hun java ide. Bedankt | ||||||
boem-dikkie | zondag 9 juni 2013 @ 18:23 | |||||
Sublime Text 2. | ||||||
Rockfire | zondag 9 juni 2013 @ 18:45 | |||||
NetBeans | ||||||
Purplesparks | zondag 9 juni 2013 @ 18:52 | |||||
Hebben 1 van deze 2 ook een manier om een database aan te maken/simuleren? of weet iemand een progje om mee te maken en dit met 1 van die ide's te combineren? Mijn laptop vertikt het apache server te laten werken, anders zou ik hierbij gewoon phpmyadmin installeren. Momenteel maak ik gebruik van gratis webhost via ftp. Maar dat is voor het testen mij wat te traag. Weet niet hoe Netbeans tegenwoordig is maar vond het als java editor niet fijn om in te werken. | ||||||
slacker_nl | zondag 9 juni 2013 @ 20:13 | |||||
Dan mock je toch de DB-calls? | ||||||
Tijn | zondag 9 juni 2013 @ 21:39 | |||||
Raar verhaal. Waarom installeer je niet gewoon XAMPP oid? | ||||||
ursel | zondag 9 juni 2013 @ 22:06 | |||||
Je hebt ook niet altijd apache nodig. IIS werkt ook. | ||||||
Purplesparks | zondag 9 juni 2013 @ 22:46 | |||||
Dat als laatste optie geprobeerd, maar de windows versie dan. Ook dat weigerde te werken. Never! Sterker nog ik had iis verwijderd in de hoop apache aan de praat te krijgen. | ||||||
n8n | zondag 9 juni 2013 @ 23:37 | |||||
weet iemand hoe ik een pagina kan versturen per mail wanneer deze wordt geladen? de inhoud dus. Oke het lukt al alleen staan nu de tags er in als text, kan dat dood? [ Bericht 9% gewijzigd door n8n op 09-06-2013 23:45:53 ] | ||||||
Maringo | zondag 9 juni 2013 @ 23:53 | |||||
Wamp werkte niet? Ik zou toch daar maar naar kijken voordat je hele rare dingen gaat verzinnen voor iets makkelijks. | ||||||
Maringo | zondag 9 juni 2013 @ 23:55 | |||||
Je wilt dus de gegeneerde pagina versturen? Http request vanuit je script opslaan in een string en die versturen? | ||||||
n8n | zondag 9 juni 2013 @ 23:57 | |||||
heb nu een variabele die ook gebruikt wordt om in de pagina te echo-en, daar staan dus wel tags in en die worden meegemaild. moet ik er dan gewoon extra basic html-tags omheen zetten zodat het door de mail als pagina gezien wordt? het is nu: dmv
| ||||||
Tijn | maandag 10 juni 2013 @ 00:03 | |||||
Dat zou ik dan maar eens gaan oplossen ipv een IDE te zoeken die een database kan nabootsen. | ||||||
n8n | maandag 10 juni 2013 @ 00:19 | |||||
tis gelukt [ Bericht 20% gewijzigd door n8n op 10-06-2013 00:27:07 ] | ||||||
Maringo | maandag 10 juni 2013 @ 09:09 | |||||
Top | ||||||
Pakspul | maandag 10 juni 2013 @ 11:40 | |||||
In eerste code blok, regel twee doet niets aangezien regel 3 $headers weer helemaal opnieuw set. | ||||||
Darkomen | maandag 10 juni 2013 @ 12:14 | |||||
Niet direct PHP als in code. Ik heb gesolicteerd op een Junior Php Developer functie, zij hebben intresse in mij en gaan mij een aanbod doen morgen, wat kan ik als salaris verwachten/eisen? | ||||||
Rockfire | maandag 10 juni 2013 @ 12:18 | |||||
Dat is afhankelijk van een aantal zaken: leeftijd / ervaring / ... | ||||||
Darkomen | maandag 10 juni 2013 @ 12:20 | |||||
Dat is wel handig om te vermelden. Ben 31, ongeveer 10-12 jaar ervaring met php als hobby. Laatste 3 jaar mogen ontwikkelen voor onze afdeling, wiki, eigen rapportage webapplicatie, werk verdeler dat soort dingetjes. Maar, niet gecertificeerd, dat vonden zij dan geen probleem. [ Bericht 45% gewijzigd door Darkomen op 10-06-2013 13:00:46 ] | ||||||
Tijn | maandag 10 juni 2013 @ 12:35 | |||||
Ik denk dat de meeste PHP'ers geen certificering hebben. | ||||||
slacker_nl | maandag 10 juni 2013 @ 12:37 | |||||
https://code.google.com/p/php-mime-mail-parser/ Dat is toch veel mooier om te gebruiken. | ||||||
Tijn | maandag 10 juni 2013 @ 12:42 | |||||
Ik gebruik al jaren dit: https://github.com/Synchro/PHPMailer Misschien niet het charmantste script ooit, maar het werkt en de interface is redelijk ok:
| ||||||
Darkomen | maandag 10 juni 2013 @ 12:43 | |||||
Die gebruik ik inderdaad ook al een hele tijd., erg simpel. | ||||||
mrjobby | maandag 10 juni 2013 @ 21:00 | |||||
hello people, Ik probeer een scriptje te maken om records uit mijn database te verwijderen. Ik heb zelf het idee dat ik al aardig op weg ben maar op t laatst wilt ie het nou net even niet doen!
als ik
verander in
wordt student met nummer 11028416 wel verwijderd. Hij echo'ed heel netjes het studentnummer van degene die ik aan klikte maar verwijderd heulemaal niets! Ik hoop dat iemand mij een laatste zetje in de goede richting kan geven | ||||||
Pakspul | maandag 10 juni 2013 @ 21:03 | |||||
Voer het volgende maar eens uit en kijkt goed naar de quote verschillen.
| ||||||
mrjobby | maandag 10 juni 2013 @ 21:05 | |||||
Shoot me. Dit wist ik wel alleen na een te lange tijd zie je dat soort ongein over het hoofd. Erg bedankt | ||||||
Juicyhil | maandag 10 juni 2013 @ 21:06 | |||||
Ik heb een MCTS | ||||||
Pakspul | maandag 10 juni 2013 @ 21:15 | |||||
Heb je wel een goede IDE, want dan moet je ook direct het aan kleuren zien. Daarnaast, ik vind variabelen in strings gebruiken erg lelijk. Dan kun je beter accolades er om heen zetten, of $var = "first" . $subvar . "second"; | ||||||
KomtTijd... | maandag 10 juni 2013 @ 21:22 | |||||
Variables in strings valt mee te leven, variables in queries daarentegen @mrjobby: SRSLY, ga PDO gebruiken en parameterizeer je queries. Als je dit script serieus online gaat zetten kun je net zo goed gelijk je username en password erbij zetten. | ||||||
n8n | dinsdag 11 juni 2013 @ 00:09 | |||||
Ja dat dacht ik al maar op alle voorbeelden stond dat zo, vond het al vreemd Het is maar voor 15 minuten installatie maar desondanks bedankt voor je-en andere-input. top | ||||||
Juicyhil | dinsdag 11 juni 2013 @ 00:11 | |||||
Ik zie het nog te vaak gebeuren binnen grote applicaties hoor | ||||||
slacker_nl | dinsdag 11 juni 2013 @ 00:57 | |||||
Daarom hebben ze (s)printf uitgevonden, als er iets lelijkers is dan "dit " . $is . " toch" . $echt_kut en foutgevoeliger dan: "Dit is $misschien toch wel beterder dan $stomme punten $overal moeten $zetten". En ik weet niet precies hoe het in PHP is, maar sprintf("%s is nog prettiger\n", $this->dit()); | ||||||
rekenwonder | dinsdag 11 juni 2013 @ 10:24 | |||||
https://github.com/search?q=extension%3Aphp+mysql_query+%24_GET :-) | ||||||
Juicyhil | dinsdag 11 juni 2013 @ 10:25 | |||||
| ||||||
Sitethief | dinsdag 11 juni 2013 @ 11:12 | |||||
Grapjas . | ||||||
Pakspul | dinsdag 11 juni 2013 @ 11:55 | |||||
Wow, je zou toch verwachten dat ook PHP zelf hier een keer wat aan zou doen. | ||||||
rekenwonder | dinsdag 11 juni 2013 @ 12:32 | |||||
Doe maar een voorstel :-) | ||||||
Tijn | dinsdag 11 juni 2013 @ 13:18 | |||||
mysql_query() is al depricated. | ||||||
mstx | dinsdag 11 juni 2013 @ 13:20 | |||||
mysqli_query() niet en die is net zo onveilig als je het op dezelfde manier gebruikt. | ||||||
rekenwonder | dinsdag 11 juni 2013 @ 13:29 | |||||
PDO idem dito. | ||||||
mrjobby | dinsdag 11 juni 2013 @ 13:58 | |||||
ach, het is maar voor een stom school opdrachtje. echter heb ik wel weer iets gevonden waar ik niet uit kom >.<
Als ik mijn variabele($achternaam) met een waarde van cijfers vul doet die het wel. als ik hem met tekens vul doet die het niet. de type van het desbetreffende veld is char(20). | ||||||
mschol | dinsdag 11 juni 2013 @ 14:01 | |||||
alles is zo onveilig als de manier waar jij het op gebruikt...? | ||||||
rekenwonder | dinsdag 11 juni 2013 @ 14:01 | |||||
Dat komt omdat je geen quotes gebruikt. Maar ook hier is PDO de oplossing :-) | ||||||
mrjobby | dinsdag 11 juni 2013 @ 14:06 | |||||
Ik ben niet bekend met PDO, wat houd dat ongeveer in? | ||||||
rekenwonder | dinsdag 11 juni 2013 @ 14:08 | |||||
PDO is de aanbevolen methode (zegt de gek) om queries in PHP af te vuren. Het gebruikt o.a. parameter binding (veilig) i.p.v. dat je strings opbouwt (onveilig). http://php.net/manual/en/book.pdo.php | ||||||
mstx | dinsdag 11 juni 2013 @ 14:27 | |||||
Dat is correct. Alles is zo (on)veilig als dat je het zelf maakt. | ||||||
KomtTijd... | dinsdag 11 juni 2013 @ 17:44 | |||||
of de spoedcursus: 1) maak verbinding met je DB: http://www.php.net/manual/en/pdo.connections.php 2) maak een statement van een query: http://www.php.net/manual/en/pdo.prepare.php 3) voer het statement uit: http://www.php.net/manual/en/pdostatement.execute.php 4) doe eventueel wat leuks met de results: http://www.php.net/manual/en/pdostatement.fetch.php | ||||||
Chandler | dinsdag 11 juni 2013 @ 21:29 | |||||
Mensen, wisten jullie dat als je InnoDB gebruikt voor je tabel/data je met een INSERT ... ON DUPLICATE KEY UPDATE het AUTO_INCREMENT veld ook automatisch veranderd? bij een update dan wel te verstaan want bij een INSERT is het normaal. Nu gebruik ik zelf een tabel om regels toe te voegen maar ook om regels te updaten (iets wat vele malen vaker voorkomt dan de inserts) dus veranderd continue het AUTO_INCREMENT veld. Ik heb nu al 3,5miljoen regels en weet dat er zo'n 25 miljoen INSERT ON DUPLICATE KEY queries gedaan zijn, dus is het hoogste AUTO_INCREMEN veld niet 3,5mil maar 25.032.321 . Nu gebruik ik wel een BIGINT voor het veld maar toch... het zal sneller opraken dan dat ik echt 'unieke' records heb. Maar er is een oplossing http://dev.mysql.com/doc/(...)rement-handling.html innodb_autoinc_lock_mode Hebben jullie ervaring met deze optie? en eventuele performance? of zaken waar ik dan bij moet gaan opletten? | ||||||
zoem | dinsdag 11 juni 2013 @ 21:44 | |||||
Dat is veranderd sinds versie 5.1, al een tijdje terug dus. Als je lock mode op 0 zou zetten dan heeft dat wel een negatieve impact op performance vanwege het wachten op auto increment locks. | ||||||
Chandler | dinsdag 11 juni 2013 @ 22:12 | |||||
@Zoem; maar dat geld niet voor MyISAM en andere database formaten (voor zover ik weet). Maar in mijn geval is het maar 1 script die de tabellen aanvult/update, verder heeft de rest alleen maar lees toegang! zal het dan nog wat uitmaken? ben echt bang dat ik met een jaartje door mijn bigint heen ben | ||||||
slacker_nl | dinsdag 11 juni 2013 @ 22:36 | |||||
Wat stom! Het lijkt me juist dat je een UPDATE doet omdat.. bizar. | ||||||
zoem | dinsdag 11 juni 2013 @ 22:40 | |||||
Juh, ik reageerde ook even specifiek op Inno. Dan ben ik benieuwd om wat voor soort data het gaat. Je zit niet zomaar aan max bigint (2^64-1). signed van -9.223.372.036.854.775.808 tot 9.223.372.036.854.775.807 unsigned van 0 tot 18.446.744.073.709.551.615 Dat is wel een stuk meer dan jouw 25 miljoen. | ||||||
Chandler | woensdag 12 juni 2013 @ 01:34 | |||||
Ik vond het ook nogal apart maar goed... @zoem; dan moet ik inderdaad nog even stevig mijn best doen... | ||||||
Light | vrijdag 14 juni 2013 @ 20:02 | |||||
Ongeveer 290.000 jaar iedere seconde 1 miljoen inserts ... updates uitvoeren. En dan ga ik uit van een signed reeks (waar je alleen het positieve deel gebruikt). | ||||||
Light | vrijdag 14 juni 2013 @ 20:04 | |||||
sprintf() werkt gewoon in php | ||||||
Light | vrijdag 14 juni 2013 @ 20:05 | |||||
Dat is correct | ||||||
Chandler | vrijdag 14 juni 2013 @ 20:40 | |||||
euh lol, dan kan ik inderdaad nog wel even doorgaan maar is het niet zo dat steeds het veranderen van id's (want een id kan wel 10.000 keer veranderen op deze manier) niet handig is voor het wegschrijven van de data? (steeds het verplaatsen van data?!) | ||||||
Light | vrijdag 14 juni 2013 @ 20:45 | |||||
Het lijkt me niet dat het id verandert. Als het record nog niet in de database is, wordt het toegevoegd. Als het al wel aanwezig is, moet het uniek zijn op basis van een andere key dan het id (anders heb je niets aan die INSERT .. ON DUPLICATE KEY UPDATE functionaliteit, er moet wel een duplicate key zijn). | ||||||
slacker_nl | vrijdag 14 juni 2013 @ 20:46 | |||||
Dat weet ik, maar ik wilde heel wat anders zeggen maar blergh ofzo. Ik wilde zeggen: In Perl kan je methods niet gebruiken in string interpolitie, dus dan moet je printf("bla %s", $this->iets()) doen ipv "bla $this->iets()" Maar dat zal in PHP ook vast zo zijn. | ||||||
slacker_nl | vrijdag 14 juni 2013 @ 20:48 | |||||
Waarom zou de data elders worden weggeschreven worden als de key veranderd? Dat zal onder water wel gewoon een pointer zijn naar, dat veranderen maakt weinig verschil.. | ||||||
Light | vrijdag 14 juni 2013 @ 20:57 | |||||
Ik betwijfel of "bla $this->iets()" in php werkt, maar volgens mij moet je dat ook helemaal niet willen gebruiken. | ||||||
Light | vrijdag 14 juni 2013 @ 21:14 | |||||
Voorbeeldje:
Als ik dan deze query uitvoer:
Dan wordt bij de eerste keer netjes een nieuw record aangemaakt met id 1. Als ik de query nog een keer uitvoer, wordt de auto-increment waarde van de tabel wel verhoogd maar het id van de rij verandert niet. Er wordt dan ook geen data verplaatst. Er wordt alleen het volgende nummer geclaimd van de auto-increment lijst en pas daarna wordt gekeken of het invoegen succesvol is. (Als een insert faalt en er staat geen on duplicate key update bij, wordt de auto-increment waarde alsnog wel met 1 verhoogd.) | ||||||
slacker_nl | vrijdag 14 juni 2013 @ 21:20 | |||||
Dit is wat het doet:
| ||||||
slacker_nl | vrijdag 14 juni 2013 @ 21:24 | |||||
Je zegt nu dat de id van het record niet veranderd, maar de sequence van de auto-increment wel wordt verhoogd? Wat gebeurd er als je een rollback doet van die transactie? | ||||||
Light | vrijdag 14 juni 2013 @ 21:28 | |||||
Dat zei ik de eerste keer ook. Of althans, dat bedoelde ik. Ook dan verandert de sequence van de auto-increment. Eigenlijk ook wel logisch, het terugzetten van de sequence is heel lastig doordat je niet weet wat andere transacties in de tussentijd gedaan hebben. | ||||||
slacker_nl | vrijdag 14 juni 2013 @ 21:31 | |||||
Ahhh. Ik dacht de hele tijd dat men bedoelde dat het ID van de rij aangepast werd. Maar als het een sequence is snap ik het wel ja. | ||||||
Light | vrijdag 14 juni 2013 @ 21:31 | |||||
Het werkt wel als je
Maar ik heb liever leesbaardere code. | ||||||
slacker_nl | vrijdag 14 juni 2013 @ 21:41 | |||||
Wat is de functie van de {} dan? | ||||||
Light | vrijdag 14 juni 2013 @ 21:49 | |||||
Nauwkeuriger aangeven welk stukje van de string als variabele moet worden geinterpreteerd. In "$foobar" zoekt php naar een variabele $foobar, maar als je "{$foo}bar" of "${foo}bar" schrijft, zoekt php naar de variabele $foo en wordt bar niet als onderdeel van de variabelenaam gezien. | ||||||
slacker_nl | vrijdag 14 juni 2013 @ 21:50 | |||||
Aahh, ja, dat ken ik, maar dat het ook op functies werkt.. apart. Dan zou print "{$foo}->bar() ook moeten werken??? Niet dus. Want Foo kan niet naar een string geconvert worden.. | ||||||
Light | vrijdag 14 juni 2013 @ 22:01 | |||||
Hmm... "$foo->bar" werkt wel (als er een property bar bestaat) maar "$foo->bar()" werkt niet (als er een method bar bestaat). Dat klinkt wel onlogisch. | ||||||
Chandler | vrijdag 14 juni 2013 @ 22:09 | |||||
--edit-- | ||||||
Chandler | vrijdag 14 juni 2013 @ 22:11 | |||||
--edit-- | ||||||
slacker_nl | vrijdag 14 juni 2013 @ 22:12 | |||||
Ik herhaal mijn woorden op irc: PHP is stom | ||||||
papernote | zaterdag 15 juni 2013 @ 10:45 | |||||
Nee hoor, mensen die de automatische string-expansion gebruiken zijn stom. | ||||||
papernote | zaterdag 15 juni 2013 @ 10:49 | |||||
http://nl1.php.net/manual(...)types.string.parsing De "simple syntax" (dat is: zonder gebruik van {}) zoekt niet naar functieaanroepen. | ||||||
slacker_nl | zaterdag 15 juni 2013 @ 10:52 | |||||
Niks mis mee. Zolang het maar duidelijk is. En zonder . al die . stomme . punten . is. | ||||||
Maringo | zaterdag 15 juni 2013 @ 10:56 | |||||
Eens dat de punten stom zijn. In elke andere taal die ik beheers zijn het plustekens en bijna altijd als ik terugswitch naar php doe ik het de eerste keer fout... Maar ik vind het logischer qua taal dat je de variabele buiten de string zet.
| ||||||
papernote | zaterdag 15 juni 2013 @ 10:56 | |||||
Zoals je hebt ontdekt zijn er soms wel wat dingen mis mee . En dan vind ik het duidelijker en consistenter om die syntax überhaupt nooit te gebruiken.
Ik prefereer de tweede optie. Helemaal als er HTML output bij komt kijken:
| ||||||
Pakspul | zaterdag 15 juni 2013 @ 11:39 | |||||
Derde optie:
| ||||||
slacker_nl | zaterdag 15 juni 2013 @ 12:10 | |||||
Ik vind dat een mindere optie, in dat geval zou ik gewoon (s)printf gebruiken. Als ik code review van mijn collega's krijgen ze het terug als het zo is opgebouwd. | ||||||
pascal08 | zaterdag 15 juni 2013 @ 14:04 | |||||
Heeft iemand hier wel eens de i18n library gebruikt voor CodeIgniter? Ik zit met het volgende lastige probleem: Ik wil op basis van de url de taal van de pagina aanpassen, door middel van een afkorting van 2 letters: www.domein.com/en/news/ => engels www.domein.com/nl/nieuws/ => nederlands .... You get the idea. Nu is het zo dat een aantal functies in mijn controllers afhankelijk zijn van de plaats in de url (uri->segment(3) geeft 12 bij www.domein.com/en/news/12). Het probleem is dat als een gebruiker de url www.domein.com/news/12 invoert uri->segment(3) ineens niet meer klopt. Wat kan ik daaraan doen, ofwel hoe maak ik uri->segment() dynamisch? Hier volgen een aantal dingen die ik al geprobeerd heb:
Wat werkt: www.domein.nl/news/12 www.domein.nl/nieuws/12 Wat werkt niet (uri->segment() geeft verkeerde stukje url terug): www.domein.nl/en/news/12 www.domein.nl/nl/nieuws/12 [ Bericht 20% gewijzigd door pascal08 op 15-06-2013 14:22:01 ] | ||||||
Sitethief | zaterdag 15 juni 2013 @ 18:58 | |||||
Als uri->segment(3) het derde stukje in je uri teruggeeft, werkt uri->segment(4) in dit geval dan niet? Omdat je uri nu een stukje langer is. | ||||||
pascal08 | zaterdag 15 juni 2013 @ 19:24 | |||||
Klopt. Dus eigenlijk moet ik een functie maken die het juiste stukje url opzoekt. | ||||||
zoem | zaterdag 15 juni 2013 @ 19:28 | |||||
Ik ken CI niet zo heel goed, maar ik neem aan dat er een soort router in zit. Met een route pattern zoals in ZF kun je urisegmenten labelen, zodat je niet afhankelijk bent van de volgorde.
Dit lijkt me de mooiste oplossing voor het probleem, maar ik weet niet in hoeverre CI dergelijke patterns toestaat en in hoeverre die gemapped worden richting je controllers. De regex-patterns die in je post staan zijn onderhoudstechnisch niet zo ideaal. Bij elke nieuwe controller moet je het pattern aanpassen, waardoor het op de lange termijn een complexe regex kan worden. [edit] Hmm, CI ondersteunt deze constructie dus niet... dat valt me tegen Er zijn wel snippets in omloop om dit te bewerkstelligen. Er staan oa wat voorbeelden op StackOverflow. [ Bericht 5% gewijzigd door zoem op 15-06-2013 19:43:31 ] | ||||||
pascal08 | zaterdag 15 juni 2013 @ 19:46 | |||||
Dit is inderdaad een veel mooiere oplossing. Even een breakdown: Als ik de URL www.domein.com/news/article/12 invoer, dan gaat de routing voor de functie met uri->segment() bij het renderen van de pagina, neem ik aan. In deze URL geeft uri->segment(1) "news", maar als ik de URL www.domein.com/en/news/article/12 invoer wordt uri->segment(1) ineens "en" en daar raken de functies in de war van. Ik snap wel welke richting jij op wilt, maar hoe ik daarvan de juiste routes maak weet ik niet. Om het even simpel te houden: www.domein.com/news/article/12 => *engels* www.domein.com/en/news/article/12 => *engels* www.domein.com/nl/nieuws/atrikel/12 => *nederlands* Welke route moet ik hiervoor aanbrengen in mijn controller? | ||||||
zoem | zaterdag 15 juni 2013 @ 20:22 | |||||
Ik weet te weinig van de controlflow van CI af om er een concreet antwoord op te geven. De routepatterns die je nu hebt zouden al iets dynamischer kunnen:
Misschien heb je hier iets aan: https://github.com/EllisL(...)nationalization-i18n mbt tot het i18n probleem. | ||||||
pascal08 | zaterdag 15 juni 2013 @ 20:26 | |||||
Ik zal het zo eens proberen. Bedankt. | ||||||
Maringo | zaterdag 15 juni 2013 @ 21:13 | |||||
Hoe kan het eigenlijk dat je zowel /news/article als /en/news/article kan krijgen? Lijkt mij dat er ergens anders iets niet goed zit dan. En anders misschien beter om /news/article door te verwijzen naar /en/news/article om zo de consistentie van je urls te behouden. | ||||||
pascal08 | zondag 16 juni 2013 @ 19:11 | |||||
Ik heb nog eens goed nagedacht over jullie tips. Als ik alles laat routen naar een url met de taal voorop, dan blijft uri->segment afhankelijk van wat de gebruiker intypt. Ik zou dus iets moeten doen met redirect of het rewriten van url in .htaccess denk ik. Mijn ervaring met dit soort dingen is nog zeer gering, maar dit lijkt me toch een probleem dat veel developers tegenkomen. Hoe pakken jullie dit aan? EDIT: Ik kom er net achter dat uri->segment niet per se nodig is om informatie uit de url te gebruiken voor de functie. Je kunt gewoon een functieparameters instellen die de informatie uit de url haalt. Nu wordt alles een heel stuk makkelijker. Ik ga weer ff verder knoeien. [ Bericht 18% gewijzigd door pascal08 op 16-06-2013 19:30:23 ] | ||||||
pascal08 | maandag 17 juni 2013 @ 17:22 | |||||
Previously... Gisteren ben ik zover gekomen dat ik de taal in de URL werkend heb gekregen. Alle links werden dynamisch opgebouwd met behulp van de ingestelde taal in de config-file van CodeIgniter. Echter liep ik al gelijk tegen het probleem aan dat URL's van ajax requests ook werden veranderd, waardoor URL's niet meer klopten en ik kwam er al snel achter dat dit waarschijnlijk niet de juiste oplossing was. Ik probeer zoveel mogelijk te lezen over de mogelijkheden van CodeIgniter, maar ik loop toch een beetje vast, omdat ik in grote lijnen niet precies weet wat ik moet doen. Hoe ik denk dat het zit: Er zijn 4 mogelijkheden om een taalvoorkeur te kunnen bepalen, namelijk d.m.v: 1. een cookie 2. een sessievariabele 3. de browsertaal 4. een database Optie 1, 2 en 4 vereisen dat de gebruiker op de site is, of al eens is geweest. De browsertaal is de enige manier om een voorkeur te kunnen bepalen zonder dat de gebruiker de site al eens heeft gezocht. Het volgende voor mij een beetje onduidelijk: Een cookie blijft voor een ingesteld periode op de computer van de gebruiker. Een sessie verloopt (zo heb ik het althans ingesteld) op het moment dat de gebruiker zijn/haar browser sluit. En de database is vanzelfsprekend altijd toegankelijk voor CI. Deze 3 opties zijn dus volgens mij allemaal geschikt om voor CI te bepalen welke taal er ingesteld moet worden. Ik heb heel wat gegoogeld naar i18n scripts, maar bijna alle scripts gebruiken $config['language'] om de taal in op te slaan en uit te lezen. Mij is het nu onduidelijk wat $config['language'] precies is en wat het doet. Waar wordt deze instelling opgeslagen? Op de computer van de gebruiker, in een geheime database? Ik weet het echt niet. Wat ik wil bereiken: Ik wil hetzelfde als YouTube. Is er geen informatie in de vorm van een stukje URL, een sessievariabele, een cookie of wat dan ook? Dan wordt de browsertaal gebruikt. Bezoekt de gebruiker de site via een URL die een taalvoorkeur bevat? Sla de taal op als sessievariabele (of in een cookie). Stelt de gebruiker een andere taal in, maar is hij/zij niet ingelogd? Sla de taal op in een cookie. Is de gebruiker ingelogd en stelt hij/zij een andere taal in? Sla de taal op in de database. Wat nu nog onduidelijk is: Hoe gaan de Google-bots hiermee om? Ik kwam namelijk door het googlen naar "browsertaal" erachter dat die bots logischerwijs geen browser gebruiken en dus ook geen browsertaalvoorkeur hebben. Moet ik dus nog een extra scenario toevoegen waarbij er dus helemaal geen informatie is en er wordt teruggevallen op een standaard taal? Conclusie: Op deze manier heb ik volgens mij alle mogelijke scenario's gedekt en hoeven de URL's niet per se informatie over de taal te bevatten. Wat ik nu moet doen is de core van CodeIgniter uitbreiden met een class die dus elke keer de juiste vertalingen ophaalt op basis van de taal die de gebruiker heeft ingesteld of de browsertaal. PS: Ik hoop dat ik deze post zo overzichtelijk mogelijk heb gehouden. Er zitten een hele hoop vragen in verwerkt waar ik waarschijnlijk onmogelijk allemaal antwoord op kan krijgen. De belangrijkste vraag is in ieder geval welke volgorde ik moet aanhouden in het bepalen van de taal (als dit aan de orde is). | ||||||
Faux. | maandag 17 juni 2013 @ 17:56 | |||||
Youtube bekijkt uit welk je land komt dmv IP-adres geloof ik. Via meta-tags kan je aangeven welke taal de GoogleBots moeten gebruiken. | ||||||
Feola | dinsdag 18 juni 2013 @ 11:19 | |||||
Ik heb een functie die een mysql resultat teruggeeft in een array. Deze array is als volgt opgebouwd (1 item op dit moment)
Wanneer ik hem probeer te echoën mbt een foreach krijg ik de volgende output:
Ik loop eroverheen met een foreach:
Dit is alleen wanneer ik 1 item heb in de array (alsof hij alleen de eerste tekens laat zien), wanneer er meer items zijn werkt het probleemloos. Kijk ik ergens overheen? | ||||||
Sitethief | dinsdag 18 juni 2013 @ 11:28 | |||||
Echo $output. Bij elke loop heeft $output namelijk een ander element uit je array. Dit komt omdat het een platte array is, en niet multidimensionaal. | ||||||
Pakspul | dinsdag 18 juni 2013 @ 11:40 | |||||
print_r $res en dat soort grappen, tot hoever ben je zelf al gekomen met debuggen? Pleur error_reporting(E_ALL); ook eens aan, want $res moet een array zijn waarin arrays zitten met daarin de id => 95, etc. print_r($output); zou nu de volgende dingen moeten weer geven: 95, nieuwsbericht 1!, eorighreg, nieuwsbericht-1, etc [ Bericht 61% gewijzigd door Pakspul op 18-06-2013 11:46:07 ] | ||||||
Feola | dinsdag 18 juni 2013 @ 13:01 | |||||
print_r $res geeft wel gewoon dit
Print_r $output zoals op de manier die jij beschrijft. De array bevat 1 item met de juiste dingen die ik wil, het gaan alleen mis in de loop. Die error_reporting(E_ALL) staat aan, de errorlog blijft leeg, dus zijn er geen fouten neem ik aan? Alleen een verkeerde manier van loopen denk ik? | ||||||
Pakspul | dinsdag 18 juni 2013 @ 13:08 | |||||
In dit geval kun je direct echo $res['titel'] doen. Je hebt een foreach nodig als deze item nog in een array zit.
| ||||||
MichielPH | dinsdag 18 juni 2013 @ 13:11 | |||||
Stijlvraagje, eigenlijk taalonafhankelijk. Stel, je hebt een array van 5 groot en je hebt een getal dX die van -1 t/m 5 loopt. -1 moet 4 worden, 5 wordt 0, zodat het een cirkelarray is. Heeft de gemiddelde programmeur voorkeur tussen deze 2 oplossingen:
Nogmaals, het gaat om de stijl. | ||||||
KomtTijd... | dinsdag 18 juni 2013 @ 13:13 | |||||
Stukje php-weirdness.
Ik ben wel benieuwd watvoor MySQL-functie je gemaakt hebt dat'ie inconsistent is in de opbouw van de output. | ||||||
Maringo | dinsdag 18 juni 2013 @ 13:45 | |||||
Geef de gehele php code es vanaf het aanmaken van de query tot en met het uitvoeren van de result set. Ik gok dat het te maken heeft dat je de array niet declareert. Waardoor die denkt dat het een string is en dus alleen de eerste letter teruggeeft. | ||||||
Sitethief | dinsdag 18 juni 2013 @ 13:54 | |||||
Als $res een 1-dimensionale array teruggeeft zal een foreach loopen over de elementen in die array, de index ['titel'] is er dan niet. | ||||||
Light | dinsdag 18 juni 2013 @ 21:26 | |||||
Die laatste levert waarschijnlijk ook een notice op. Maar die wordt standaard genegeerd. | ||||||
Light | dinsdag 18 juni 2013 @ 21:28 | |||||
Mijn vermoeden bleek niet te kloppen:
| ||||||
henrivo | dinsdag 18 juni 2013 @ 21:39 | |||||
Nog ZF2 gebruikers hier eigenlijk? | ||||||
zoem | dinsdag 18 juni 2013 @ 21:40 | |||||
Hoewel de uitkomst raar lijkt, is het gedocumenteerd gedrag: Positie 0 bevat dus het karakter 'b'. Even teruggelezen: dit is dus ook precies waarom boskameel telkens de eerste letter te zien krijgt. Zoals anderen al aangaven wordt de foreach losgelaten op een platte (ééndimensionale) array en niet op een tweedimensionale array. [ Bericht 3% gewijzigd door zoem op 18-06-2013 21:45:29 ] | ||||||
zoem | dinsdag 18 juni 2013 @ 21:41 | |||||
Alleen nog een beetje mee gespeeld, nog geen volwaardige applicatie omheen gebouwd. | ||||||
henrivo | dinsdag 18 juni 2013 @ 21:45 | |||||
Zulke reacties hoor ik vaker, lijkt alsof ZF2 een beetje de boot gemist heeft | ||||||
Rockfire | dinsdag 18 juni 2013 @ 21:53 | |||||
Ik heb er één applicatie mee gebouwd, maar voordat die af was was de klant failliet | ||||||
zoem | dinsdag 18 juni 2013 @ 21:54 | |||||
De ontwikkeling heeft gewoon te lang geduurd en daardoor hebben andere frameworks zoals Symfony 2 een voorsprong gekregen. ZF2 is op bepaalde punten radicaal anders dan ZF1, dus je migreert (projecten) niet zomaar even. Daarnaast is de performance van ZF2 nog niet optimaal; in het beste geval gelijk aan ZF1. Veel meer function calls. De steilere learning curve van ZF helpt natuurlijk ook niet echt. | ||||||
henrivo | dinsdag 18 juni 2013 @ 22:09 | |||||
Das inderdaad erg jammer. Ik heb ook het idee dat de reputatie van Zend Framework 2 een stuk lager is dan die van Zend Framework destijds. Mee eens? | ||||||
zoem | dinsdag 18 juni 2013 @ 22:20 | |||||
Ja, zoiets zou je wellicht kunnen stellen. Niet in de zin dat het een slechte reputatie heeft, maar dat het zich nog moet bewijzen. En daar gaat tijd overheen. | ||||||
xaban06 | dinsdag 18 juni 2013 @ 22:45 | |||||
Laatst had iemand hier om een IDE/text editor gevraagd, zo een week geleden ongeveer, ik heb er toen 1 geinstalleerd, maar dit was op werk en kan mij niet herinneren welke dat was. Best een basic website hebben ze. Achtergrond is default zwart/donkergrijs. Tabs ondersteuning. Gratis versie beschikbaar, maar ook betaalde. Werd gepost door een mod volgens mij. Anyone? /edit Gevonden:
| ||||||
Juicyhil | dinsdag 18 juni 2013 @ 22:47 | |||||
Sublime Text is echt de meest geniale editor. Lekker licht, maar toch uit te breiden met allerlei coole dingen. | ||||||
themole | dinsdag 18 juni 2013 @ 22:49 | |||||
+ allemaal hendig chique features. | ||||||
xaban06 | dinsdag 18 juni 2013 @ 22:51 | |||||
Weet je of er een FTP plugin beschikbaar is? Ik vind het maar niks om lokaal te editten en vervolgens moet uploaden. | ||||||
Juicyhil | dinsdag 18 juni 2013 @ 22:53 | |||||
Ja, ik kwam toen wel een betaalde plugin tegen. Maar helaas nog geen gratis plugin gezien. Ik werk, helaas, ook met enige regelmaat via FTP. Moet dan iedere keer via Cyberduck werken enzo. Heb je natuurlijk weer twintig Sublime-vensters openstaan. | ||||||
xaban06 | dinsdag 18 juni 2013 @ 22:56 | |||||
Mja, en anders de folder op de server mounten op mijn desktop mbv samba oid. Thanks. | ||||||
zoem | dinsdag 18 juni 2013 @ 22:58 | |||||
Of je gebruikt gewoon een goede IDE. | ||||||
Juicyhil | dinsdag 18 juni 2013 @ 23:00 | |||||
Ja leuk, een Netbeans gebruiken met 1893 functies waarvan je er 5 regelmatig gebruikt. Maar ondertussen wel je geheugen opvreet. Zelfs voor Java gebruik ik gewoon Sublime. Je hebt niets meer nog dan code highlighting en een treeview links. | ||||||
Crutch | dinsdag 18 juni 2013 @ 23:22 | |||||
Wat is er mis met phpStorm? | ||||||
Juicyhil | dinsdag 18 juni 2013 @ 23:38 | |||||
| ||||||
KomtTijd... | dinsdag 18 juni 2013 @ 23:53 | |||||
Dat het gedocumenteerd is wil niet zeggen dat het logisch/praktisch is | ||||||
Crutch | dinsdag 18 juni 2013 @ 23:59 | |||||
Geheugen genoeg, geen last van. Het werkt prima. | ||||||
zoem | woensdag 19 juni 2013 @ 00:14 | |||||
Het is maar net wat je erin zoekt. Een IDE is zo veel meer dan een text editor. Denk aan refactoren, deployment, references traceren, unit tests, libraries linken, debugging en nog veel meer. Een text editor heeft over het algemeen geen weet van de context, behalve wat highlighting en eventueel wat hints. De gemiddelde pc heeft tegenwoordig 4+GB, dus dat is niet zo'n issue meer. Ik heb liever dat het gebruikt wordt dan dat het er voor niets in zit | ||||||
Light | woensdag 19 juni 2013 @ 00:22 | |||||
Code highlighting en een treeview zijn wel het absolute minimum. Dat wil niet zeggen dat je niet meer functionaliteit gebruikt. Ik vind een goede auto-complete op functienamen en class names ook erg handig en nuttig, om eens wat te noemen. | ||||||
Juicyhil | woensdag 19 juni 2013 @ 00:26 | |||||
Auto-complete zoals IntelliSense in Visual Studio is inderdaad heel erg fijn. Maar zo goed als die ben ik hem voor PHP nergens tegengekomen. Zeker niet in combinatie met frameworks (zeker niet de wat onbekendere). |