Likkende_Lassie | zondag 21 juni 2009 @ 14:03 | |||||||
![]() cd niet bijgeleverd 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 ![]() Vorige delen: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 7172 Zie ook: Tutorials: Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP | ||||||||
Likkende_Lassie | zondag 21 juni 2009 @ 14:04 | |||||||
Mijn vraag uit het vorige topic ![]() Ik had het voorbeeld van http://www.dmxzone.com/forum/topic.asp?topic_id=14260. Omgezet naar php:
Maar hier geeft hij geen resultaten weer. Zodra ik de $iRadius hoger dan 130 zet wel, maar dat klopt natuurlijk niet. Wel liggen alle punten redelijk in de buurt. $iRadius = in miles ![]() [ Bericht 2% gewijzigd door Likkende_Lassie op 21-06-2009 14:11:29 ] | ||||||||
Juicyhil | zondag 21 juni 2009 @ 14:06 | |||||||
tvphp | ||||||||
JortK | zondag 21 juni 2009 @ 14:10 | |||||||
Zo. Zelf met de YouTube API aan het stoeien, leuk ding ![]() | ||||||||
ursel | zondag 21 juni 2009 @ 14:10 | |||||||
present ![]() | ||||||||
Light | zondag 21 juni 2009 @ 14:23 | |||||||
Er is ook een functie pi() Uit het commentaar daar: quote: | ||||||||
PiRANiA | zondag 21 juni 2009 @ 14:33 | |||||||
Leuke reeks ![]() | ||||||||
Swetsenegger | zondag 21 juni 2009 @ 14:39 | |||||||
tvp, weer bezig met een webshopje. | ||||||||
Likkende_Lassie | zondag 21 juni 2009 @ 14:43 | |||||||
@light, thanks, Functie is nu als volgt geworden:
Lijkt nu 100% te werken. Toch nog even goed testen ![]() Wat ik wel erg raar vind, is dat ik de $radius moet vermenigvuldigen met 0.50 zodat ik kilometers kan gebruiken ![]() [ Bericht 3% gewijzigd door Likkende_Lassie op 21-06-2009 15:27:38 ] | ||||||||
Intrepidity | maandag 22 juni 2009 @ 00:32 | |||||||
quote:Korte tip: de constanten gebruiken is altijd beter als weer een extra functieaanroep (performance-wise).. Dat geldt voor wel meer dingen in PHP... __CLASS__ in plaats van get_class($this), PHP_VERSION in plaats van phpversion(), en dat soort dingen ![]() Tevens goed gemaskeerde TVP ![]() | ||||||||
Light | maandag 22 juni 2009 @ 09:01 | |||||||
quote:En afgezien daarvan vind ik pi() en M_PI beter leesbaar dan 3.14159265358979323846 | ||||||||
Intrepidity | maandag 22 juni 2009 @ 09:10 | |||||||
quote:Ach, ik heb wel eens gekker gezien hoor ![]() ![]() Daarnaast zijn floats in PHP uiteraard lang niet zo nauwkeurig als het algoritme, en ik vraag me af of er uberhaupt wel zoveel decimalen in een float in PHP passen.. ![]() Maar het was ECHT beter zo hoor! ![]() | ||||||||
Intrepidity | maandag 22 juni 2009 @ 11:05 | |||||||
Iemand ervaring met UTF-16 in combinatie met SimpleXML/DOM? Ik wil een XML-bestand openen in SimpleXML of DOM, maar krijg de volgende error: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 1: parser error : Start tag expected, '<' not found Dit teken staat er wel degelijk, en er staat geen witregel of spatie voor. Zodra ik de inhoud van dit bestand in een string stop in PHP en de string probeer te laden gaat het wel goed.. Betreffende eerste regel:
| ||||||||
Catbert | maandag 22 juni 2009 @ 11:27 | |||||||
quote:Het werkt sowieso gewoon niet. In de eerste plaats selecteer je postcodes uit een 'vierkant', en niet binnen een cirkel. Ten tweede is de aarde een bol, en lopen de meridianen niet parallel. Wat je kunt doen is de range vrij groot houden, en dan in een postprocessing stap alle postcodes die je terugkrijgt nog even te checken door de daadwerkelijke afstand uit te rekenen. Hoe je dat doet staat hier: http://www.movable-type.co.uk/scripts/gis-faq-5.1.html Oh, en dat je door 0.5 moet delen komt waarschijnlijk doordat uitgegaan wordt van zeemijlen i.p.v. landmijlen. Een zeemijl is 1.85 km ongeveer, en komt dus dicht bij 2km. Je factor zou dus 1/1.85 = 0.54 moeten zijn. | ||||||||
Catbert | maandag 22 juni 2009 @ 11:33 | |||||||
quote:Ik hoop van harte dat PHP niet zo brak is, dat dat het geval is. | ||||||||
Intrepidity | maandag 22 juni 2009 @ 11:47 | |||||||
quote:Hoezo? constanten staan altijd in geheugen.. Functieaanroep betekent extra dingen op de stack, geheugenlocatie veranderen, uitvoeren van die functie, terugspringen naar vorige locatie.. Dat is in iedere taal zo.. Functieaanroepen geven nou eenmaal overhead omdat ze aanzienlijk complexer zijn dan even een variabele uit het geheugen vissen.. Je moet gewoon geen functies gebruiken voor enkele regels code en dat soort ongein.. Waarschijnlijk doet pi() niets anders dan return M_PI; | ||||||||
Mirel | maandag 22 juni 2009 @ 11:47 | |||||||
Ik heb wat moeilijkheden met het 'simplest forum' forumcomponent in Joomla 1.5.10 op: http://www.jonginarnhem.nl/index.php?option=com_simplestforum&view=topiclist&Itemid=100 Ik heb zelf een leeftijdsveld proberen toe te voegen. Een bezoeker post anoniem, en de bedoeling is dat bij de post de uitgekozen leeftijd te zien is. Dit is een bestaande aangepaste naamveld. Ipv een naam te typen, heb ik er een kiesoptie van gemaakt, voor jongen en meisje. Deze doet het ook prima:
Het wordt dan in een ander bestand zo ge'echoed:
Dit is degene die ik wil toevoegen:
En wordt zo ge'echoed:
In phpmyadmin ziet het er zo uit: ![]() Ik weet niet of dat veld ook goed is aangemaakt, daar weet ik niks vanaf eigenlijk ![]() ![]() Uiteindelijk moet er een leeftijd staan achter "2 Seconden geleden ingezonden door een jongen". Nu staat er overal 0. Het is alsof het niet doorgevoerd wordt. Heb ik dat met die <option>'s fout gedaan? [ Bericht 3% gewijzigd door Mirel op 22-06-2009 12:08:10 ] | ||||||||
Mirel | maandag 22 juni 2009 @ 12:18 | |||||||
Ik heb overigens in phpmyadmin nu dezelfde waarden overgenomen uit 'AuthorID'. Ik vraag me alleen af waarom dat niet 'name' is. edit, dat 'name' komt uit een andere tabel. Maar die is voor de forumview, niet de postview. Ik snap er niks van [ Bericht 37% gewijzigd door Mirel op 22-06-2009 12:26:15 ] | ||||||||
cablegunmaster | maandag 22 juni 2009 @ 12:45 | |||||||
ik vraag me af of je in een textarea een br kan invoeren zodat hij in weergave enters weergeeft ipv weergave text blablabalba <br> blablablabla text blablablabla blablablablabla iemand een oplossing? | ||||||||
Mirel | maandag 22 juni 2009 @ 12:51 | |||||||
Een textarea zet het om naar gewone tekst. Juist als je een enter doet, hoort het goed te gaan. Of bedoel je met php de tekst echoen? dan is het dacht ik < /br>, en /n doet ook 'iets' ![]() | ||||||||
Mirel | maandag 22 juni 2009 @ 12:55 | |||||||
edit: foute forum | ||||||||
Swetsenegger | maandag 22 juni 2009 @ 13:01 | |||||||
nl2br | ||||||||
cablegunmaster | maandag 22 juni 2009 @ 13:07 | |||||||
ik bedoel we echoeen het in een textarea we hebben al <br> en nu willen we dat die enters veroorzaken ipv /n is hier iets mogelijk voor? want hij echo't plaint text. | ||||||||
GlowMouse | maandag 22 juni 2009 @ 13:11 | |||||||
Het is \n ipv /n. | ||||||||
Swetsenegger | maandag 22 juni 2009 @ 13:21 | |||||||
quote:
| ||||||||
Mirel | maandag 22 juni 2009 @ 14:12 | |||||||
Nu ik! Nu ik! | ||||||||
Catbert | maandag 22 juni 2009 @ 15:16 | |||||||
quote:Al sinds C worden simpele functies geinlined, dit geldt ook voor functies waar hele simpele berekeningen gedaan worden. Je moet de compiler / runtime lekker dat soort optimalisaties laten doen. Moeilijk gaan doen over een functieaanroep is gewoon premature optimization. Helemaal als het ten koste gaat van leesbaarbeid (__CLASS__ is een goed voorbeeld, WTF?) is het gewoon een slecht idee. | ||||||||
#ANONIEM | maandag 22 juni 2009 @ 15:17 | |||||||
teeveepee | ||||||||
slacker_nl | maandag 22 juni 2009 @ 15:38 | |||||||
quote:
Die \s* is al 0 of meer whitespace characters, die ? is overbodig. | ||||||||
Likkende_Lassie | maandag 22 juni 2009 @ 16:58 | |||||||
quote:Maar ik selecteer helemaal geen postcodes, maar coordinaten. Toch werkt het zo goed hoor, waarom zou het niet moeten werken? | ||||||||
Intrepidity | maandag 22 juni 2009 @ 18:18 | |||||||
quote:En toch scheelt het 20-25%:
Resultaat:
| ||||||||
HenryHill | maandag 22 juni 2009 @ 20:43 | |||||||
quote:Waarschijnlijk is je encoding nog gewoon ASCII of UTF-8 (ook al zegt je instruction dat het om UTF-16 gaat). Om dit te controleren, open het betreffende XML-bestand met een teksteditor die ook ondersteuning biedt om in verschillende encodings op te slaan (i.e. niet notepad), of open je document in een hex-editor en verifieer dat elk karakter uit 2 bytes bestaat (en niet 1). Wellicht dat het volgende verhaal verhelderend voor je is: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets. | ||||||||
GlowMouse | maandag 22 juni 2009 @ 20:44 | |||||||
quote:BOM? | ||||||||
Swetsenegger | maandag 22 juni 2009 @ 23:10 | |||||||
Ik heb mezelf weer in een lastige mysql hoek gemanoeuvreerd....
Nu moet ik als de artID en kleur gelijk is dit behandelen als 1 product in verschillende maten. Dus bovenstaand moet als volgt geparsed worden
Hoe ga ik dit het handigst aanpakken. Ik zat er zelf aan te denken om in de while lus te controleren of de kleur gelijk is aan het vorige rondje, maar.... hoe pas ik dan de cel 'maat' aan in de regel ervoor.... Iemand een briljant idee? | ||||||||
PiRANiA | maandag 22 juni 2009 @ 23:12 | |||||||
quote:apart tabelletje voor maten, en die linken aan het id? | ||||||||
GlowMouse | maandag 22 juni 2009 @ 23:13 | |||||||
Niet je output eruit gooien middenin je code. Eerst een arraytje opbouwen $data[$artid][$kleur][] = $row. | ||||||||
Light | maandag 22 juni 2009 @ 23:54 | |||||||
quote:Dat lijkt me idd de beste optie ![]() | ||||||||
PiRANiA | maandag 22 juni 2009 @ 23:55 | |||||||
quote:Ondanks alle redundante data die op deze manier blijft bestaan? | ||||||||
GlowMouse | maandag 22 juni 2009 @ 23:59 | |||||||
quote:Als je het in een andere tabel zet zoals jij voorstelt, dan zul je alsnog wat met mijn post moeten doen. | ||||||||
Swetsenegger | dinsdag 23 juni 2009 @ 08:23 | |||||||
quote:Het is nu al in 3 tabellen opgebroken ivm de schaalbaarheid. Hoofdeigenschappen (die voor elke kleur en maat gelden) dan de eigenschappen zoals kleur, maat, etc. en een tabel foto's. quote:Hmz, help me even op weg, hoe krijg ik in mijn while lus de info bij gelijke kleur in desbetreffende array entry erbij geschoven? Als ik als key gewoon de kleur pak kan ik natuurlijk de value manipuleren.... toch? | ||||||||
cablegunmaster | dinsdag 23 juni 2009 @ 09:12 | |||||||
ik vraag me af ik heb een array gegevens a 2 a 3 arrays bvb een verkooplijstje en die wil ik in een verkoop order - verkooporder regels dan doe ik de array weer in een creer verkoop regel foreach $array as $id { haal de laatste verkooporder op * query * voor het ID nummer insert into verkoopregel het verkooporderid en alle andere informatie } als ik dit uitvoer krijg ik dan geen problemen als 2 klanten precies op het zelfde moment het script uitvoeren? ![]() | ||||||||
Swetsenegger | dinsdag 23 juni 2009 @ 09:14 | |||||||
table lock http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html | ||||||||
cablegunmaster | dinsdag 23 juni 2009 @ 09:15 | |||||||
quote:proberen en falen ![]() ![]() | ||||||||
cablegunmaster | dinsdag 23 juni 2009 @ 09:16 | |||||||
quote:dus als hij het uitvoert lockt hij de tabel? kan ik geen row lock doen? ![]() ![]() | ||||||||
Swetsenegger | dinsdag 23 juni 2009 @ 09:18 | |||||||
quote:Je wil toch de insert_id gebruiken van table 1 om in table 2 te gebruiken of begrijp ik je nu verkeerd? | ||||||||
Swetsenegger | dinsdag 23 juni 2009 @ 09:19 | |||||||
quote:Ja ik begrijp hoe een lusje werkt. Het ging me om de array manipulatie | ||||||||
cablegunmaster | dinsdag 23 juni 2009 @ 09:26 | |||||||
quote:jup. dat wil ik doen ![]() ![]() | ||||||||
Swetsenegger | dinsdag 23 juni 2009 @ 09:55 | |||||||
quote:Hij locked de table tot jij hem unlocked. Wat ik doe in een webshop is bv in de table 'order' een order regel toevoegen, en vervolgens de insert id gebruiken om de produkten die bij die order horen in een content table te inserten. Na die laatste query unlock ik de table. Op die manier voorkom ik het risico dat er twee mensen exact tegelijk submitten en de content van order A bij order B terecht komt en andersom. | ||||||||
Catbert | dinsdag 23 juni 2009 @ 10:47 | |||||||
quote:Dat heb ik net uitgelegd. Je selecteert alle coordinaten in een vierkant, niet in een cirkel. Daarnaast lopen de meridianen niet parellel. Daarom kun je beter nafilteren door naderhand nauwkeuriger de exacte afstanden uit te rekenen zodat daadwerkelijk alles binnen een straal krijgt. quote:Je bewijst hier vooral mee hoe brak PHP is. Een fatsoenlijke VM zou die loop uberhaupt niet 10000 keer uitvoeren. Check dit:
Test 1 took 673ms. Test 2 took 943ms. Test 1 took 645ms. Test 2 took 931ms. Test 1 took 616ms. Test 2 took 610ms. Test 1 took 619ms. Test 2 took 633ms. Je ziet na de 2e test2 run dat de VM 'ziet' wat test 2 doet en het voor je gaat optimaliseren. Ik hoop van harte dat PHP dergelijke zaken ook doet, anders is het te brak voor woorden. BTW: als je testjes maakt, gebruik dan alsjeblieft meer iteraties dan 10000, dat zegt echt niks. | ||||||||
Intrepidity | dinsdag 23 juni 2009 @ 10:54 | |||||||
quote:Klopt, en omdat PHP geen perfecte taal is heeft het wel degelijk zin om constanten in plaats van functieaanroepen te gebruiken, dat was m'n punt.. | ||||||||
slacker_nl | dinsdag 23 juni 2009 @ 11:09 | |||||||
quote:array_push($data[$id][$kleur], $data_from_table) ? (ik weet dat er een "snellere" manier is om dingen in een array te pushen voor de mensen die gaan vallen over de array_push functie). | ||||||||
Catbert | dinsdag 23 juni 2009 @ 11:09 | |||||||
quote:Ik zeg niet dat het perse slecht is, maar niet als het ten koste gaat van de leesbaarheid van je code. Da's m'n punt. Math.PI bijvoorbeeld is een constante die iedereen gebruikt, en ook prima leesbaar is. Die __CLASS__ ofzo constante is IMHO een nono. | ||||||||
slacker_nl | dinsdag 23 juni 2009 @ 11:14 | |||||||
quote:Gelukkig is het je humble opinion. | ||||||||
Catbert | dinsdag 23 juni 2009 @ 11:16 | |||||||
quote:Euh, ja? ![]() | ||||||||
slacker_nl | dinsdag 23 juni 2009 @ 13:14 | |||||||
Ben er gewoon blij om. | ||||||||
Catbert | dinsdag 23 juni 2009 @ 15:08 | |||||||
quote:Dat fijn. Uiteindelijk is m'n ultieme doel hier mensen blij te maken ![]() | ||||||||
Light | dinsdag 23 juni 2009 @ 15:11 | |||||||
quote:Hmm... als ik die code uitvoer kom ik toch tot iets andere getallen: Test 1 took 4ms. Test 2 took 3ms. Test 1 took 3ms. Test 2 took 0ms. Test 1 took 0ms. Test 2 took 0ms. Test 1 took 0ms. Test 2 took 0ms. En dan maakt het niet uit of de loopjes in test1() en test2() tot 1.000.000.000 of tot 2.000.000.000 gaan. | ||||||||
Catbert | dinsdag 23 juni 2009 @ 15:47 | |||||||
quote:Je hebt zeker de server VM switch gebruikt? Dan gaat 'ie harder optimaliseren en komt tot de conclusie dat wat 'ie doet compleet zinloos is ![]() | ||||||||
Light | dinsdag 23 juni 2009 @ 16:07 | |||||||
quote:Nee, ik deed java zonder switches. Nu zie ik wel in de help staan dat de default de server VM is, omdat het een server-class machine is. Misschien moet ik het ook niet op een server draaien ![]() Als ik java -client gebruik, krijg ik wel resultaten die meer in lijn liggen met wat je had gepost. | ||||||||
cablegunmaster | woensdag 24 juni 2009 @ 00:15 | |||||||
ik heb een drop down menu , en nu wil ik dat hij blijft staan op de waarde die hij uit de database haalt bvb
en nu wil ik dat hij checked invoert bij het getal :o hoe kan ik dit doen? de impact haalt hij uit de database. :) maar ik wil de andere opties ook kunnen weergeven dus ik dacht een switch maar dan echo je de options 4 * 4 erin. :{ moet makkelijker te doen zijn :) | ||||||||
BrunoD | woensdag 24 juni 2009 @ 00:23 | |||||||
Gewoon 4 keer if($impact==1) echo 'SELECTED'; in de options rammen ? | ||||||||
GlowMouse | woensdag 24 juni 2009 @ 00:25 | |||||||
for-loop dus. | ||||||||
Light | woensdag 24 juni 2009 @ 00:27 | |||||||
quote:Volgens mij moet je selected hebben, niet checked. quote:Maak een array met als keys de waardes (1, 2, 3, etc) en als values de bijbehorende teksten (laag, middel, hoog, etc). Dan haal je uit de database welke optie is geselecteerd (een id). Je gaat gewoon de array met opties af, en bij het weergeven check je iedere keer even of het id misschien toevallig gelijk is aan de key bij de optie die je gaat weergeven. | ||||||||
cablegunmaster | woensdag 24 juni 2009 @ 00:54 | |||||||
quote:ook een goeie optie.. beter dan brunod die gebruikte ik eerst. maar dat is ook niet zo productief. ![]() Nog een vraag ![]() ik krijg veilige /' in de database maar hoe echo ik die er goed uit zonder de / iets met preg_replace() maar ik snap preg replace niet helemaal. hoe los ik die / forward slash op? ![]() [ Bericht 16% gewijzigd door cablegunmaster op 24-06-2009 09:18:31 ] | ||||||||
cablegunmaster | donderdag 25 juni 2009 @ 09:30 | |||||||
Ik kom er niet uit : ikl probeerde een functie om de tijd te berekenen tussen 2 datums alleen nu krijg ik de hele tijd het probleem dat de tijden tijdens 0:00 negatief worden. want 23:00 is natuurlijk groter. Hoe kan ik simpel 2 velden met datetime van elkaar aftrekken? ![]()
is een functie die me niet hielp. hij gaf me negatieve waardes bij bepaalde tijden.
Hieruit krijg ik een heel andere waarde 1976 jaar 17 dagen etc... maar de minuten en seconde kloppen wel. [ Bericht 57% gewijzigd door cablegunmaster op 25-06-2009 09:41:03 ] | ||||||||
Intrepidity | donderdag 25 juni 2009 @ 09:43 | |||||||
http://www.phpf1.com/tutorial/php-date-difference.html ![]() | ||||||||
Swetsenegger | donderdag 25 juni 2009 @ 09:48 | |||||||
Als het als time in je mysql tabel staat kan je toch gewoon met datesub gaan werken http://dev.mysql.com/doc/(...)-time-functions.html | ||||||||
HuHu | donderdag 25 juni 2009 @ 09:54 | |||||||
quote:Dat komt omdat je een verschil in tijd om gaat zetten naar een daadwerkelijke datum middels de date() functie. Dat kan niet. Een timestamp van 0 staat gelijk aan 1 januari 1970 @ 00:00 en dus niet gelijk aan 1 januari 0 @ 00:00. Dat laatste is wat je zou willen als je wilt weten hoeveel jaren/maanden/weken/dagen/uren/minuten/seconden er tussen 2 datums zitten. Je kunt het met de hand uitrekenen:
| ||||||||
cablegunmaster | donderdag 25 juni 2009 @ 12:13 | |||||||
quote:hoe pak je daar alleen de getallen voor de komma? ![]()
alleen nu geeft hij na toevoegen van problemen ook incidenten terug die meer dan 2 rijen heeft ![]() en probleem id 0 hoe los ik dit op? ![]() [ Bericht 2% gewijzigd door cablegunmaster op 25-06-2009 12:28:57 ] | ||||||||
cablegunmaster | donderdag 25 juni 2009 @ 13:56 | |||||||
quote:Aangepast en werkend ![]()
Geen idee of er problemen nog doorkomen. maar floor() lijkt te doen wat hij moet doen ![]() | ||||||||
HuHu | donderdag 25 juni 2009 @ 13:58 | |||||||
Je kunt de floor() gebruiken ja, of een cast naar int. | ||||||||
spaceninjapirate | donderdag 25 juni 2009 @ 14:18 | |||||||
Weet iemand of het mogelijk is om filter_var() aan de praat te krijgen is onder PHP 5.2.0? Of misschien een goed alternatief ervoor? regular expressions zijn namelijk niet mijn sterkste kant ... | ||||||||
slacker_nl | donderdag 25 juni 2009 @ 15:41 | |||||||
uhh, het werkt toch gewoon onder php 5.x: http://nl2.php.net/filter_var | ||||||||
spaceninjapirate | donderdag 25 juni 2009 @ 16:27 | |||||||
Pardon! Ik bedoel versies lager dan 5.2.0, "onder" is een beetje ongelukkig gekozen woord. | ||||||||
Darkomen | donderdag 25 juni 2009 @ 16:51 | |||||||
van php,net. I managed to get this to work with PHP 5.1.6 on CentOS 5 with minor difficulty. 1) Download the PECL filter package 2) Extract the tarball 3) phpize the directory 4) ./configure 5) make 6) filter-0.11.0/logical_filters.c:25:31: error: ext/pcre/php_pcre.h: No such file or directory 7) find / -name php_pcre.h 8) Make sure php-devel is installed 9) Edit filter-0.11.0/logical_filters.c and replace "ext/pcre/php_pcre.h" with the absolute path of php_pcre.h 10) make 11) make install 12) add "extension=filter.so" to php.ini 13) Restart Apache | ||||||||
Likkende_Lassie | donderdag 25 juni 2009 @ 16:57 | |||||||
Momenteel ben ik bezig een web applicatie icm Google Maps. Nu is het de bedoeling dat er uitgebreide stats worden bijgehouden, ook als een zogeheten marker per bedrijf wordt weergegeven. Nu is dat bijhouden niet zo'n probleem, maar vraag ik me af hoe ik dit het beste kan doen qua performance: Via memcached bijhouden welke markers/bedrijven er zijn weergegeven, vervolgens elke 5 min. een script laten draaien welke de memcached in de database stopt, en memcached opschoont. Of aan het einde van het laden van alle markers deze met 1 query opslaan in de database... Wat is het snelst en het meeste stabiel? Er van uitgaande dat er straks behoorlijk wat mensen gebruik gaan maken van de app. | ||||||||
cablegunmaster | donderdag 25 juni 2009 @ 20:04 | |||||||
quote:Opgelost met een where en een and ![]() na een uurtje verder puzzelen ![]() | ||||||||
Mirel | vrijdag 26 juni 2009 @ 12:56 | |||||||
Ik gebruik het eventlist agenda component voor joomla. Het component heeft een bijpassende module die alles laat zien wat nog moet komen. Ik heb een custom module ervoor, die alleen de agendapunten laat zien van de huidige week. Het probleem is dat het scriptje op die manier de agendapunten vind, en ze laat zien, en dus ook de ongepubliceerde meeneemt.
![]() Nou wil ik dus dat die ook de 'published' tabel checkt, en die ongepublishde níet meeneemt. Dat doet ie nu wel, en dat is niet de bedoeling. Hoe moet dat scriptje worden aangepast? ![]() [ Bericht 3% gewijzigd door Mirel op 26-06-2009 13:05:49 ] | ||||||||
#ANONIEM | vrijdag 26 juni 2009 @ 12:59 | |||||||
Dat kunnen we niet weten, want we weten niet hoe de onderlinge tabel-structuur is. | ||||||||
Mirel | vrijdag 26 juni 2009 @ 13:06 | |||||||
geedit | ||||||||
Darkomen | vrijdag 26 juni 2009 @ 13:16 | |||||||
ik zou zeggen WHERE published=1 | ||||||||
Mirel | vrijdag 26 juni 2009 @ 13:21 | |||||||
gooi ik dat er zo zomaar tussen? Vast niet | ||||||||
Darkomen | vrijdag 26 juni 2009 @ 13:22 | |||||||
Zelf totaal geen ervaring met mysql merk ik. Eens even kijken
Volgens mij zo, | ||||||||
Mirel | vrijdag 26 juni 2009 @ 13:38 | |||||||
idd, geen ervaring | ||||||||
#ANONIEM | vrijdag 26 juni 2009 @ 13:39 | |||||||
Je moet ook in de OR clause een published = 1 zetten | ||||||||
Mirel | vrijdag 26 juni 2009 @ 13:42 | |||||||
Hij werkt, dank je. ![]() edit: oh, gelijk aan het begin na de OR? | ||||||||
Mirel | vrijdag 26 juni 2009 @ 13:57 | |||||||
editkick ![]() Hij doet het prima verder, heb het uitgetest. Zonder je extra code na de OR [ Bericht 29% gewijzigd door Mirel op 26-06-2009 14:03:01 ] | ||||||||
Darkomen | vrijdag 26 juni 2009 @ 14:50 | |||||||
quote:Volgens mij niet die or is puur voor de 2 datum selecties | ||||||||
Likkende_Lassie | zaterdag 27 juni 2009 @ 12:21 | |||||||
Momenteel ben ik bezig een web applicatie icm Google Maps. Nu is het de bedoeling dat er uitgebreide stats worden bijgehouden, ook als een zogeheten marker per bedrijf wordt weergegeven. Nu is dat bijhouden niet zo'n probleem, maar vraag ik me af hoe ik dit het beste kan doen qua performance: Via memcached bijhouden welke markers/bedrijven er zijn weergegeven, vervolgens elke 5 min. een script laten draaien welke de memcached in de database stopt, en memcached opschoont. Of aan het einde van het laden van alle markers deze met 1 query opslaan in de database... Wat is het snelst en het meeste stabiel? Er van uitgaande dat er straks behoorlijk wat mensen gebruik gaan maken van de app. | ||||||||
Gruning3r | zaterdag 27 juni 2009 @ 16:46 | |||||||
Kan iemand me helpen, soms krijg ik deze melding bij mijn gastenboek.Notice: Undefined index: comment op regel 111 dit is de regel $comment =$_REQUEST["comment"]; alvast bedankt. ![]() ![]() | ||||||||
Light | zaterdag 27 juni 2009 @ 16:49 | |||||||
quote:Het script verwacht dat er via GET of POST een veld "comment" wordt meegestuurd, maar dat gebeurt niet. Dan krijg je die melding. | ||||||||
Gruning3r | zaterdag 27 juni 2009 @ 16:54 | |||||||
quote:Maar hoe kan ik het oplossen dan? alvast bedankt ![]() | ||||||||
Gruning3r | zaterdag 27 juni 2009 @ 17:18 | |||||||
Als ik de regel weg doe dan kan ik ook geen berichten meer plaatsen. ![]() | ||||||||
wobbel | zaterdag 27 juni 2009 @ 22:14 | |||||||
Hoe maak ik eigenlijk een simpel PHP/MySQL navigatie systeem? Dat ik dus 50150 resultaten netjes per 50 kan opdelen, met onderaan < Vorige | 1-2-3-4-5-6-7 | Volgende > enzo... | ||||||||
ssmm987 | zaterdag 27 juni 2009 @ 23:46 | |||||||
quote:
| ||||||||
ssmm987 | zaterdag 27 juni 2009 @ 23:50 | |||||||
quote:
| ||||||||
wobbel | zondag 28 juni 2009 @ 11:07 | |||||||
Oke, misschien omdat i knet wakker ben hoor...maar waarom krijg ik ZEVEN resultaten met dit: SELECT * FROM D_Customers LIMIT 5, 10 1 - 5 2 - 6 3 - 7 4 - 8 5 - 9 6 - 10 Als ik het zo natel, zou ik er dus maar 6 moeten krijgen....maar waarom krijg ik er 7? ![]() | ||||||||
FastFox91 | zondag 28 juni 2009 @ 11:33 | |||||||
@Wobbel " With two arguments, the first argument specifies the offset of the first row to return, and the second specifies the maximum number of rows to return. The offset of the initial row is 0 (not 1): SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15" Je krijgt dus maximaal tien terug, omdat er maar zeven rijen zijn krijg je er minder terug. Maar zes rijen terug verwachten is sowieso fout. | ||||||||
wobbel | zondag 28 juni 2009 @ 12:02 | |||||||
quote:Owjah, dat was het ![]() | ||||||||
Xcalibur | zondag 28 juni 2009 @ 12:08 | |||||||
quote:Aan het eind van het laden opslaan lijkt me vele malen makkelijker dan via memcached en een cronjob? Bovendien heb je je data dan meteen. 1 insertquery kost natuurlijk helemaal geen tijd.... ![]() | ||||||||
Likkende_Lassie | zondag 28 juni 2009 @ 13:17 | |||||||
quote:het is idd een feit dat het direct uitvoeren van een query makkerlijker is, maar hoe zit het met de performance? en dus straks de totale load op de server. het is toch een flinke update/insert/select query, select omdat het systeem de stats eventueel nog moet aanmaken. | ||||||||
wobbel | zondag 28 juni 2009 @ 14:10 | |||||||
Ik kwam er net achter dat ik gister 20 regels had getikt omdat ik moe was, maar daar ook gewoon een simpele functie voor bestond ![]() | ||||||||
Likkende_Lassie | zondag 28 juni 2009 @ 14:52 | |||||||
quote:altijd leuk ![]() | ||||||||
Intrepidity | zondag 28 juni 2009 @ 14:55 | |||||||
quote:En ik kwam er pas achter dat ik de hele json klasse uit m'n framework gewoon kon vervangen door calls naar json_encode en json_decode ![]() | ||||||||
wobbel | zondag 28 juni 2009 @ 15:41 | |||||||
quote:round met . en , voor decimalen en duizenden | ||||||||
Likkende_Lassie | maandag 29 juni 2009 @ 10:44 | |||||||
Hoop dat iemand nog kan kijken naar mijn vraag een paar posts hierboven ![]() Ondertussen nog een andere vraag, ik heb een project dat ik in meerdere talen wil hebben. Nu is het zo dat ik voorheen altijd een functie had (lang()), welke ik als volgt aanriep: echo lang('Welcome'); Vervolgens werd er een query uitgevoerd om welcome op te halen en welcome in het nederlands te weergeven. Toch denk ik dat dit beter kan, door bijvoorbeeld bij het laden van de pagina dit allemaal in 1 query op te halen, hoe is jullie idee hierover? | ||||||||
#ANONIEM | maandag 29 juni 2009 @ 10:48 | |||||||
Ik zet vertalingen nooit in de database, maar in een aparte file. | ||||||||
Xcalibur | maandag 29 juni 2009 @ 11:05 | |||||||
quote:Hoezo moet je de status nog aanmaken? Zijn die voor ieder record verschillend dan? Als je zorgt dat je alle info al hebt opgehaald in je eerste select voorkom je in ieder geval dat je nog een select moet draaien (als dat kan iig). En grote insert lijkt me niet zo'n probleem? En als je het eerst memcached, moet je het later alsnog inserten, dat maakt qua load niet uit lijkt me, je doet het alleen op een ander moment (als het misschien juist wel drukker is op je server ![]() | ||||||||
Xcalibur | maandag 29 juni 2009 @ 11:11 | |||||||
quote:Hoe onderhoud je die dan? In een CMS ofzo dus, textfile steeds opnieuw schrijven? Ik gebruik altijd een centrale teksten tabel. Per record staat daarin om wat voor soort tekst het gaat (pagina, nieuwsbericht, etc. - tabelnaam dus), de ID van het betreffende pagina/nieuws-record, de taal en de tekst. Door middel van een join kan je die vrij eenvoudig ophalen, ook meerdere tekstrecords per pagina (voor de titel, inhoud, etc.) Voordeel is dat je *alle* tekst in 1 tabel hebt staan, en dat dus erg makkelijk te doorzoeken is enzo ![]() | ||||||||
#ANONIEM | maandag 29 juni 2009 @ 11:14 | |||||||
quote:Bij een CMS kan je onderscheid maken he. Je hebt dynamische content die de gebruiker zelf verzorgt (die zet je dan natuurlijk in de database), je hebt systeem meldingen (komen uit een resource file), en generieke meldingen (ook uit de resource file). Als een gebruiker dan meertaligheid wil, dan moet hij alleen zijn dynamische content (laten) vertalen en die opslaan onder een andere taal. quote:Ja dat is dus specifiek voor de dynamische content, daar maak ik mij niet zo druk om. quote:Klopt. Maar ik bouw meestal een CMS waarbij ik de labels van de velden e.d vastleg in een file, en niet in de database. Dacht dat je dat bedoelde. | ||||||||
Flaccid | maandag 29 juni 2009 @ 11:27 | |||||||
-- [ Bericht 100% gewijzigd door Flaccid op 29-06-2009 11:49:06 ] | ||||||||
Intrepidity | maandag 29 juni 2009 @ 11:30 | |||||||
quote:Wat ik persoonlijk doe is de vertalingen in een XML-file opslaan ![]() Mijn XML-bestand heeft een indeling als volgt:
Mijn languageklasse kun je vervolgens aanroepen met Language::t('home/headers/kop') [ Bericht 32% gewijzigd door Intrepidity op 29-06-2009 11:42:21 ] | ||||||||
Catbert | maandag 29 juni 2009 @ 12:06 | |||||||
quote:Als je het een keer inlaadt en dan in-memory bewaard is het performance verschil tussen DB of flat file natuurlijk niet erg boeiend, maar hou er rekening mee dat in normale gevallen (dus niet dat je info maar een maal nodig hebt) DB requests over het algemeen sneller zijn dan flat files lezen. Zelf vind ik het vanuit een ontwerpstandpunt erg slordig om dergelijke dynamische data op een andere plek op te slaan dan waar de rest van je spul zit. M.i. kies je ervoor 'alles' in een DB te stoppen, of 'alles' via XML files te doen. | ||||||||
Xcalibur | maandag 29 juni 2009 @ 13:01 | |||||||
quote:Ik had het voornamelijk over dynamische teksten inderdaad ![]() Vaste teksten zet ik hard in de template, met een aparte template map per taal. Vind ik een stuk gemakkelijker werken dan met een los tekstbestand. Zo kan ik tenminste gewoon zien waar een tekst staan enzo. Bovendien kan je dan per taal nog wat wijzigen in de template, om een of andere reden willen mijn klanten dat altijd ![]() Wijzigingen in de template moet je in het slechtste geval een aantal keer doorvoeren, maar als je het goed doet kan het meeste via de CSS ![]() | ||||||||
Xcalibur | maandag 29 juni 2009 @ 13:03 | |||||||
quote:Dit begrijp ik niet helemaal. Je laadt de hele XML (met *alle* tekst) 1x per pageload in? Of stop je het ding in een sessie ofzo? In het eerste geval lijkt me dat niet zo efficient als je een grote site hebt namelijk ![]() | ||||||||
#ANONIEM | maandag 29 juni 2009 @ 13:04 | |||||||
quote:Nou ja, wat ik altijd vervelend vind is generieke teksten zoals Gebruiker / Login - Loguit enzo te moeten vervangen. Dat doe ik liever op 1 plek dan op meerdere. Maar ja das natuurlijk persoonsgebonden. | ||||||||
Intrepidity | maandag 29 juni 2009 @ 13:26 | |||||||
quote:Zo werkt dat nou eenmaal met methoden als SimpleXML. Bij het laden hiervan wordt de hele XML file geparsed en omgezet naar een object. Ik zorg dat dat object statisch blijft in de hele applicatie en dus maar 1 maal geparsed wordt per paginaverzoek. Eventueel kun je dat object zelfs nog cachen als je graag op performance let. | ||||||||
Intrepidity | maandag 29 juni 2009 @ 13:28 | |||||||
quote:Ik noem vertalingen van teksten niet dynamisch hoor.. Het gaat hier om teksten die eenmaal ingevoerd worden en hooguit een jaartje later wat geupdate worden. Dynamische data als nieuwsberichten zet ik gewoon in hun eigen tabel, dus titel_nl, titel_en kolommen, etc. | ||||||||
Catbert | maandag 29 juni 2009 @ 14:18 | |||||||
quote:Euh, als het 'statisch' over heel de applicatie is, dan wordt het toch sowieso niet eens per pagina ingelezen? Ik snap dat het in PHP wat ingewikkelder is dan in .Net bijvoorbeeld maar dat kan je toch via shared geheugen oplossen? | ||||||||
Xcalibur | maandag 29 juni 2009 @ 14:20 | |||||||
quote:Ja, ik heb ook een tijd met een tekstbestand per taal gewerkt, maar dat vond ik toch maar onhandig... vooral omdat je geen goed overzicht hebt waar je nou iets aan het wijzigen bent... En als je 1 tekst als Login wilt vervangen, maar alle andere niet is de kans dat het fout gaat wel aanzienlijk ![]() Maar ja, ieder z'n voorkeur ![]() Verder: die hele XML iedere pageload inladen lijkt me knap inefficient? ![]() | ||||||||
FastFox91 | maandag 29 juni 2009 @ 15:42 | |||||||
Ik doe gewoon in php bestand met een array per pagina. | ||||||||
Intrepidity | maandag 29 juni 2009 @ 17:30 | |||||||
quote:Zoals het nu ingericht is (en dat zijn kleine klanten met weinig traffic) wordt die XML eens per request omgezet naar een SimpleXML object in PHP. Misschien bewaart .net dat soort objecten wel netjes voor je door middel van een viewstate of iets dergelijks (weinig verstand van .net), maar in PHP gebeurt dat zeker niet volautomatisch, en aangezien HTTP inherent stateless is is dat volgensmij ook niet eenvoudig toe te passen tenzij je caching technieken als memcache gaat inzetten.. Maar ik geef toe dat dat bij ons bedrijf door het gebrek aan heftige traffic nog geen issue is ook om dat soort optimalisaties toe te passen.. Die 0.001sec extra per request maakt met andere woorden geen drol uit. | ||||||||
Xcalibur | maandag 29 juni 2009 @ 17:42 | |||||||
Toch lijkt een simpele database select me een HEEL stuk sneller dan een filesystem lookup + xml parse... Gaat echt heel erg tegen m'n gevoel in om het zo op te lossen iig ![]() | ||||||||
GlowMouse | dinsdag 30 juni 2009 @ 15:12 | |||||||
http://www.php.net/releases/5_3_0.php Nu met goto ![]() | ||||||||
slacker_nl | dinsdag 30 juni 2009 @ 15:30 | |||||||
quote:xkcd ftw: http://nl2.php.net/goto | ||||||||
GlowMouse | dinsdag 30 juni 2009 @ 15:33 | |||||||
quote:http://xkcd.com/292/ | ||||||||
Xcalibur | dinsdag 30 juni 2009 @ 15:33 | |||||||
ik heb het gevoel dat goto iets heel ouderwets is? Ik zie het nut er ook niet zo van eerlijk gezegd... | ||||||||
HenryHill | dinsdag 30 juni 2009 @ 17:37 | |||||||
quote: ![]() | ||||||||
Light | dinsdag 30 juni 2009 @ 18:42 | |||||||
quote:Heel ouderwets is nog een understatement. Ik zie er echt het nut niet van. Het wordt wel makkelijker om spaghetticode te schrijven, maar of je daar nou zo blij mee moet zijn... | ||||||||
Xcalibur | dinsdag 30 juni 2009 @ 22:09 | |||||||
is het weer 1 april ofzo? Of is dit nu echt een feature? | ||||||||
GlowMouse | dinsdag 30 juni 2009 @ 22:33 | |||||||
quote:PHP heeft wat weg van C. Om de leercurve voor QBasicgebruikers minder stijl te maken, is deze feature toegevoegd. | ||||||||
#ANONIEM | dinsdag 30 juni 2009 @ 22:47 | |||||||
Serieus, GOTO, wtf. | ||||||||
Swetsenegger | dinsdag 30 juni 2009 @ 22:49 | |||||||
![]() | ||||||||
wobbel | dinsdag 30 juni 2009 @ 23:02 | |||||||
quote:Bedankt, maar heb het toch met een mooie functie gedaan die een array uitpoept welke ik kan gebruiken ![]() Moet alleen nog ff zorgen dat ik extra parameters voor de URI kan meegeven. http://www.dumpzooi.nl/dedi/TEST.php Btw, over het GO TO gedoe....GO TO heb je toch alleen nodig als je iets hebt geprogrammeerd wat niet goed in elkaar steekt qua volgorde ofzo toch? Of ben ik nu heel dom aan het denken [ Bericht 18% gewijzigd door wobbel op 30-06-2009 23:07:48 ] | ||||||||
Xcalibur | dinsdag 30 juni 2009 @ 23:03 | |||||||
quote:Is dat echt de reden? ![]() Wtf... echt... | ||||||||
GlowMouse | dinsdag 30 juni 2009 @ 23:16 | |||||||
quote:Ik denk het niet ![]() Maar goto wil je niet tegenkomen in een script dat je moet debuggen. De ene keer kun je het vervangen door een for-loop, de andere keer kom je een combinatie van 10 goto's tegen en mag jij uitzoeken waarom er soms een infinite loop is. | ||||||||
Xcalibur | dinsdag 30 juni 2009 @ 23:17 | |||||||
Ik kan me eigenlijk ook geen praktisch nut voorstellen.... De toevoeging ontgaat me daarom ook volledig ![]() Maar dat was inmiddels wel duidelijk denk ik ![]() | ||||||||
HuHu | woensdag 1 juli 2009 @ 08:30 | |||||||
quote:Het praktische nut staat uitgelegd op de pagina van PHP zelf: eenvoudig uit een loopje ontsnappen bijvoorbeeld. Maargoed, dat kan ook op een andere manier, dat wel. | ||||||||
Likkende_Lassie | woensdag 1 juli 2009 @ 08:46 | |||||||
Om nog even terug te komen op de vertalingen: Ik ga het houden op de database idd, maar dan de volgende vraag, ik heb zo nu en dan kleine woordjes door de php heen staan, hoe kan ik deze dan het beste vervangen, str_replace, of zoals ik nu doe, deze vervangen met een lang('welcome'); functie? Of, een lang(151); om gewoon het ID van het record in de db op te vragen? | ||||||||
Tiemie | woensdag 1 juli 2009 @ 08:46 | |||||||
Gevalletje taart hier voor de gene die goto durft te gebruiken. ![]() | ||||||||
cablegunmaster | woensdag 1 juli 2009 @ 09:21 | |||||||
goto lijkt me ook weer vaag... het is een soort van dirty workaround in m'n ogen. oude dos commandos gebruikten goto. ![]() | ||||||||
HuHu | woensdag 1 juli 2009 @ 09:24 | |||||||
quote:Mjah, deze goto is alleen wel heel erg beperkt ten opzichte van de oude goto. Je kunt er dan ook weer niet alles mee ![]() | ||||||||
Catbert | woensdag 1 juli 2009 @ 10:59 | |||||||
quote:Inderdaad. Je kunt, thank god, niet uit een methode of van buiten een methode inspringen. Maar dan nog zie ik het gebeuren dat kansloze prutsers hun hele script een grote method maken van 5 pagina's met overal goto's. Ik heb tijdens m'n studie bij een webdesignbedrijfje gewerkt en daar hun CMS zitten restructuren. Geschreven door iemand die het heel goed bedoelde maar het eigenlijk niet zo goed begreep (search doen via een "select id where blabla" en dan elke row apart ophalen met een "select * where id = x). Als 'ie de mogelijkheid had gehad goto's te gebruiken was ik waarschijnlijk gillend weggelopen. | ||||||||
HuHu | woensdag 1 juli 2009 @ 11:07 | |||||||
Je kunt natuurlijk wel de hele OO structuur van je applicatie weggooien en vervolgens alles met GOTO's gaan oplossen in één grote blob. Dus geen functies of methoden meer gebruiken, maar goto-en naar een label en de return waarde globaal zetten en dan weer terug goto-en enzo ![]() | ||||||||
slacker_nl | woensdag 1 juli 2009 @ 11:11 | |||||||
Maw, Fok gaat volledig over op goto statements ![]() | ||||||||
Xcalibur | woensdag 1 juli 2009 @ 12:02 | |||||||
quote:The horror! ![]() | ||||||||
Light | woensdag 1 juli 2009 @ 12:28 | |||||||
quote:En dan door een variabele laten bepalen waar je naar terug gaat goto-en? | ||||||||
Chandler | woensdag 1 juli 2009 @ 12:34 | |||||||
tvp (beetje laat) | ||||||||
HuHu | woensdag 1 juli 2009 @ 12:38 | |||||||
quote:Uiteraard. Met zo'n mooie if-elseif-else constructie:
Ik weet nog wat leuks! Een goto-stack :9~. Dan kun je meerdere goto's stacken, waarbij elke goto wordt uitgevoerd totdat je een ander label tegenkomt en dan vind er een automagische goto plaats:
| ||||||||
_GdR_ | woensdag 1 juli 2009 @ 12:44 | |||||||
Hallo, Ik weet niet of mijn vraag hier op de juiste plek staat. maar mocht iemand het weten geef me een antwoord pls. ![]() Heb sinds kort een server in de meterkast gestampt. En die werkt naar behoren (op een paar kleinigheidjes na dan.) Maar hij is gewoon bereikbaar via mijn publieke ipadres enzo. apache en sql draaien gewoon. Alleen ik kan opeens niet meer bij mn phpmyadmin komen. Terwijl dit eerst wel werkte. Iemand enig idee waar ik daar iets voor moet instellen? Het is btw een linux ubuntu install. (en ik snap geen ruk van linux. ![]() -edit- is er trouwens gewoon een UI van apache/sql/php etc? zoals bij WAMP en MAMP (mac)? | ||||||||
Xcalibur | woensdag 1 juli 2009 @ 13:34 | |||||||
"opeens"? Wat heb je veranderd, en wat krijg je voor foutmelding? | ||||||||
_GdR_ | woensdag 1 juli 2009 @ 13:52 | |||||||
quote:had m geinstalleerd. en lokaal (127.0.0.1/phpMyAdmin) werkte het wel. Toen in m in de meterkast direct aan mn modem hing en de poorten had opengezet werkte het niet meer. dus. een beetje vreemd is t wel. | ||||||||
Xcalibur | woensdag 1 juli 2009 @ 13:59 | |||||||
Eerst keek je dus op de machine zelf (op localhost), en nu kijk je vanaf een andere pc? Dan kan hij waarschijnlijk 127.0.0.1 niet vinden, en moet je gewoon het IP-adres van die machine gebruiken ![]() Dus 192.168.168.4 bijvoorbeeld, afhankelijk van je DHCP settings ![]() | ||||||||
_GdR_ | woensdag 1 juli 2009 @ 14:15 | |||||||
quote:dat begrijp ik. als ik gewoon mn ip intyp vanaf een andere niet lokale machine dan krijg ik gewoon de index van mn www root te zien. en dat werkt. maar zodra ik http://bla.bla.bla.ip/phpMyAdmin doe krijg ik een 404. In de tussen tijd is mn server natuurlijk uit geweest. Misschien moet ik hem handmatig starten oid?apache en mysql draaien volgens de 'status' in de terminal. sudo /etc/d.init/apache2 status (of zoiets.) | ||||||||
Xcalibur | woensdag 1 juli 2009 @ 14:25 | |||||||
maak je niet toevallig een typefout in het adres? Linux is hoofdlettergevoelig iig ![]() Zet anders eens een info.php in de root, dan kan je iig zien of alles een beetje draait ![]() | ||||||||
Catbert | woensdag 1 juli 2009 @ 14:31 | |||||||
quote:Klinkt als m'n eerste spelletje in Qbasic toen ik 13 was ofzo ![]() | ||||||||
cablegunmaster | woensdag 1 juli 2009 @ 18:21 | |||||||
vraagje: ik zit met een normerings systeem 1-10 radioboxjes en nu vroeg ik me af of het met php mogelijk was dat ALS 1-10 is ingevuld. bvb ik klik op 4 , geen submit knop erbij ,en dan reageert hij met " Thank you for your vote" | ||||||||
GlowMouse | woensdag 1 juli 2009 @ 18:39 | |||||||
quote:Ja dat kan, zoek maar op xmlhttprequest. Reken wel op wat JavaScript dat je moet schrijven. | ||||||||
raptorix | woensdag 1 juli 2009 @ 19:36 | |||||||
http://www.masugadesign.c(...)jax-star-rating-bar/ | ||||||||
cablegunmaster | donderdag 2 juli 2009 @ 09:24 | |||||||
quote:Tof ![]() ![]() Al heb ik wel een ajax tutorial doorgenomen op phphulp.nl ingewikkeld. Ik snap het nog niet helemaal maar Ajax laad dus alleen een stukje van de pagina in. en met hulp van doe dingen. laad je de rest ![]() ![]() | ||||||||
raptorix | donderdag 2 juli 2009 @ 09:44 | |||||||
Jup zo zou je het ongeveer kunnen zien, ipv de hele pagina opnieuw wordt geladen, doe je onderwater een request en krijgt een melding terug die dan ter plekke in de pagina verwerkt wordt, zo zou je het ongeveer simpel kunnen uitleggen. Over algemeen is het niet handig om hier het wiel opnieuw uit te vinden, er zijn prima libraries voor die dit perfect kunnen, bijvoorbeeld jquery en Yahoo UI | ||||||||
ursel | vrijdag 3 juli 2009 @ 09:01 | |||||||
Iemand hier bekend met de exacte regels wat betreft validatie van email adressen? We maken zelf gebruik van de PEAR klasse Validate. Echter nu blijkt dat deze email adressen afkeurt welke een & teken in de naam hebben (naam@domein.nl). Ik heb even een snelle check gedaan en ook FOK! accepteert dit niet. Echter, ga ik kijken op wat WIKI hier over te zeggen heeft dan zouden de volgende tekens juist wel geaccepteerd moeten worden: Characters ! # $ % & ' * + - / = ? ^ _ ` { | } ~ accepteren jullie ook al deze tekens? ![]() Of zie ik iets verkeerds over het hoofd dat er toch maar slechts enkele tekens mogen? Dacht namelijk zelf dat alleen . - _ geaccepteerd werden in de naam. ![]() | ||||||||
HuHu | vrijdag 3 juli 2009 @ 09:43 | |||||||
De wiki heeft wat verwijzingen naar de RFC's, waarin exact staat hoe het hoort: http://en.wikipedia.org/wiki/E-mail_address#RFC_specification. Zelf gebruik ik Zend_Validate_EmailAddress, die zich houdt aan RFC2822. | ||||||||
ursel | vrijdag 3 juli 2009 @ 14:36 | |||||||
quote:PEAR heeft alleen de mogelijkheid om uit te wijken naar RFC822 Maar die RFC2822 valideert dus email adressen als F&I@bedrijf.nl ?? | ||||||||
raptorix | vrijdag 3 juli 2009 @ 14:38 | |||||||
Eigenlijk nog nooit een email tegengekomen met een & erin, denk ook dat iemand daar redelijk snel van afstapt als ie merkt dat ie op veel plekken niet kan registreren, had zelf als 1 van eerste een .INFO adres, en daar had ik al problemen zat mee. | ||||||||
ursel | vrijdag 3 juli 2009 @ 14:45 | |||||||
quote:Ja, klopt, maar verwacht dat er bij onze situatie het bedrijf er een email groep achter heeft hangen. Daar is F&I een redelijk standaard begrip, maar kom hem nu dus voor het eerst ook in een email tegen. Alleen ik heb een manager die eerst wil dat ik uitzoek of het mogelijk is alvorens dit terug te koppelen naar de klant. ![]() ![]() | ||||||||
raptorix | vrijdag 3 juli 2009 @ 14:50 | |||||||
Is hier gewoon niet een fatsoenlijke PHP library voor? Geen idee hoor, programmeer nooit PHP hoewel ik volgende maand voor eerst in 15 jaar een projectje moet doen in PHP ![]() | ||||||||
raptorix | vrijdag 3 juli 2009 @ 14:51 | |||||||
Voldoet dit niet: http://www.linuxjournal.com/article/9585 Zo dus:
| ||||||||
ursel | vrijdag 3 juli 2009 @ 15:14 | |||||||
quote:Komt die ook niet valide doorheen.. ![]() (Net zoals de andere functies van die link van je.. ![]() | ||||||||
raptorix | vrijdag 3 juli 2009 @ 15:20 | |||||||
Je bedoeld die F&I@bedrijf.nl? Die zou er echt op moeten valideren hoor? Let je op dat je er geen spatie achter hebt staan? | ||||||||
Xcalibur | vrijdag 3 juli 2009 @ 15:22 | |||||||
In de zelfgebouwde functie die ik gebruik komt ie d'r ook niet doorheen.... En daar heb ik nog nooit klachten over gehad dat die niet goed zou werken ![]() Hoewel het volgens de specificatie misschien wel mag, zou ik je klant toch met klem afraden dit adres te gebruiken, omdat het ding heel vaak geweigerd zal worden.... | ||||||||
Xcalibur | vrijdag 3 juli 2009 @ 15:24 | |||||||
quote:Overbodige spaties eraf trimmen kan je natuurlijk ook in je code... ![]() Kleine moeite, groot plezier over het algemeen ![]() | ||||||||
raptorix | vrijdag 3 juli 2009 @ 15:25 | |||||||
als je die ampersant eens veranderd voor een hekje, doet ie het dan wel? Heeft een ampersant soms een speciale betekenis in PHP? | ||||||||
ursel | vrijdag 3 juli 2009 @ 15:45 | |||||||
Hmm.. de functie werkt wel, maar blijkbaar zit er in de post nog een "onzichtbare" spatie ofzo. Mooi klusje voor maandag.. ![]() | ||||||||
raptorix | vrijdag 3 juli 2009 @ 16:03 | |||||||
quote:Zei ik toch ![]() ![]() | ||||||||
ErikN | vrijdag 3 juli 2009 @ 20:39 | |||||||
quote:<?php var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL)); var_dump(filter_var('example.com', FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED)); ?> Niet getest, documentatie hier: http://php.net/manual/en/function.filter-var.php Zelf gebruik ik: preg_match('/.+(@).+(\.).+/', $value) Maar die test alleen maar op 'iets' @ 'iets' . 'iets'. | ||||||||
Likkende_Lassie | zaterdag 4 juli 2009 @ 09:07 | |||||||
Om nog even terug te komen op de vertalingen: Ik ga het houden op de database idd, maar dan de volgende vraag, ik heb zo nu en dan kleine woordjes door de php heen staan, hoe kan ik deze dan het beste vervangen, str_replace, of zoals ik nu doe, deze vervangen met een lang('welcome'); functie? Of, een lang(151); om gewoon het ID van het record in de db op te vragen? | ||||||||
FastFox91 | zaterdag 4 juli 2009 @ 09:33 | |||||||
Wat jouw voorkeur is. Je kunt ook beide opties gebruiken. lang( 'welcome' ) en lang( 151, true ) oid.
of de query "select translation from lang where id = *value* or word = *value* limit 1" doen. | ||||||||
Light | zaterdag 4 juli 2009 @ 09:47 | |||||||
quote:Maar dan wel zo:
| ||||||||
#ANONIEM | zaterdag 4 juli 2009 @ 10:20 | |||||||
quote:ID is natuurlijk wel godsgruwelijk lelijk in je pagina`s. Je legt zo een directe link tussen je recordID en een woordje. Haal gewoon het woord zelf op. Is gelijk een stuk duidelijker. | ||||||||
GlowMouse | zaterdag 4 juli 2009 @ 10:43 | |||||||
quote:Inderdaad, en als je site zo dramatisch vaak bezocht wordt dat een index-look-up op een string te lang duurt ( ![]() | ||||||||
FastFox91 | zaterdag 4 juli 2009 @ 10:48 | |||||||
quote:Stukje vergeten. ![]() quote:Klopt, maar ik maak ook geen keuze wat beter is. Ik stel een optie voor waardoor je later nog zou kunnen kiezen en tot dan beide kunt gebruiken. | ||||||||
Likkende_Lassie | zaterdag 4 juli 2009 @ 15:53 | |||||||
Bedankt voor de reacties ![]() Maar is het beste dan niet om bijvoorbeeld het volgende te doen: Document bla bla bla {translate:welcome to my world} blabla bla bla bla bla bla {translate:get out my world} blabla bla bla Vervolgens het op deze manier te vervangen? | ||||||||
#ANONIEM | zaterdag 4 juli 2009 @ 16:06 | |||||||
quote:Ja, maar dan moet je weer een templatparser bouwen/hebben (doe ik standaard). | ||||||||
Likkende_Lassie | zaterdag 4 juli 2009 @ 16:49 | |||||||
Heb ik gebouwd ![]() | ||||||||
cablegunmaster | zondag 5 juli 2009 @ 09:04 | |||||||
maar dan qou ik ook in deze functie $a++; zou dit zo gewoon kunnen? ![]() ![]() een functie om je querys per pagina te tellen ^^ en dan aan het begin van de pagina of functions.inc.php $a = 0; | ||||||||
HuHu | zondag 5 juli 2009 @ 09:32 | |||||||
| ||||||||
cablegunmaster | zondag 5 juli 2009 @ 09:36 | |||||||
quote:niet zo heel goed in OO programmeren maar dan krijg ik ongv dit.
als implementatie? aanmaken van klasse. | ||||||||
HuHu | zondag 5 juli 2009 @ 09:37 | |||||||
Regel 3 is overbodig, dat gaat automatisch bij die new db(). | ||||||||
cablegunmaster | zondag 5 juli 2009 @ 09:40 | |||||||
quote:ah op die fiets ![]() ![]() | ||||||||
HuHu | zondag 5 juli 2009 @ 10:03 | |||||||
Kies ook voor wat logischer namen:
| ||||||||
raptorix | zondag 5 juli 2009 @ 10:39 | |||||||
Moet trouwens van de week voor eerst wat met PHP doen, juk, programmeer eigenlijk al jaren c# dus zal wel tegenvaller worden ![]() | ||||||||
wobbel | zondag 5 juli 2009 @ 10:56 | |||||||
quote:PHP is lievvvv ![]() | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 10:57 | |||||||
quote:2 dagen geleden was het nog 'volgende maand'? quote: | ||||||||
raptorix | zondag 5 juli 2009 @ 11:00 | |||||||
quote:Project begint wat vroeger ![]() Wel leuk project opzich, zeer uitgebreide webshop in Magento, product ziet er op zich goed uit. Tjah ik vind PHP toch een wat matige programmeertaal, wat voor omgeving gebruiken jullie eigenlijk om het te ontwikkelen? Eclipse ofzo? | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 11:08 | |||||||
quote:zend en php designer. | ||||||||
GlowMouse | zondag 5 juli 2009 @ 11:13 | |||||||
PHPEdit, maar elke editor met FTP-client en syntaxhinting (is bij strpos de volgorde nou haystack/needle of needle/haystack?) zou voldoen. | ||||||||
raptorix | zondag 5 juli 2009 @ 11:32 | |||||||
Ok en kan je ook runtime breakpoints zetten dan? | ||||||||
GlowMouse | zondag 5 juli 2009 @ 11:38 | |||||||
http://www.waterproof.fr/(...)/en/debug/usage.html Nooit gebruikt; je moet op je server ook een extra php plug-in installeren; http://www.php-debugger.com/dbg/ | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 11:39 | |||||||
![]() | ||||||||
raptorix | zondag 5 juli 2009 @ 11:40 | |||||||
quote:Hoe debug je dan? Of ga je gewoon in je code waardes zitten afdrukken? | ||||||||
GlowMouse | zondag 5 juli 2009 @ 11:44 | |||||||
quote:Dat laatste; en zovaak komt het ook niet voor dat ik geen idee heb waardoor iets veroorzaakt wordt. Alleen als ik door nieuwe code moet spitten zou die debug plug-in wel handig zijn. | ||||||||
raptorix | zondag 5 juli 2009 @ 11:48 | |||||||
quote:Mjah, komt ook al omdat de meeste php projecten niet echt hoogstaand zijn, meeste projecten die ik doe kan je echt niet zonder debuggers. | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 11:48 | |||||||
gedurende development is ook redelijk verhelderend | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 14:38 | |||||||
Iemand hier al eens wat mee gedaan: http://us.php.net/manual/en/features.file-upload.multiple.php Kan ik dan gewoon een foreach lus loslaten op $_FILES[file']? | ||||||||
GlowMouse | zondag 5 juli 2009 @ 14:42 | |||||||
quote:Ik heb er geloof ik wel eens wat op gezien. Maar gelet op de structuur kun je beter een for-loop gebruiken en dan $_FILES['name/tmpname/userfile'][$i] gebruiken. Een foreach is namelijk erg flauw hier ![]() | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 14:44 | |||||||
waarom? Ik heb toch gewoon 2 <input type="file" name="foto[]" bv. Dat de array $_FILES['foto'] vervolgens 2 array's bevat doet er toch niet toe? | ||||||||
Light | zondag 5 juli 2009 @ 14:47 | |||||||
quote:Het is ook niet handig dat je informatie over uploads uit verschilende arrays moet halen. Designfoutje, denk ik. | ||||||||
GlowMouse | zondag 5 juli 2009 @ 14:48 | |||||||
quote:Hij bevat meer arrays: eentje met name, eentje met tmp_name, eentje met size, etc. | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 14:49 | |||||||
quote:Ja $_FILES['foto'] bevat meer arrays Maar als je multiple upload krijg je toch gewoon een array foto met multiple arrays erin? Laat ik het anders zeggen, ik ga 2 foto's uploaden name="foto[]" maar dan moet ik dit:
dus 2 keer doen. | ||||||||
GlowMouse | zondag 5 juli 2009 @ 14:52 | |||||||
quote:Ja en die arrays zijn zo opgebouwd dat foreach niet handig is. | ||||||||
Light | zondag 5 juli 2009 @ 14:54 | |||||||
quote:Je hebt een id nodig, maar die kun je ook met een foreach wel pakken. foreach($array as $id => $value) ... | ||||||||
HuHu | zondag 5 juli 2009 @ 14:55 | |||||||
Nee, de structuur ervan is onhandig. Bij een foreach krijg je als eerste een array met daarin de namen van elk geupload bestand, als tweede een array met de grootte van elk geupload bestand, enz... Je verwacht het andersom, dat zou wel handig zijn. Dat je voor elke upload een array krijgt met daarin name/tmpname/size/enz. Maar je krijgt dus voor name/tmpname/size/enz een array terug met daarin de waarde voor elke upload. De counter ($i) staat dan ook achteraan in de array, waardoor een for beter is. | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 15:09 | |||||||
Ok, dus concreet zou dit moeten werken
-edit- zo dan. | ||||||||
HuHu | zondag 5 juli 2009 @ 15:14 | |||||||
Nee, andersom dus ![]()
| ||||||||
GlowMouse | zondag 5 juli 2009 @ 15:14 | |||||||
count($_FILES['foto']) hangt niet af van het aantal geüploade files ![]() HaHa HuHu past zijn post gauw aan ![]() | ||||||||
GlowMouse | zondag 5 juli 2009 @ 15:15 | |||||||
Waarom geen http://nl.php.net/is_uploaded_file? | ||||||||
cablegunmaster | zondag 5 juli 2009 @ 15:16 | |||||||
hoe kan ik naar een onderliggend bestand refereren? bvb index.php en dan zit ik includes/logout.php en dan wou ik naar index.php refereren. iets met een punt? las ik. dus dan heb je bvb c:\blablabla\includes\bestand.php en van uit dat bestand wil je de naam van c:\index.php weten relatief. ik krijg nu: http://localhost:8888/cablegunmaster%20v3.0/includes/index.php ipv de map includes weg. ![]() | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 15:19 | |||||||
quote:Handige Superglobal ![]() quote:In welk opzicht? dus in plaats van wat in deze code? | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 15:20 | |||||||
Ik krijg altijd hoofdpijn van multiple array's ![]() | ||||||||
GlowMouse | zondag 5 juli 2009 @ 15:21 | |||||||
quote:if($_FILES['foto']['tmp_name'][$i] != ''){ quote:.. is een mapje hoger; ../../index.php. | ||||||||
HuHu | zondag 5 juli 2009 @ 15:22 | |||||||
quote:Ik zag 'm zelf ook, nog voordat ik jou post had gezien ![]() | ||||||||
cablegunmaster | zondag 5 juli 2009 @ 15:28 | |||||||
quote:nvm ![]() ![]() ipv /mapnaam/ ![]() kon het niet vinden omdat bovenliggende en onderliggende mappen door de war haalde ![]() | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 16:30 | |||||||
quote:Ah tuurlijk... ja wel een stuk mooier ![]() | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 19:29 | |||||||
quote:infinite loop. Ik heb er ff een echootje tussen gezet
123456789101112131415161718192021222324252627282930 etc etc :? | ||||||||
GlowMouse | zondag 5 juli 2009 @ 19:35 | |||||||
Wat zegt print_r($_FILES['foto']['tmp_name'])? | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 19:41 | |||||||
quote:Als ik voor de loop een print_r($_FILES['foto']['name']); zet krijg ik keurig [0]=>foto1.jpg, [1]=>foto2.jpg terug. Ook als ik loop op ['foto']['name'] krijg ik een infinite loop. Het gaat blijkbaar bij de count fout in de for condities. | ||||||||
GlowMouse | zondag 5 juli 2009 @ 19:43 | |||||||
Ik zie het al, die HuHu is niet zo goed met puntkomma's. Kijk eens goed naar je for-loop ![]() | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 19:46 | |||||||
damned ![]() | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 19:51 | |||||||
werkt ![]() | ||||||||
HuHu | zondag 5 juli 2009 @ 20:49 | |||||||
quote: quote:Was Swetsenegger z'n schuld hoor, ik heb zijn code ge-copy-paste ![]() | ||||||||
Swetsenegger | zondag 5 juli 2009 @ 21:01 | |||||||
![]() En volgens mij had ik hem ff snel ge copy pasted van de comments in de manual. | ||||||||
ursel | maandag 6 juli 2009 @ 08:55 | |||||||
quote:Mja, toch niet helemaal. Gooi ik er een trim omheen dan blijft het resultaat hetzelfde. Hoe ik zelf altijd heel snel test is eigenlijk als volgt:
En dan is die punt op het end om snel te zien of er nog wat achter staat. Maar goed. Blijkbaar zit er nog steeds een verschil als ik een post van het email doe ten opzichte van een hardcoded variable. $a = $_POST['email']; $b = 'F&I@bedrijf.nl'; Daaruit komt dus dat $a != $b strcmp geeft ongelijk aan, $a == $b is False en de MD5 van beide is ook anders. ![]() Beide variabelen zijn wel een string. Iemand nog suggesties hoe ik uit kan zoeken waarom ze toch verschillend zijn? Want $a komt niet door de email validatie heen en $b wel. ![]() [EDIT] Koffie halen gaat. ![]() Gezien we natuurlijk een speciale karakter mee sturen zou het daar wel eens in kunnen liggen natuurlijk. html_entity_decode maakt er weer netjes een & teken van en zorgt ervoor dat het door de validatie heen komt ![]() Slotje.. ![]() [/EDIT] | ||||||||
cablegunmaster | maandag 6 juli 2009 @ 09:40 | |||||||
even mn webhost een paar tickets aanmaken ![]() 1. 500 internal server errors zonder code is netjes maar niet fijn als je aan het debuggen bent. ![]() zoek daar een oplossing voor, aangezien de error reporting ook een 500 internal server error geeft is dit zwaar irritant ![]() 2 mn host heeft een nieuwe methode met sql verbindingen. ![]() ![]() oude manier werkt nog ![]() ze noteren in de FAQ de verbindingen helemaal verkeerd. meteen een note van gemaakt ![]() [ Bericht 15% gewijzigd door cablegunmaster op 06-07-2009 09:51:27 ] | ||||||||
Xcalibur | maandag 6 juli 2009 @ 10:50 | |||||||
Ik heb iets geks. In mijn config bestand zet ik een aantal constanten. Ik check daarna met defined() of deze constante bestaat. Defined() zou als een soort isset() moeten werken. Wat ik ook doe, hij geeft false terug (constante bestaat niet), terwijl ik het ding op dezelfde regel print! Als ik !defined() gebruik krijg ik true terug, maar dat klopt nog steeds niet. Bovendien krijg ik een warning op de defined() als de constante niet bestaat, terwijl die dat juist zou moeten checken, net zoals isset().... lijkt wel alsof die functie het gewoon niet doet ofzo, ik snap er geen zak van ![]() Iemand een idee wat hier aan de hand is? Edit: even een stukje voorbeeld code:
Dit levert dus de output "Nee: 100" op ![]() | ||||||||
HuHu | maandag 6 juli 2009 @ 10:51 | |||||||
Post eens wat voorbeeld-code. | ||||||||
cablegunmaster | maandag 6 juli 2009 @ 10:53 | |||||||
quote:hoe kan ik de $result = $db->query($sql) in een functie gebruiken? ![]() ik krijg een undefined error.
[ Bericht 74% gewijzigd door cablegunmaster op 06-07-2009 11:01:01 ] | ||||||||
HuHu | maandag 6 juli 2009 @ 10:58 | |||||||
De waarde $db meegeven aan je functie, of een global $db doen.
| ||||||||
Xcalibur | maandag 6 juli 2009 @ 10:59 | |||||||
quote:Je was me voor ![]() Zie mijn edit... | ||||||||
HuHu | maandag 6 juli 2009 @ 11:01 | |||||||
quote:De functie defined() verwacht een string en geen constant:
| ||||||||
HuHu | maandag 6 juli 2009 @ 11:03 | |||||||
@cablegunmaster
Beter is nog om de class db in een apart bestand te stoppen en die dan te laden met require_once. | ||||||||
cablegunmaster | maandag 6 juli 2009 @ 11:03 | |||||||
quote:Dankje ![]() ![]() word mn code al een stuk ingewikkelder door ![]() | ||||||||
Xcalibur | maandag 6 juli 2009 @ 11:05 | |||||||
quote:Ik wist wel dat het iets stoms zou zijn.... ![]() Maar dan werkt hij dus NIET zoals isset, zoals ze beweren.... ![]() | ||||||||
HuHu | maandag 6 juli 2009 @ 11:09 | |||||||
quote:Functies in functies gaat nog een stapje verder hoor, daar kun je maar beter niet aan beginnen ![]() | ||||||||
cablegunmaster | maandag 6 juli 2009 @ 11:10 | |||||||
quote:maak je geen zorgen daar GA ik aan beginnen ![]() ![]() Komt nog wel ![]() Ben een prutsende ICT student ![]() alles gehaald behalve OO programmeren ![]() voor de leuk een website aan het programmeren ![]() http://cablegunmaster.nl/ het kan nog niks. wel reggen en inloggen maar nog niet alle checks gedaan ![]()
ik dacht ik esc() alles met een afkorting beter dan die lange regel elke keer te tikken. maak ik er een functie voor vind hij hem niet tof .
ik zie de fout niet. [ Bericht 14% gewijzigd door cablegunmaster op 06-07-2009 11:18:32 ] | ||||||||
GlowMouse | maandag 6 juli 2009 @ 11:34 | |||||||
Je kunt geen hele query escapen, wel een string. | ||||||||
HuHu | maandag 6 juli 2009 @ 11:36 | |||||||
Nou... de fout lijkt me vrij duidelijk: mysql_escape_query() bestaat niet. Je moet mysql_real_escape_string() gebruiken en dan ook alleen maar op de variabelen in je query. | ||||||||
HuHu | maandag 6 juli 2009 @ 11:37 | |||||||
Voorbeeld:
| ||||||||
cablegunmaster | maandag 6 juli 2009 @ 11:57 | |||||||
quote: ![]() ![]() uiteindelijk :
en dit werkt wel. ![]() ![]() dit ter beveiliging van sql injectie ![]() | ||||||||
Flaccid | maandag 6 juli 2009 @ 19:35 | |||||||
Ik heb een simpel upload scriptje, maar als er een bestand van 3 mb ingaat, doet hij het niet... Bij 1,888kb lukt t wel, weet niet welke bestanden wel en niet kunnen...
[ Bericht 44% gewijzigd door Flaccid op 06-07-2009 19:49:47 ] | ||||||||
GlowMouse | maandag 6 juli 2009 @ 19:40 | |||||||
http://us3.php.net/manual/en/features.file-upload.phpquote:RTFM, onder een van die dingen is het zo te vinden ![]() | ||||||||
Xcalibur | maandag 6 juli 2009 @ 19:55 | |||||||
Waarschijnlijk is je script goed, maar staat er een setting in php.ini op 2 MB ![]() | ||||||||
#ANONIEM | maandag 6 juli 2009 @ 20:08 | |||||||
Max 2 mb is volgens mij ook een Apache instelling toch? | ||||||||
Darkomen | maandag 6 juli 2009 @ 20:48 | |||||||
Is waarschijnlijk de max ingesteld in de phpini [ Bericht 0% gewijzigd door Darkomen op 06-07-2009 20:49:43 (note: eerste de volgende pagina ff lezen...) ] | ||||||||
Xcalibur | maandag 6 juli 2009 @ 20:59 | |||||||
Ik weet niet wat Apache daarmee te maken heeft? Kan me niet herinneren daar ooit wel eens een upload limiet gezien te hebben... | ||||||||
Tuvai.net | maandag 6 juli 2009 @ 22:21 | |||||||
quote:Apache en IIS hebben dat wel degelijk hoor. En maar goed ook. Apache heeft de limit standaard op 2 MB en IIS op 4 MB. Dat limiet zit er voor een reden. ![]() Overigens ben ik sowieso niet zo'n voorstander van grote bestanden uploaden middels HTTP. Daar is dat protocol simpelweg (nog) niet voor bedoeld en het is ook erg gebrekkig. Al is 3 MB niets bijzonders. ![]() | ||||||||
Xcalibur | maandag 6 juli 2009 @ 22:29 | |||||||
Nou, dat limiet ben ik dan nog nooit tegengekomen kennelijk... ? ![]() Dat HTTP d'r niet voor bedoeld is is natuurlijk zo, maar een fatsoenlijk alternatief in je browser is er ook niet echt.... Ik heb nu nog nachtmerries van die filemanager die m'n baas per se voor z'n klanten wilde om dingen te uploaden... want FTP was te ingewikkeld ![]() ![]() | ||||||||
Light | maandag 6 juli 2009 @ 22:32 | |||||||
quote:Misschien dat een betere upload nog komt in http 4.0, maar ik reken er niet op. Ik ken situaties waar men 100+ MB via http wil uploaden. ![]() | ||||||||
Flaccid | maandag 6 juli 2009 @ 22:37 | |||||||
quote:'t Gaat om foto's te uploaden, die groter kunnen zijn dan 2 mb. Ik heb mn hostingsbedrijf gevraagd of ze hem even willen opkrikken naar 10 MB (want dat kan toch?) | ||||||||
Xcalibur | maandag 6 juli 2009 @ 22:40 | |||||||
dat zou geen probleem moeten zijn ![]() ik heb em standaard op 50mb staan, 10mb wil je nog wel eens nodig hebben.... | ||||||||
Flaccid | maandag 6 juli 2009 @ 23:04 | |||||||
quote:Heb met .htaccess wat gedaan, nu doet ie t ![]() | ||||||||
Tuvai.net | maandag 6 juli 2009 @ 23:12 | |||||||
quote: quote:Ik heb zelf ook ooit zo'n rotprojectje op het werk gehad waar de opdrachtgevers en mijn werkgevers, ondanks mijn beargumenteerde tegenadvies en raad, per sé een uploadsysteem wilden hebben voor bestanden tussen de 1 en 4 GB, dat middels een webaplicatie werkte. ![]() ![]() | ||||||||
Light | maandag 6 juli 2009 @ 23:25 | |||||||
quote:4GB uploaden via http.... lekker... er zijn wel halve oplossingen waarbij je in ieder geval nog een soort van progress bar hebt, maar het blijft behelpen. | ||||||||
Tuvai.net | maandag 6 juli 2009 @ 23:29 | |||||||
quote:Ik had daar inderdaad al een nette uploadprogress extension voor geïnstalleerd want ik had gewoon toegang op de server waar het hele goedje zich af moest spelen. Zo'n progress bar is leuk, maar blijft eye candy. Bij de minste of geringste interruptie van je verbinding is je upload naar de filistijnen, of je nou 3GB ver was of niet. | ||||||||
Light | maandag 6 juli 2009 @ 23:34 | |||||||
quote:En je had er zeker ook een functie bij ingebouwd dat er bij het bereiken van de 1GB grens een 25% kans is dat de webserver (Apache ofzo) een restart krijgt. Oh, da's lullig, upload weg ![]() | ||||||||
Xcalibur | maandag 6 juli 2009 @ 23:35 | |||||||
Herkenbaar dit ![]() | ||||||||
Flaccid | dinsdag 7 juli 2009 @ 00:01 | |||||||
quote:Hoe moet je dan aan een klant uitleggen die bijna niks van pc's weet hoe hij een foto moet uploaden? | ||||||||
Tuvai.net | dinsdag 7 juli 2009 @ 00:42 | |||||||
quote:Het ging hier niet over foto's, maar over video bestanden van 3 tot 4 GB. Dat was NADAT ze al 'gehakt' waren, want de oorspronkelijke bestanden waren groter dan 30 GB. Deze bestanden moesten onder bepaalde mensen verdeeld worden, en de situatie was toen al dat men de bestanden op een lokale FileServer deden zetten middels FTP en iedereen hier dus aan kon. Het ging met name om dat laatste, dat beter beveiligd moest worden. Iets met accounts zodat alleen maar de mensen die iets met de filmpjes te maken hadden, deze konden downloaden. Mijn voorstel was toen om een applicatie te maken met een kleine database op de achtergrond t.b.v. accounts en rechten, dat middels het FTP protocol de bestanden deed verwerken. Maar nee, dat was veel te omslachtig, uitgebreid, enzovoorts. Het moest en ZOU middels een webapplicatie moeten. Tja, ik kon op handen en voeten gaan staan. Het MOEST nou eenmaal zo. Het is achteraf natuurlijk een 'helaas pindakaas'-verhaal geworden. | ||||||||
Swetsenegger | dinsdag 7 juli 2009 @ 08:59 | |||||||
Voor die AJAX progressbars die ik tegenkom lijkt het alsof je een extensie op de server moet installeren? | ||||||||
Xcalibur | dinsdag 7 juli 2009 @ 09:01 | |||||||
Ja, die progressbars die echt zeggen wat er gebeurt heb ik ooit nooit zo begrepen.... Als ik ze al gebruik is het meestal gewoon een oneindig loopende gif ![]() | ||||||||
HuHu | dinsdag 7 juli 2009 @ 09:02 | |||||||
Jep, daarvoor moet je APC of uploadprogress hebben draaien. | ||||||||
HuHu | dinsdag 7 juli 2009 @ 09:06 | |||||||
quote:Het principe is op zich vrij simpel: je gaat een bestand uploaden en in de headers van de upload geeft je browser al mee hoe groot het totale bestand is. Zo'n extensie als APC of uploadprogress uploaden het bestand naar een aparte map op je server. Tevens geef je vanuit je browser een unieke key mee voor die specifieke upload (die key genereer je server-side zodra je het formulier laadt). Vervolgens ga je met AJAX eens in de zoveel tijd een request naar de server sturen, waarbij je de unieke upload-key mee stuurt. Aangezien je nog steeds op dezelfde HTML pagina blijft zolang de upload loopt, heb je ook nog steeds toegang tot die key middels JavaScript. APC/uploadprogress kijkt vervolgens hoe groot het bestand op de server reeds is en hoe groot het zou moeten zijn. Op basis daarvan wordt het percentage weergegeven. De verwachte tijd die het nog duurt wordt berekend op basis van de timestamp van het bestand op de server en de huidige tijd. | ||||||||
Swetsenegger | dinsdag 7 juli 2009 @ 09:16 | |||||||
quote:Ok, dus bij shared hosting is de kans relatief klein dat ze het hebben draaien | ||||||||
Tuvai.net | dinsdag 7 juli 2009 @ 09:19 | |||||||
quote:Ja. En hostingproviders staan er ook niet echt om te springen om extensions te installeren. ![]() | ||||||||
HuHu | dinsdag 7 juli 2009 @ 09:29 | |||||||
quote:Ik dacht dat één van de twee standaard werd meegeleverd met nieuwere PHP-versies, maar dat zou je even moeten navragen bij je hoster dan. | ||||||||
cablegunmaster | dinsdag 7 juli 2009 @ 11:56 | |||||||
hey, ik wou m'n inlog uitbreiden met een tijd ban maar nu wil ik een variabele meegeven $fout; dus ik dacht return $fout; maar de vraag is hoe kan ik dit true maken? en de foutmelding mee geven ![]()
functie : sql als 1 rij gevonden is return $fout; in het kort en dat werkt met return true; alleen die fout moet ook mee ![]() | ||||||||
Xcalibur | dinsdag 7 juli 2009 @ 11:57 | |||||||
quote:Waarom heb je hier dan een serverside extentie voor nodig? Alleen om de filesize van het bestand te checken? Maar dat kan toch ook gewoon met PHP? | ||||||||
#ANONIEM | dinsdag 7 juli 2009 @ 11:58 | |||||||
quote:que? | ||||||||
Tuvai.net | dinsdag 7 juli 2009 @ 12:00 | |||||||
quote:Omdat je als het ware bestandsgegevens gaat uitlezen van bestanden die nog in het uploadproces zitten, oftewel in de PHP temporary directory staan. Daarbij word tijdens het uploaden een tijdelijk tekstbestandje aangemaakt (eveneens in de PHP temp dir) met meerdere gegevens dan alleen de bestandsgrootte, zoals bijvoorbeeld het aantal bytes reeds geupload, datum start upload, etcetera. | ||||||||
cablegunmaster | dinsdag 7 juli 2009 @ 12:17 | |||||||
quote:de functie checkt of er een rij bestaat. als de rij niet bestaat gaat de code door en is hij ingelogd als hij wel bestaat komt er een foutmelding alleen wou ik wat variabele meegeven uit de functie dus ik dacht om een query te besparen, haal op wat je toch al eerder ophaalt.
maar dan toont hij de foutmelding niet want hij komt niet tussen die haakjes terecht. dus eigenlijk wilde ik
kan dat? :P | ||||||||
HuHu | dinsdag 7 juli 2009 @ 12:19 | |||||||
quote:Omdat het niet kan in PHP ![]() | ||||||||
HuHu | dinsdag 7 juli 2009 @ 12:20 | |||||||
quote:Je kunt maar één ding tegelijk returnen, want na een return stopt je methode. Je moet de fout dan eerst globaal opslaan, zodat je er later weer bij kunt. | ||||||||
raptorix | dinsdag 7 juli 2009 @ 13:12 | |||||||
Je kan eventueel een array returnen lijkt me. | ||||||||
Swetsenegger | dinsdag 7 juli 2009 @ 14:00 | |||||||
quote:Ja dat kan ![]() | ||||||||
HuHu | dinsdag 7 juli 2009 @ 14:02 | |||||||
quote:Nog beter is om alleen het resultaat te returnen en bij fouten een Exception te throwen. | ||||||||
Tuvai.net | dinsdag 7 juli 2009 @ 14:04 | |||||||
quote:Dat dus. En een array retourneren werkt ook prima. Dat doe ik overigens alleen in mijn SQL query methodes. Dan zorg ik dat ik een array terug krijg met de Identity, Error nummer en Error Message van de betreffende query. | ||||||||
raptorix | dinsdag 7 juli 2009 @ 14:50 | |||||||
quote:Jup dat vind ik ook mooier, en liefst dan een log functionaliteit gebruiken om de error in weg te schrijven. Enige tijd terug heb ik een RSS feed gemaakt op me error log, dat vond ik toch wel een heel cool concept ![]() | ||||||||
F4T4L_3RR0R | dinsdag 7 juli 2009 @ 16:29 | |||||||
Ik heb het onderstaande script met pijn en moeite bij elkaar gesprokkeld door de vele hulp die ik via diverse wegen heb gekregen, waarvoor dank voor diegenen die meelezen!
Het script doet het volgende: Laat alle tekst door naar de mailfunctie, behalve als er "NIET DOORLATEN1" , "NIET DOORLATEN2", of "NIET DOORLATEN3" in voorkomt. Komen die woorden echter voor wanneer er óók "DOORLATEN1" of "DOORLATEN2" in de tekst zit, dan moet de tekst alsnog naar de mailfunctie doorgelaten worden. Werkt allemaal fijn, maar ik besefte pas later dat ik het filteren ook heel anders aan had kunnen pakken, wat meer mijn voorkeur heeft: Alleen tekst doorlaten waarin een bepaald woord zit. Dit in tegenstelling tot het huidige script die alles doorlaat als er geen "NIET DOORLATEN1, 2 of 3 in de tekst zit. Daarna controleren of er twee woorden (NIET DOORLATEN1 of 2) in de doorgelaten tekst zit. Als twee woorden er niet in zitten, dan de tekst doorlaten. | ||||||||
raptorix | dinsdag 7 juli 2009 @ 16:59 | |||||||
Ik snap niet echt wat je bedoeld ![]() | ||||||||
F4T4L_3RR0R | dinsdag 7 juli 2009 @ 20:49 | |||||||
Heb het al opgelost. ![]() | ||||||||
wipes66 | woensdag 8 juli 2009 @ 14:13 | |||||||
Weet iemand waarom dit niet werkt in mysql 4 :? (werkt wel in mysql 5)
| ||||||||
HuHu | woensdag 8 juli 2009 @ 14:15 | |||||||
quote:Zou gewoon moeten werken dus. | ||||||||
slacker_nl | woensdag 8 juli 2009 @ 14:26 | |||||||
quote:Wat is de foutmelding die je krijgt? | ||||||||
wipes66 | woensdag 8 juli 2009 @ 14:35 | |||||||
#1064 - You have an error in your SQL syntax near 'ORDER BY date ASC LIMIT 100' at line 1 Ik heb echt geen idee waar het verder aan zou kunnen liggen ![]() | ||||||||
HuHu | woensdag 8 juli 2009 @ 14:36 | |||||||
De kolomnaam date is een reserved word, die moet tussen backticks staan:
| ||||||||
wipes66 | woensdag 8 juli 2009 @ 14:43 | |||||||
quote:Ja dat is het eerste waar ik aan dacht. Maar sorteren op id, of de naam van 'date' veranderen levert de zelfde foutmelding op... ![]() | ||||||||
Light | woensdag 8 juli 2009 @ 14:47 | |||||||
quote:Volgens mij is DATE een van de reserved words die je wel als kolomnaam mag gebruiken zonder backticks. | ||||||||
Likkende_Lassie | woensdag 8 juli 2009 @ 20:00 | |||||||
Ik wil het volgende op een site zetten: Een kaart van Nederland, met daaronder een zoekveld waar je een plaatsnaam kan invullen, vervolgens wordt er dan een pin geplaatst op de kaart. Natuurlijk is het leuk als ik dit met google maps kan doen, echter weet ik niet of google maps het ondersteund (en ik kan hier ook niets over vinden) om andere landen weg te filteren en alleen Nederland te laten staan oid. Iets wat ik wel heb geprobeer, een overlay over de maps van google met een NL kaart. Maar misschien weet iemand betere oplossingen? | ||||||||
Tuvai.net | woensdag 8 juli 2009 @ 20:06 | |||||||
quote:Euh, neem eens een kijkje naar de Google Map API voor de mogelijkheden, zou ik zeggen. ![]() | ||||||||
raptorix | woensdag 8 juli 2009 @ 20:08 | |||||||
Sowieso als je dit met GIS data buiten google om gaat doen, kost je dit klauwen vol met geld, paar jaar terug een implementatie gedaan, waar we alleen gemeente en provincie grenzen kochten, en daar betaal je al snel 1000 euro voor. Wat je kan doen is dat er alleen op nederlandse plaatsnamen gezocht kan worden, het is niet heel moeilijk om een lijstje te vinden van alle nederlandse plaatsen/gemeenten (CBS data kan je het wel vinden vermoed ik) | ||||||||
Likkende_Lassie | woensdag 8 juli 2009 @ 20:21 | |||||||
Met de API van google maps heb ik behoorlijk wat ervaring ![]() Ook al volledig gebouwd voor een sub-pagina, daar is i dan bijna fullscreen. Het alleen zoeken op Nederlandse plaatsnamen is ook geen probleem, aangezien deze in een eigen database zitten. Maarja, ik wil eigenlijk alleen Nederland laten zien, en niet de rest. Inzoomen en het verplaatsen van de kaart heb ik al uitgeschakeld, alleen zie je dan nog wel Belgie en Duitsland. Wie weet kan ik die met wit inkleuren? |