Swetsenegger | zaterdag 3 juni 2006 @ 18:55 | |||||||
![]() 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: [PHP] voor dummies - Deel 1 [PHP] voor dummies - Deel 2 [PHP] voor dummies - Deel 3 [PHP] voor dummies - Deel 4 [PHP] voor dummies - Deel 5 [PHP/(My)SQL] voor dummies - Deel 6 [PHP/(My)SQL] voor dummies - Deel 7 [PHP/(My)SQL] voor dummies - Deel 8 [PHP/(My)SQL] voor dummies - Deel 9 [PHP/(My)SQL] voor dummies - Deel 10 [PHP/(My)SQL] voor dummies - Deel 11 [PHP/(My)SQL] voor dummies - Deel 12 [PHP/(My)SQL] voor dummies - Deel 13 [PHP/(My)SQL] voor dummies - Deel 14 [PHP/(My)SQL] voor dummies - Deel 15 [PHP/(My)SQL] voor dummies - Deel 16 [PHP/(My)SQL] voor dummies - Deel 17 [PHP/(My)SQL] voor dummies - Deel 18 [PHP/(My)SQL] voor dummies - Deel 19 [PHP/(My)SQL] voor dummies - Deel 20 [PHP/(My)SQL] voor dummies - Deel 22 [PHP/(My)SQL] voor dummies - Deel 23 [PHP/(My)SQL] voor dummies - Deel 24 [PHP/(My)SQL] voor dummies - Deel 25 [PHP/(My)SQL] voor dummies - Deel 26 [PHP/(My)SQL] voor dummies - Deel 27 Zie ook: PHP goodies In dit boek uitleg over OOP, Pear, XML, etc Tutorials Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP | ||||||||
Swetsenegger | zaterdag 3 juni 2006 @ 18:56 | |||||||
Laatse twee repliesquote: quote: | ||||||||
Nevermind | zaterdag 3 juni 2006 @ 19:07 | |||||||
quote:Ik bedoel ook meer; de hele tabel in een array zetten (geen WHERE-statements) en daarna met php de child-parent relatie berekenen en tonen. @Swets: Bedankt voor de link. Het ziet eruit als overkill voor waar ik het voor nodig heb. Ik wil alleen een handig overzicht hebben van hoe mijn site in elkaar zit, zoals hieronder: ![]() De layout is maar een test. Ik wil er nog wat links in zetten zodat ik makkelijk nodes kan verplaatsen, bewerken of verwijderen. | ||||||||
Swetsenegger | zaterdag 3 juni 2006 @ 19:10 | |||||||
quote:Het is helemaal geen overkill. Je tabel bestaat uit niet meer dan 3 velden: name, lft en rgt. En daarmee kan je alles. Met 1 query kan je alles uit je tabel trekken inc parent child relatie, oneindig diep ![]() | ||||||||
Nevermind | zaterdag 3 juni 2006 @ 19:14 | |||||||
quote:Ik werd overdonderd door alle uitgebreide queries die er stonden ![]() Iets beter bekeken, en het ziet er inderdaad erg handig uit. Ik ga het proberen te implementeren ![]() | ||||||||
Roonaan | zaterdag 3 juni 2006 @ 19:15 | |||||||
jups, en voor de handigheid kan je een depth field toevoegen om dat "oneindig" diep enigszins te beperken ![]() | ||||||||
Swetsenegger | zaterdag 3 juni 2006 @ 19:26 | |||||||
quote:In het begin lijkt het heel moeilijk, maar het is inderdaad rete simpel ![]() kijk even op http://webshop.xploise.nl. Het menu is dus ook een hierarchische tabel. quote:Precies, heb ik ook gedaan in sommige gevallen. | ||||||||
DionysuZ | zaterdag 3 juni 2006 @ 21:10 | |||||||
geweldig! een nieuw topic ![]() | ||||||||
JeRa | zaterdag 3 juni 2006 @ 22:25 | |||||||
quote:Wat ik me dan afvraag. Met een directe parent <--> child relatie heb je weinig updates nodig, maar wat ik van dit relationeel model heb begrepen is dat als je ergens een item wilt plaatsen, je bijvoorbeeld alle 'right' waardes moet ophogen? Is dat niet funest als je een grote database hebt met veel updates? (vb; reacties op T.net frontpage) ![]() Oh, in het geval dat ik dit ooit eerder heb gevraagd: ![]() ![]() ![]() | ||||||||
Swetsenegger | zaterdag 3 juni 2006 @ 22:36 | |||||||
quote:alle lft EN rgt waardes 'rechts' van het in te voegen produkt inderdaad quote:Dat denk ik ook, maar reacties op een topic zou ik niet op deze manier hierarchisch opslaan. Ik denk dat dit model mooi is wanneer er meerdere levels zijn, als er alleen direkte parent <-> child relaties zijn kan je beter met een koppeltabelletje werken lijkt me. quote: ![]() | ||||||||
fokME2 | zondag 4 juni 2006 @ 02:02 | |||||||
quote:Ja, PHP blijft populair he ![]() | ||||||||
Chandler | zondag 4 juni 2006 @ 11:02 | |||||||
quote:zkers verkapte tvp.... | ||||||||
Light | zondag 4 juni 2006 @ 19:31 | |||||||
quote:De tijd in je avatar loopt een uur voor. | ||||||||
Da_Koen | zondag 4 juni 2006 @ 22:50 | |||||||
Is er toevallig iemand met een beetje verstand van FPDF? Mij lukt het namelijk niet om in mijn script genereerd ie de header/footer niet, wat doe ik verkeerd?
| ||||||||
JeRa | maandag 5 juni 2006 @ 05:49 | |||||||
@Da_Koen Als je een class extend moet je natuurlijk wel een instantie maken van de extended class, en niet van de parent class ![]() $pdf = new PDF(); | ||||||||
LeeHarveyOswald | maandag 5 juni 2006 @ 19:39 | |||||||
Ben ik weer ![]() De volgende code:
Geeft als resultaat: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/home/jeroen/www/profiel/quote.php on line 44 Wachtwoord en/of gebruikersnaam onjuist. Probeer nogmaals. (er worden dus ook 0 rijen terug gestuurd). Wat doe ik hier verkeerd? | ||||||||
Light | maandag 5 juni 2006 @ 19:57 | |||||||
Het lijkt erop dat er een fout in de query zit. Ik kan alleen niet zien waar precies. | ||||||||
BloodhoundFromHell | maandag 5 juni 2006 @ 20:00 | |||||||
Ik heb een vraagje. Als ik een mysql database importeer krijg ik de volgende error:
Ik snap er geen biet van ,want de export komt gewoon ook van een mysql database die ik lokaal heb geinstalleerd. Ik heb compatabiliy gezet op mysql 4.0 (remote draait mysql 4.0 en lokaal draai ik mysql 5.0) | ||||||||
Light | maandag 5 juni 2006 @ 20:03 | |||||||
quote:Weet je zeker dat je die compatibility goed hebt gezet? MySQL 4.0 verslikt zich in "CHARACTER SET ascii COLLATE ascii_bin". | ||||||||
LeeHarveyOswald | maandag 5 juni 2006 @ 20:05 | |||||||
quote:ben er al uit, forum gebruikt engelse namen voor de velden... ![]() | ||||||||
BloodhoundFromHell | maandag 5 juni 2006 @ 20:08 | |||||||
@Light, schijnbaar had ik dat idd toch niet goed gedaan, nu werkt het , bedankt iig. ![]() | ||||||||
BloodhoundFromHell | maandag 5 juni 2006 @ 22:32 | |||||||
weet iemand een gratis programmatje om access databases over te zetten naar mysql?? ik kan alleen maar betaalde programmas vinden | ||||||||
Swetsenegger | maandag 5 juni 2006 @ 22:49 | |||||||
quote:Ik weet niet wat dit doet, maar 'migration toolkit' geeft hoop: http://dev.mysql.com/downloads/migration-toolkit/1.0.html | ||||||||
BloodhoundFromHell | maandag 5 juni 2006 @ 22:59 | |||||||
thanks, ga ik proberen. Ik was al een eind op weg ,ik zag dat je met mijn lokaal geinstalleerde mysql 5021/phpadmin2.81 kun je ook csv importeren, die kan ik dan weer overzetten naar de mysql 4.027/phpadmin2.80 op de server (waar dat niet in kan) , zo kom ik ook een eind. | ||||||||
BaggerUser | maandag 5 juni 2006 @ 23:43 | |||||||
hallooo ik heb een FF probleem en het is een combinatie van php javascript en xhtml maar waarsch komt het hier ook wel goed het probleem kan je zien op http://rolfbroer.nl/aftrap/admin.php login met login: rolf ww: broer en probeer een nieuwe gebruiker aan te maken. in ie doet het het wel in ff kan je zodra je iets hebt ingevuld wel op de submit knop drukken maar hij submit het niet ? ik snap niet waar dit probleem vandaan komt de pagina's die hier iets mee te maken hebben zijn te downloaden op http://rolfbroer.nl/aftrap/aftrap.zip het gaat dus om de bestanden: admin/content/newuser.php en de 2 bestanden in de map ajax misschien dat jullie het een te ingewikkeld probleem vinden en ik kan moeilijk de 3 bestanden hier gaan uitleggen maar iedergeval bedankt voor als jullie een poging wagen! | ||||||||
Light | dinsdag 6 juni 2006 @ 00:03 | |||||||
Dit lijkt me een javascript / AJAX probleem, niet een php probleem. En dan preciezer bij
IE en FF / Safari gebruiken verschillende methodes om dat xmlHttp ding te maken. Een leuk voorbeeld staat hier. | ||||||||
BaggerUser | dinsdag 6 juni 2006 @ 00:05 | |||||||
maar FF pakt wel de andere button het enige verschil is dat submitten niet meer kan dan ? dus i vraag me af of het een echt ajax probleem is hoor ? | ||||||||
DionysuZ | dinsdag 6 juni 2006 @ 00:12 | |||||||
voordat je gaat sleutelen in je AJAX code, zou het niet heel simpel kunnen zijn dat je form niet werkt in deze browsers omdat er geen 'action' attribuut is? | ||||||||
DionysuZ | dinsdag 6 juni 2006 @ 00:13 | |||||||
quote: ![]()
| ||||||||
BaggerUser | dinsdag 6 juni 2006 @ 00:17 | |||||||
moet worden dus?
want dat helpt dus niet... en als ik er een action in zet helpt het ook niet ![]() | ||||||||
Light | dinsdag 6 juni 2006 @ 00:18 | |||||||
quote:Hmm... goed punt ![]() | ||||||||
DionysuZ | dinsdag 6 juni 2006 @ 00:21 | |||||||
het probleem komt me bekend voor. Ik heb het gehad bij input velden die ik had gedisabled. Die werden niet doorgegeven. Probeer eens om disabled='true' weg te laten en mbv javascript te disablen/enablen | ||||||||
BaggerUser | dinsdag 6 juni 2006 @ 11:04 | |||||||
quote:hey je hebt gelijk als ik dat weglaat en het met behulp van javascrit eable en disable werkt het | ||||||||
MTVGN | dinsdag 6 juni 2006 @ 16:16 | |||||||
Ik heb een klein probleempje. In 1 tabel in een database zit een menustructuur waarbij sommige records wel een waarde hebben bij "hoort_bij" (en daarmee verwijzen naar het hogere menu waar ze onder vallen) en anderen niet. Ik heb de volgende code:
En de functie:
Door het statement print_r($menu_array) weet ik dat de koppeling van een lager niveau aan een hoger niveau op zich werkt, maar ... de array getoonde_cpas bestaat uiteindelijk slechts uit het allerhoogste niveau, kortom de gegevens die worden opgehaald bij de recursieve aanroepen worden niet teruggegeven aan de origineel aanroepende array. En dat is nou net wel de bedoeling ... Er staat vast maar 1 klein foutje in, maar ja, wat?? | ||||||||
TheUnreal | dinsdag 6 juni 2006 @ 17:47 | |||||||
Waar kan ik tegenwoordig de apache webserver voor win32 vinden ![]() Op apache.org staat alleen de source ?! Of ben ik nou blind.. | ||||||||
JeRa | dinsdag 6 juni 2006 @ 17:53 | |||||||
quote:"Other Files" > "Binaries" ![]() | ||||||||
Swetsenegger | dinsdag 6 juni 2006 @ 21:01 | |||||||
Waarom geeft dit
terug in plaats van de verwachtte
-edit-
hiermee werkt het wel ![]() [ Bericht 10% gewijzigd door Swetsenegger op 06-06-2006 21:17:13 ] | ||||||||
ExCibular | dinsdag 6 juni 2006 @ 22:05 | |||||||
Ik heb een probleem waar ik niet helemaal uitkom. Ik heb een database met daarin tekst en de titel van de pagina. Nou hebben sommige titels wat vreemde teksten die geen juiste URL teruggeven. Dus codeer ik de titel dmv URLencode. Werkt allemaal goed. Alleen heb ik ook een titel met een single quote en daar loopt het op stuk. URLencode maakt hiervan %27 dus er staat geen single quote meer in de query maar desondanks werkt dit toch niet in een query. Hoe kan ik dit proleem verhelpen? | ||||||||
Swetsenegger | dinsdag 6 juni 2006 @ 22:08 | |||||||
urldecode? | ||||||||
ExCibular | dinsdag 6 juni 2006 @ 22:26 | |||||||
quote:Dat is niet wat ik bedoel. Ik gebruik nu URLencode en decode op mijn pagina om het menu op te bouwen en dingen uit de database te halen. Ik heb nu query met een WHERE clasule waarin ik bv naar mijnmenuitems vraag, foto%27s is daar een van. Alleen kan ik deze niet uitvoeren. interpreteert MYSQL %27 als een single quote? Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource | ||||||||
JeRa | dinsdag 6 juni 2006 @ 23:03 | |||||||
@ExCibular Wat er in de URI staat wordt door PHP op de juiste manier geparset, daar hoef je je geen zorgen over te maken. Je krijgt dus gewoon een single quote in plaats van de code hiervoor (%27). Waar je wel zorgen over moet maken is SQL injection in je queries ![]()
Op die manier wordt de quote op de juiste manier geëscapet ![]() | ||||||||
ExCibular | woensdag 7 juni 2006 @ 00:32 | |||||||
quote:Dank je wel dat is de oplossing waar ik naar op zoek was! Ik heb het volgende idee waar ik mee bezig ben. Als een pagina laadt wordt met behulp van php en mysql een array gemaakt met daarin menuitems en titels. Die array wordt vervolgens voor allerlei dingen gebruikt oa. de horizontale navigatie (dropdown menu) en verticale navigatie binnen het betreffende menu aan de rechterkant, breadcumps etc. Deze array wordt ook gebruikt om de ingevoerde string die ik uit de URI haal te matchen met een onderdeel in de array, komen ze overeen dan mag de mysql query worden uitgevoerd en worden diverse variabelen aangemaakt, komt hij niet overeen dan laat hij een 404 pagina zien. Dat was mij idee om SQL injection tegen te gaan. Nogmaals bedankt. | ||||||||
JeRa | woensdag 7 juni 2006 @ 00:39 | |||||||
quote:Prima opzet, door de input te valideren met een door jou gedefinieerde array voorkom je ook dat mensen iets in je query kunnen plaatsen ![]() ![]() | ||||||||
Desdinova | woensdag 7 juni 2006 @ 10:02 | |||||||
Ik heb een aantal stukjes code in een database staan in gewoon textformaat. Met welke functie kan ik PHP dit stukje tekst laten verwerken? dusseh, voorbeeldje:
en dan php het laten uitvoeren ![]() | ||||||||
Chandler | woensdag 7 juni 2006 @ 10:13 | |||||||
Ik heb een functie bedacht om een datum om te zetten en te laten zien wanneer iets is gemaakt.
deze functie retourneerd vandaag om 11:11 of gisteren om 10:10 etc... maar post deze om 2 redenen. Misschien dat iets gemakkelijker zou kunnen en b. of mensen nog toevoegingen zouden weten! | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 10:35 | |||||||
quote:include edit, ow in database.... even denken | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 10:54 | |||||||
Ik heb trouwens het plan opgevat om voor een bepaald project een automatische uitrol van updates te gaan bouwen. Het probleem is alleen dat de code en opmaak nog niet strict gescheiden zijn (Dat is wel op te lossen) ik geen OOP beheers en de verschillende websites subtiel in code verschillen. Vooral die laatste flexibiliteit is belangrijk. Ik wil geen produkt maken waarbij met een template parser de kleurtjes en logootjes aan te passen zijn. Ik moet dus al een generic_functions.php en site_specific_functions.php maken. waarbij de laatste op een update server per site kan verschillen natuurlijk. Op dit moment ben ik bezig zoveel mogelijk code en opmaak te scheiden. Ik heb nog nooit wat met een template parser gedaan. Gelukkig is de meeste code goed in een functie te zetten (en is dat ook handig omdat het op meerdere plekken gebruikt wordt). Versie controlle tussen website en upgrade server werkt al. Ik zit alleen met het pushen of pullen van de update files en hoe ik dat ga aanpakken. Op- en aanmerkingen zijn welkom ![]() | ||||||||
MTVGN | woensdag 7 juni 2006 @ 11:34 | |||||||
quote:function haal_niveau_lager(&$menu_array, $teller) Zucht, 1 klein foutje inderdaad ... | ||||||||
Desdinova | woensdag 7 juni 2006 @ 11:57 | |||||||
quote:eval() is het waarschijnlijk ![]() | ||||||||
fokME2 | woensdag 7 juni 2006 @ 14:57 | |||||||
quote:Maar dat is natuurlijk niet zo netjes? Waarom heb je eigenlijk phpcode die je wil uitvoeren in je database staan? ![]() | ||||||||
ralfie | woensdag 7 juni 2006 @ 15:16 | |||||||
Ik ben er vandaag achter gekomen dat je voorzichtig moet zijn met het chmod commando... Op de een of andere manier heb ik het voor mekaar gekregen om de hele directory waar mijn site in staat the chmodden naar 0. Omdat mijn ssh connectie niet eens bij de directory kan die gechmod is (ik upload naar een subdir van de gechmodde directory), en geen php werkt (de hele site is nu onzichbaar) is er geen manier voor mij om het ongedaan te maken behalve door een mailtje te sturen naar de helpdesk ![]() Ik denk ik waarschuw maar even voor het geval er nog grotere mongolen als ik de toegang tot php hebben ![]() | ||||||||
JeRa | woensdag 7 juni 2006 @ 16:01 | |||||||
@ralfie Met je SSH-connectie moet je gewoon kunnen inloggen en de rechten weer goed zetten. Jij kunt namelijk alle bestanden en directories waarvan jij de eigenaar bent chmodden. Kun je dit niet, dan moet jouw webhoster nog eens ernstig nadenken over hun opzet ![]() | ||||||||
JeRa | woensdag 7 juni 2006 @ 16:02 | |||||||
quote:Dat dus. | ||||||||
JeRa | woensdag 7 juni 2006 @ 16:04 | |||||||
quote:Hoe laat je de updates uitvoeren? Via de webserver? Besef dan dat alle bestanden door de webserver schrijfbaar moeten zijn, en dat dit als standaardinstelling natuurlijk niet echt veilig is om een website op te laten draaien. Beter lever je zo'n updatesysteem buiten de webroot om, waarbij er goed wordt gekeken naar de rechten van de bestanden ![]() | ||||||||
ralfie | woensdag 7 juni 2006 @ 16:13 | |||||||
quote:Nee, de map waar ik denk dat het probleem zit is hoger als de hoogste map waar ik met SSH kan komen...Ik hoop alleen dat er iemand bij die helpdesk zit die weet wat chmodden is, anders zal het nog wel even duren voordat de site weer werkt ![]() | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 16:33 | |||||||
quote:Nee de website trekt een changelog van de update server. en de php moet vervolgens bv function.php aanpassen dmv file() en fwrite endergelijke. Hoe bedoel je buiten de webroot om? | ||||||||
JeRa | woensdag 7 juni 2006 @ 16:39 | |||||||
quote:Dus alle bestanden en directories moeten writable voor de webserver zijn. In het geval van een exploit kunnen kwaadwilligen dan dus eigen PHP-files wegschrijven? ![]() quote:De webserver heeft meestal een webroot voor een website wat de hoogst mogelijke directory is waar een bezoeker bestanden mag opvragen. Door een updatescript buiten deze webroot via bv. SSH uit te voeren zou je mogelijke exploits al kunnen voorkomen, maar als je het via de website wilt doen is daar dus geen sprake van. ![]() | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 16:44 | |||||||
quote:Neuh, specifieke website bestanden moeten inderdaad writable zijn. Niet alles. Maar dat is inderdaad een risico ja... quote:Ik snap nog steeds niet hoe je buiten die webroot bestanden IN de webroot wilt updaten? misschien wat extra uitleg. Het is dus de bedoeling dat de te updaten website dmv een versie check controleert of een update beschikbaar is. Zoja, krijgt de eigenaar de mogelijkheid om 'update' te klikken. Dat gaat verwijzen naar een pagina, bv update.php die een changelog van de centrale server moet pullen. Dit zal een xml ofzo zijn, waarmee update.php vervolgens de bestanden gaat updaten welke hieraan onderhevig zijn ( ![]() Update.php heeft dus alleen 'inhoud' als er een update is. En die zal bij elke update anders zijn. De logica voor de update wil ik zoveel mogelijk op de website zelf hebben. Ik wil dus een functie 'add_menu_item' en 'add_page' maken of iets dergelijks. Indien de changelog aangeeft dat een bepaalde pagina gemaakt moet worden, zal de functie op de website die pagina aanmaken (en dus de menu verwijzing naar die pagina). Maar als ik hier over nadenk is dat inderdaad wel vragen om exploits natuurlijk ![]() -edit2- Ik kan alle logica natuurlijk ook op de update server houden, welke vervolgens de geupdate bestanden dmv ssh of ftp de onderhevige server op pushed. Dat bedoel jij waarschijnlijk JeRa? Het probleem is alleen dat elke website subtiel kan verschillen. Vandaar dat ik de update logica per website wilde schrijven en toevoegen AAN die website. Ik kan nu nog alle kanten op (min of meer) dus alle op- en aanmerkingen zijn welkom. [ Bericht 18% gewijzigd door Swetsenegger op 07-06-2006 17:06:43 ] | ||||||||
JeRa | woensdag 7 juni 2006 @ 17:12 | |||||||
quote:Dit is denk ik zodanig moeilijk (zeker bij meerdere websites tegelijk) dat je echt een gruwelijk goed gedocumenteerde opzet moet hebben om dit vlekkeloos voor elkaar te krijgen ![]() | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 17:21 | |||||||
quote:Daarom maak ik 'generic' files, die zijn voor elke website hetzelfde en zullen het meeste aanpassing vereissen. En daarnaast nog site specifieke files, welke dus met logica OP de website aangepast kunnen worden (de generic files is een kwestie van gewoon overschrijven en kan vanaf de update server). Het zal dus ook simpelweg niet mogelijk zijn om ALLE updates automatisch uit te rollen. Maar ik heb nu 1 website 'life' draaien en 1 test website. En ik merk nu vaak dat ik kleine verbeteringen heb doorgevoerd, die ik redelijk eenvoudig aan de live website kan toevoegen/doorvoeren/aanpassen maar ik dat a. vaak vergeet of b. Twee weken later eens oppak en dan bv 1 paginaatje vergeet te updaten (Ow ja... die moest ook nog) Maar mbt de exploits, nog ideeen? | ||||||||
JeRa | woensdag 7 juni 2006 @ 17:32 | |||||||
quote:Geen, eigenlijk. Gewoon ervoor zorgen dat je geen exploits toestaat door bugvrije scripts te schrijven ![]() | ||||||||
LeeHarveyOswald | woensdag 7 juni 2006 @ 18:09 | |||||||
ik zit weer es vast ![]() ![]() | ||||||||
DionysuZ | woensdag 7 juni 2006 @ 18:28 | |||||||
quote:group by? ![]() iets als SELECT SUM(getal),naam FROM bla GROUP BY naam | ||||||||
JeRa | woensdag 7 juni 2006 @ 18:29 | |||||||
quote:
| ||||||||
LeeHarveyOswald | woensdag 7 juni 2006 @ 18:30 | |||||||
![]() ![]() | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 19:16 | |||||||
quote:Ja precies ![]() Of heb je een betere manier voor mij om dit aan te pakken? Dus, push vanaf update server of pull vanaf website. Of nog iets anders? | ||||||||
JeRa | woensdag 7 juni 2006 @ 19:31 | |||||||
quote:Een pull vanaf de website lijkt me het beste; omdat je de administrator dan ook inzicht kunt geven in de veranderingen (en bv. een diff kunt tonen als de eigenaar wijzigingen heeft aangebracht in het script ![]() Je moet rekening houden met het feit dat de webserver dus de eigenaar moet zijn van de bestanden die worden gewijzigd; dus ofwel alles onder de user van de webserver scharen of ervoor zorgen dat de webserver draait onder de juiste gebruiker. Zodra je gaat updaten alle directories en files waarbij het nodig is chmodden, aanpassen en weer terug chmodden naar een staat waarbij ze niet aanpasbaar zijn. Mogelijk vóórdat je dit proces uitvoert een .htaccess wegschrijven waarmee het onmogelijk wordt om tijdens het updateproces bestanden op te vragen ![]() | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 19:59 | |||||||
quote:Ik wilde de eigenaar inderdaad de mogelijkheid geven om een update niet uit te voeren. wat bedoel je met een diff? je opmerkingen over chmodden en .htaccess is een hele goede inderdaad, daar had ik nog niet aan gedacht! | ||||||||
JeRa | woensdag 7 juni 2006 @ 20:08 | |||||||
quote:Als de eigenaar van een website die door jou wordt verzorgd in een gekke bui iets heeft aangepast in een bestand dat geüpdatet dient te worden, dan gaat dat niet goed natuurlijk ![]() ![]() Met die .htaccess moet je oppassen trouwens; het updatescript zelf moet niet uitgesloten worden. Als er iets halverwege fout gaat zou de eigenaar niet meer bij z'n site kunnen ![]() | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 20:41 | |||||||
Ah zo. Updaten betekent overschrijven. Moettie maar niet zelf kloten ![]() | ||||||||
BloodhoundFromHell | woensdag 7 juni 2006 @ 21:46 | |||||||
hoi , weer een klein beetje hulp gevraagd ! ![]()
waarom werkt dit zoekscriptje niet? ik krijg een error op line 41 ![]() quote: | ||||||||
JeRa | woensdag 7 juni 2006 @ 21:47 | |||||||
@BHFH Doe eens dit:
![]() | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 21:50 | |||||||
En het eerste probleem alweer ![]() Ik probeer chmod via php
safe mode staat uit, dus dat is het probleem niet. Het enige wat ik kan bedenken is dat de eigenaar van config.php (ftp user) niet dezelfde is als de gebruiker (php script). Dus moet ik chown gebruiken, maar daarvoor moet ik weer weten 'wie' het php script is. Hoe kom ik daar achter ![]() | ||||||||
BloodhoundFromHell | woensdag 7 juni 2006 @ 21:53 | |||||||
quote:werkt niet, dan zegt hij dit:
| ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 21:54 | |||||||
quote:En wat is lijn 41 in je script? | ||||||||
JeRa | woensdag 7 juni 2006 @ 21:55 | |||||||
@Swetsenegger chown gaat niet lukken, behalve als je root bent ![]() ![]() | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 22:08 | |||||||
quote:waar voer ik dat uit? Ik gebruik nu het ftp alternatief, maar dat is (traag) gepijpzeik. | ||||||||
JeRa | woensdag 7 juni 2006 @ 22:09 | |||||||
quote:In een PHP-scriptje dat je via de webserver uitvoert:
| ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 22:13 | |||||||
quote:Grappig, die kon ik niet. Ok, ik weet nu wie de gebruiker is. Hoe zorg ik ervoor dat de file nu ook die eigenaar krijgt? Want dat is weer nodig om chmod te kunnen uitvoeren ![]() Dan moet ik de file in eerste instantie via PHP aanmaken en schrijven. een initialisatie file maken ofzo? Maar dat is nogal een ge OH bedenk ik me ![]() | ||||||||
BloodhoundFromHell | woensdag 7 juni 2006 @ 22:14 | |||||||
@jera , nog ideeen? of heeft iemand wellicht anders nog een beter zoekscriptje ergens? | ||||||||
JeRa | woensdag 7 juni 2006 @ 22:15 | |||||||
@Swetsenegger Je kunt de eigenaar van het bestand niet veranderen zonder dat je root bent. Anders is het een kwestie van een simpele chown ![]() Dit soort dingen is de reden waarom ik mod_ruid gebruik op m'n webserver ![]() | ||||||||
BloodhoundFromHell | woensdag 7 juni 2006 @ 22:15 | |||||||
quote:dat waren de lines die jera had gegeven. | ||||||||
JeRa | woensdag 7 juni 2006 @ 22:16 | |||||||
quote: ![]() Je bent volgens mij vergeten een haakje af te sluiten bij die() ![]() | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 22:22 | |||||||
quote:Dat is dus mooi kut ![]() Of ik moet via de FTP optie de files chmodden OF ik moet bij het opzetten van de website alle files via een initialisatiescript aanmaken. Want het hele idee achter automatische updates uitrollen is dat die websites niet allemaal op een door mij te beheresen webserver draaien ![]() | ||||||||
JeRa | woensdag 7 juni 2006 @ 22:24 | |||||||
Chandler was toch bezig met een project dat precies dat en meer kon doen? ![]() | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 22:27 | |||||||
quote:Dat was meer een compressie en uitpak traject geloof ik. Maar ik hoef trouwens niet via PHP de eigenaar te veranderen. Dat mag wmb ook via ftp eigenlijk. | ||||||||
JeRa | woensdag 7 juni 2006 @ 22:30 | |||||||
quote:...daar heb je dus rootrechten voor nodig, die de meeste mensen ook niet via FTP hebben ![]() | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 22:41 | |||||||
quote:*vloekt zachtjes* Ok...., een initialisatie script schrijven dus ![]() | ||||||||
JeRa | woensdag 7 juni 2006 @ 22:46 | |||||||
Oh, truuk om van eigenaar te veranderen bestaat wel trouwens. 1) Lees het hele bestand naar het geheugen 2) Verwijder het bestand 3) Maak het bestand opnieuw aan (gebruiker is nu de webserver als je dit via een PHP-script doet) 4) Schrijf de data in het geheugen weer weg naar het bestand | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 22:53 | |||||||
quote:Ehmz... is stap 2 niet het zwakke punt in dit betoog? Ik krijg tenminste een permission denied op de unlink optie [ Bericht 5% gewijzigd door Swetsenegger op 07-06-2006 23:01:07 ] | ||||||||
JeRa | woensdag 7 juni 2006 @ 22:58 | |||||||
quote:Bestanden verwijderen is mogelijk als je de eigenaar van de bovenliggende directory bent ![]() | ||||||||
Swetsenegger | woensdag 7 juni 2006 @ 23:02 | |||||||
quote:Hmz ja dat kan dat ik de file via ftp functies in php verwijder en vervolgens met fwrite weer gewoon schrijf. | ||||||||
BloodhoundFromHell | donderdag 8 juni 2006 @ 00:04 | |||||||
het werkt nu wel op zich en ik kan de resultaten van de search niet zien op de 1 of andere manier. Ik zie dus wel hoeveel resultaten er zijn en of die er zijn,. maar er zit nog geen "toon de resultaten" code in. Hoe kan ik dat het beste invoegen?
sorry voor de vragen ik ben nog slechts een beginner op het php vlak. | ||||||||
ralfie | donderdag 8 juni 2006 @ 10:28 | |||||||
quote:ik ben erachter gekomen dat ik niet met chmod, maar met dit grapje mijn hele website heb verkloot. Omdat door een foutje geen bestandsnaam is toegevoegd heeft php de rootdirectory ingelezen als bestand, toen de directory verwijdert en daarna een bestand aangemaakt met de inhoud van het mapbestand. Keertje checken op is_dir() is dus geen overbodige luxe ![]() | ||||||||
Swetsenegger | donderdag 8 juni 2006 @ 10:32 | |||||||
quote:Sorry, maar... LOL | ||||||||
ralfie | donderdag 8 juni 2006 @ 15:21 | |||||||
quote:ja, idd, LOL hoe dan ook, het is weer gefixt, ik had een symlink veranderd oid (geen idee wat dat mogen zijn, maar het werkt iig weer ![]() | ||||||||
LeeHarveyOswald | donderdag 8 juni 2006 @ 17:18 | |||||||
Ik ben mezelf behoorlijk vast aan het programmeren... Wat ik in totaal wil (waar ook de eerdere vragen voor waren) is zoiets als dit: 1. Ik selecteer uit database 'words' de id keys van een aantal woorden (keywords die ingevuld zijn in form). 2. Uit een andere tabel ('Sites')ga ik dus opzoek naar die keywords, dit moet in "and" vorm gebeuren, daaruit wil ik de sites selecteren waar En keyword X, en Keyword Y, Z, ... voorkomen. Dit moet per site op punten gegroepeerd worden, en gesorteerd. Hoe ga ik dit qua query aanpakken? ![]() | ||||||||
BloodhoundFromHell | donderdag 8 juni 2006 @ 17:37 | |||||||
Mijn zoekfunctie werkt inmiddels trouwens. Ik heb een iets simpeler en beter basisscript gebruikt en die aangepast aan mijn database. de google functie heb ik daar weer ingepast ![]() ![]() | ||||||||
Darkomen | vrijdag 9 juni 2006 @ 13:01 | |||||||
Vraagje, ik weet dat je met php pdf files kan maken, maar kan je ook aan een bestaande pdf een wachtwoord toevoegen doormiddel van php? | ||||||||
JeRa | zaterdag 10 juni 2006 @ 12:30 | |||||||
quote:Op de manier zoals jij het doet krijg je ofwel een query per woord of een UNION oid, en het wordt lastig om daar een score aan toe te kennen ![]() ![]() | ||||||||
JeRa | zaterdag 10 juni 2006 @ 12:32 | |||||||
quote:Voor zover ik weet kan dat niet zomaar; er is in ieder geval erg weinig op Google over te vinden. | ||||||||
Darkomen | zondag 11 juni 2006 @ 12:44 | |||||||
Daar kon ik dus ook weinig over vinden. Html 2 pdf en dan een wachtwoord erop is geen probleem. maar waarom zou je dat dus niet achteraf kunnen doen. | ||||||||
boebiedoe | maandag 12 juni 2006 @ 12:31 | |||||||
Mensen, ik heb een php script waarbij hij uit 1 tabel data haalt er neerkalkt, maar nu wil ik dat hij tweede row uit een andere tabel ernaast zet. Dus 2 rijen met gegevens.
Iemand? ![]() | ||||||||
Swetsenegger | maandag 12 juni 2006 @ 12:36 | |||||||
quote:En wat is de relatie tussen die 2 tabellen? | ||||||||
Roonaan | maandag 12 juni 2006 @ 16:15 | |||||||
quote:
| ||||||||
JeRa | maandag 12 juni 2006 @ 16:31 | |||||||
@Roonaan Dat is niet de bedoeling. Hij wil een tweede kolom met data uit een andere tabel. Wat jij doet is de beschikbare data verspreiden over twee kolommen. | ||||||||
Roonaan | maandag 12 juni 2006 @ 16:42 | |||||||
quote:kzie het. Dan wordt het float:leften ![]() | ||||||||
Swetsenegger | maandag 12 juni 2006 @ 16:43 | |||||||
of met een join in 1 query de data eruit trekken. | ||||||||
DionysuZ | maandag 12 juni 2006 @ 17:46 | |||||||
quote:of eerst de data uit de tabellen trekken en daarna pas de output genereren ![]() | ||||||||
JeRa | maandag 12 juni 2006 @ 18:37 | |||||||
Of we kunnen natuurlijk eerst even wachten tot Boe vertelt wat ie nu wil. | ||||||||
fokME2 | maandag 12 juni 2006 @ 18:41 | |||||||
Nee, dat wordt te makkelijk ![]() | ||||||||
nonzz | maandag 12 juni 2006 @ 19:13 | |||||||
Misschien iets voor in de OP: http://www.hudzilla.org/phpbook/index.php Erg fijn online PHP boek met voorbeelden en uitleg e.d. | ||||||||
Swetsenegger | maandag 12 juni 2006 @ 19:15 | |||||||
quote:Dat zeg ik ![]() | ||||||||
Roonaan | maandag 12 juni 2006 @ 20:22 | |||||||
Nog geen php golf-8 topic? | ||||||||
Swetsenegger | dinsdag 13 juni 2006 @ 16:15 | |||||||
quote:Het is te warm om diep na te denken ![]() | ||||||||
Nevermind | dinsdag 13 juni 2006 @ 21:21 | |||||||
Erg moeilijke golf trouwens. Of ik ben gewoon te newbie. Stomme 7 en 9-toetsen die weer 4 letters moeten hebben ![]() | ||||||||
Light | dinsdag 13 juni 2006 @ 21:31 | |||||||
quote:Helemaal mee eens ![]() | ||||||||
SuperRembo | woensdag 14 juni 2006 @ 00:21 | |||||||
quote:Ik heb 't oude topic ff een schop gegeven. | ||||||||
super-muffin | woensdag 14 juni 2006 @ 16:09 | |||||||
TVP, ik ben net begonnen met PHP ![]() http://danielpunt.nl/PHP/template.php?page=body&style=default | ||||||||
Darkomen | woensdag 14 juni 2006 @ 16:51 | |||||||
1ste tip, check altijd je userinput! Ga maar eens naar deze link http://danielpunt.nl/PHP/template.php?page=body&style=DITZOUNIETMOGEN!!! en bekijk je bron. Nu haalt dit niets uit natuurlijk, maar er kan heel veel fout gaan. | ||||||||
super-muffin | woensdag 14 juni 2006 @ 19:47 | |||||||
Wat heb je nu precies gedaan en hoe zorg ik er voor dat je het niet meer kan doen? | ||||||||
fokME2 | woensdag 14 juni 2006 @ 19:54 | |||||||
Hij heeft de url veranderd. Daardoor veranderd in jou script de waarde $_GET['style']. Je controleert in je script niet wat er in $_GET['style'] staat. | ||||||||
Swetsenegger | woensdag 14 juni 2006 @ 20:25 | |||||||
quote:Je geeft in de url, welke door iedereen in zijn browser natuurlijk vrij te veranderen is, gegevens mee welke je in je script gebruikt. In dit geval gebruik je een gegeven om een bepaalde stijl in te lezen. Maar in sommige gevallen ga je het bv ook gebruiken om bepaalde items uit een database te halen. Of je gaat een gebruiker via een formulier dingen in laten vullen die je in je database wil zetten. In beide gevallen kan een slim persoon door de gevens in URL of formulier te manipuleren bijvoorbeeld gegevens uit de database halen welke niet voor hem bedoeld zijn. Of hij kan de hele database wissen of.... Kortom, ALLES wat de gebruiker in kan vullen of kan manipuleren moet je in je script controleren of het wel daadwerkelijk de inhoud bevat die jij verwacht. Bijvoorbeeld jij verwacht in je script dat de variabele $_GET['style'] een van de volgende waarden bevat: default grijs blauw etc. Je moet nu dus $_GET['style'] controleren of het wel een van de waarden bevat die je verwacht. bijvoorbeeld door een switch statement: | ||||||||
super-muffin | woensdag 14 juni 2006 @ 20:56 | |||||||
En wat moet 'ie doen als $style is wat ik verwacht en wat als het iets anders is? En waarom switch gebruiken en geen if? | ||||||||
JeRa | woensdag 14 juni 2006 @ 20:59 | |||||||
quote:Wat dacht je van een standaard style gebruiken? ![]()
quote:Kwestie van keuze. Een switch is vaak overzichtelijker dan een if ![]() | ||||||||
fokME2 | woensdag 14 juni 2006 @ 21:39 | |||||||
quote:Tuurlijk begin meteen met array's ![]()
quote:Ik vind een switch meestal fijner werken. Inderdaad doordat het overzichtelijker is. ![]() | ||||||||
Swetsenegger | woensdag 14 juni 2006 @ 22:11 | |||||||
quote:Zoals de rest zegt. Als het is wat je verwacht (dus in jouw geval een kleur zoals blue, red, grey) de bijbehorende stijl tonen. Indien het iets anders is een default stijl tonen, of met een echo de gebruiker helemaal de pestpleuris schelden ![]() -edit- de defauilt stijl tonen zou mijn voorkeur hebben omdat je pagina er dan OOK goed uitziet wanneer ze er zonder paramaters in de url terecht komen. | ||||||||
Light | woensdag 14 juni 2006 @ 22:38 | |||||||
quote:Dan kan korter ![]() quote:En in dit geval heeft een array mijn voorkeur boven een switch, gewoon omdat je een array makkelijk in een los configbestand kunt zetten en dan alleen die maar hoeft aan te passen als er een nieuwe stijl bij komt. | ||||||||
JeRa | woensdag 14 juni 2006 @ 22:41 | |||||||
quote:Weet ik, maar dan moet ik twee keer $_GET typen en daar heb ik een hekel aan ![]() | ||||||||
Swetsenegger | woensdag 14 juni 2006 @ 22:41 | |||||||
quote: ![]() De jongen is net begonnen he... | ||||||||
fokME2 | woensdag 14 juni 2006 @ 23:42 | |||||||
Ja, maar aan de andere kant is goed beginnen niet erg:
| ||||||||
Light | woensdag 14 juni 2006 @ 23:50 | |||||||
quote:Ctrl-C, Ctrl-V ![]() | ||||||||
Roonaan | woensdag 14 juni 2006 @ 23:54 | |||||||
$_G<enter> | ||||||||
fokME2 | donderdag 15 juni 2006 @ 00:17 | |||||||
In welke editor Roonaan? | ||||||||
SuperRembo | donderdag 15 juni 2006 @ 22:47 | |||||||
quote:Wow, dat scheelt 1 toetsaanslag ![]() | ||||||||
LeeHarveyOswald | donderdag 15 juni 2006 @ 22:47 | |||||||
Ik wil een query binnen een query uitvoeren, maar hoe ding dit ook al weer in SQL? Als ik de query (die geen errors geeft) nu print, is dit wat er staat: quote:De code is:
In de tabel Auto staat Volvo C70 met ID 1. De tabel verhuur is leeg. Iemand een idee hoe dit werkend te krijgen? ![]() | ||||||||
ExCibular | donderdag 15 juni 2006 @ 22:57 | |||||||
quote:Volgens mij heten die dingen subqueries http://dev.mysql.com/doc/refman/5.0/en/subqueries.html Ik ben absoluut geen expert maar kan het niet zijn dat je 2 singlequotes bent vergeten rondom $datum? | ||||||||
Swetsenegger | donderdag 15 juni 2006 @ 22:59 | |||||||
quote:Subqueries, maar die werken pas vanaf MySQL 5. Maar volgens mij moet dit met een join op te lossen zijn. | ||||||||
LeeHarveyOswald | donderdag 15 juni 2006 @ 23:08 | |||||||
$sql = "SELECT * FROM Auto WHERE NOT EXISTS (SELECT AutoID FROM Verhuur WHERE Terugbrengdatum > '$datum')"; werkt ![]() ![]() | ||||||||
JeRa | donderdag 15 juni 2006 @ 23:15 | |||||||
@LeeHarveyOswald Je wilt alle auto's opvragen die niet voorkomen in de verhuurlijst met auto's die teruggebracht moeten worden na $datum? Waarom een subquery? Daar zijn JOINs voor:
| ||||||||
LeeHarveyOswald | donderdag 15 juni 2006 @ 23:19 | |||||||
Die onthoud ik gelijk even ![]() Alleen als ik de regel echo "<tr><td><p><a href='index.php?function=carinfo&carinfo=$AutoID'>$Fabrikantnaam</a></p></td><td>$Type</td><td><p><a href='index.php?function=huur&carid=$AutoID'>$Huurprijs</a></p></td></tr>"; Uitvoer, dan komt C70 (onder Type) een halve regel te laag te staan? :S | ||||||||
SuperRembo | donderdag 15 juni 2006 @ 23:23 | |||||||
quote:In dit geval kan het inderdaad ook makkelijk met een join in plaats van de subquery. De versie met "where not exists(...)" vertelt wel duidelijker wat er gebeurt. | ||||||||
ExCibular | donderdag 15 juni 2006 @ 23:24 | |||||||
Ik ben bezig met het maken van een systeem voor een confirmed opt in nieuwsbriefsysteem. Maar ik zit nu al een tijdje vast. Ik heb een formulier en de waarden daarvan worden verwerkt in een een functie process_nieuwsbrief. Deze functie moet uiteindelijk 3 activiteiten hebben, hij controleert userinput, hij stopt de gegevens in de database en hij verstuurt een email. Om de email te versturen heeft hij het ID nodig van het net in de datase ingevoerde emailadres. De functie ziet er dan ook ongeveer als volgt uit.
Het eerste stuk van de code gaat helemaal goed, hij checked de userinput en zet indien akkoord de gegevens in de database. Alleen het laatse stuk gaat fout. Hij laat de gegevens uit de while loop niet zien geeft ook geen error als ik mysql_erro() toevoeg. Als ik de code los probeer laat hij wel netjes de gegevens uit de database zien alleen zo niet. Waaraan kan dit liggen?? [ Bericht 10% gewijzigd door ExCibular op 15-06-2006 23:30:05 ] | ||||||||
Swetsenegger | donderdag 15 juni 2006 @ 23:29 | |||||||
$id=mysql_insert_id(); | ||||||||
ExCibular | donderdag 15 juni 2006 @ 23:38 | |||||||
quote:Dank je wel dat deed de truc! | ||||||||
the_disheaver | vrijdag 16 juni 2006 @ 15:15 | |||||||
tvp systeem toch maar in mysql aan het zetten... Kon ik beter direct doen... | ||||||||
ExCibular | zaterdag 17 juni 2006 @ 13:36 | |||||||
Mijn nieuwsbrief werk nu. Alleen is er iets geks aan de hand. local draait hij perfect, alleen nu ik heb hem upgeload weigert hij een MYSQL query uit te voeren. In de email om de aanmelding te bevestigen staat een link en als men daarop klikt moet in de DB actief omgezet worden van no naar yes. Dat doe ik met de volgende code:
Zoals gezegd thuis werkt dit perfect maar op een webserver doet hij dit niet goed. Ik krijg wel de zin de aanmelding is succesvol te zien maar in de DB staat actief nog steed op no. | ||||||||
Swetsenegger | zaterdag 17 juni 2006 @ 14:28 | |||||||
werkt dit wel? | ||||||||
Lynx666 | zaterdag 17 juni 2006 @ 15:11 | |||||||
even een PHP only vraag: Aan het begin van m'n script define ik enkele constants: Deze waardes wil ik gebruiken voor een simpele button bar, kan ik per entry bepalen welke acties erop uitgevoerd mogen worden, gebruik makend van bitwise operators, even versimpeld:
Deze moet achter de string de 2 knoppen voor editen en deleten weergeven. De functie ButtonBar controleert de flags als volgt (versimpeld):
Probleem is, m'n logs spugen "Use of undefined constant [..]" notices uit, en als ik EDIT of DEL echo dan laat het doodleuk "EDIT" of "DEL" zien in plaats van hun vooraf gedefineerde waardes... Voor zover ik het begrijp zouden defined constants global te gebruiken moeten zijn dus ook in functies als ButtonBar. Zie ik nu iets over het hoofd dat het script niet werkt zoals het zou moeten? | ||||||||
Ajaxfan | zaterdag 17 juni 2006 @ 15:52 | |||||||
Ik ben bezig met een simpel login script. Het is me al gelukt om een registratie te laten verwerken in een Mysql database. Alleen nu is het dus de bedoeling dat hij de username en het wachtwoord uit de database haalt. Ik krijg dan de melding die je krijgt als de connectie met de database mislukt is: Sorry kan niet inloggen dus. Ik heb zelf geen idee waar het aan ligt. Dit is mijn login script: quote:En dit is me login verwerken script: quote: | ||||||||
Lynx666 | zaterdag 17 juni 2006 @ 16:01 | |||||||
quote:verander
eens in
| ||||||||
ExCibular | zaterdag 17 juni 2006 @ 16:36 | |||||||
quote:Nee dat werkt ook niet. Ik blijf nog even door proberen. | ||||||||
DionysuZ | zaterdag 17 juni 2006 @ 18:05 | |||||||
Je script is heel erg gevoelig voor SQL injectie. Verder is het NIET verstandig om wachtwoorden niet gecodeert op te slaan in een database. Mocht iemand toegang tot de database krijgen krijgt deze ook toegang tot alle usernames en wachtwoorden, en aangezien mensen vaak dezelfde wachtwoorden gebruiken kunnen deze kwaadwillenden vaak deze wachtwoorden op meerdere plaatsen gebruiken. Dat is niet wat je wil. Daarnaast kan ik makkelijk als iemand inloggen zonder zijn/haar wachtwoord of username te hoeven weten. Ik hoef dan alleen maar de session ID te verkrijgen en ik heb toegang. | ||||||||
JeRa | zaterdag 17 juni 2006 @ 18:19 | |||||||
quote:Constants zijn per definitie globals in PHP, dus ik heb echt geen idee waarom het niet zou werken ![]() | ||||||||
Lynx666 | zaterdag 17 juni 2006 @ 18:44 | |||||||
quote:Dat dacht ik dus ook ![]() De defines en functies staan beide in hetzelfde php bestand en gebruik PHP 5.0.3. edit: Hmm vreemd! Ik heb de defines nu helemaal bovenaan gezet (zaten eerst nog wat zaken tussen als general purpose includes en database connects) en dat lijkt wél te werken. [ Bericht 13% gewijzigd door Lynx666 op 17-06-2006 18:53:37 ] | ||||||||
Ajaxfan | zaterdag 17 juni 2006 @ 19:17 | |||||||
Ik heb die tip van jou geprobeerd Lynx maar nog steeds blijf ik die melding krijgen. ![]() | ||||||||
JeRa | zaterdag 17 juni 2006 @ 19:50 | |||||||
quote:Als je geen verbinding met de database kunt krijgen zal geen enkele query werken ![]() ![]() | ||||||||
guitarist | zondag 18 juni 2006 @ 01:57 | |||||||
JeRa | zondag 18 juni 2006 @ 08:48 | |||||||
quote:Die text schrijf je waarschijnlijk naar de afbeelding met de functie imagefttext(), niet? Nou, met imageftbbox() kun je de bounding box (en dus o.a. de breedte) opvragen ![]() | ||||||||
Oldbie | zondag 18 juni 2006 @ 10:53 | |||||||
Ik heb een oud PC'tje als gameserver draaien. Compleet met een MySQL database om highscores etc op te slaan. Nu heb ik een betere PC op de kop weten te tikken en ik wil alles overrzetten. Natuurlijk wil ik de highscores niet verliezen dus moet de MySQL database ook over. M.b.v. phpMyAdmin kan ik bij mijn database komen en daar staat iets van exporteer. Even een printscreen: ![]() Doe ik het zo goed? Kan ik het bestand welke gegenereerd wordt gewoon op de nieuwe PC importeren waardoor alle gegevens meegaan? Ik heb werkelijk geen flauw idee. Alle hulp is welkom ![]() | ||||||||
JeRa | zondag 18 juni 2006 @ 11:29 | |||||||
@Oldbie Ja, zo is het prima. Zet de SQL export compatibility nog wel even op de versie van MySQL waar je database op gaat draaien, en zet een vinkje bij opslaan (beneden) zodat je ook daadwerkelijk een bestand krijgt ![]() | ||||||||
Oldbie | zondag 18 juni 2006 @ 11:53 | |||||||
quote:thanks a lot ![]() [edit] Hmmm, ik heb MySQL 5.0.20. Welke moet ik dan kiezen? ![]() [/edit] [ Bericht 6% gewijzigd door Oldbie op 18-06-2006 11:59:30 ] | ||||||||
JeRa | zondag 18 juni 2006 @ 12:40 | |||||||
@Oldbie Gewoon op NONE laten staan in dat geval, dan moet het werken ![]() | ||||||||
Ajaxfan | zondag 18 juni 2006 @ 16:42 | |||||||
Bedankt JeRa en Lynx hij doet het nu. Hij zocht naar de tabel leden terwijl deze lid heette. Naam veranderd en het werkt nu. ![]() | ||||||||
Lynx666 | zondag 18 juni 2006 @ 17:01 | |||||||
Ik heb een tabel "news" met de volgende fields: id, title, body, author_id, timestamp, deleted Ik heb een tabel "accounts" met de volgende fields: id, name Ik heb een tabel "comments" met de volgende fields" id, news_id, body, user_name, timestamp Nu wil ik met één query het volgende uit de database halen: De eerste 10 berichten uit tabel news welke niet als gedelete gemarkeerd zijn (deleted=0), met daarbij de author naam uit accounts mbv author_id, en het aantal gekoppelde reacties uit comments (dus een count van comments waar comments.news_id == news.id). Uiteindelijk wil ik dus terugkrijgen: news.id, news.title, news.body, accounts.name, news.timestamp, en het aantal reacties Dit wordt een ingewikkelde constructie met JOINs waar ik ![]() Any pointers? | ||||||||
SuperRembo | zondag 18 juni 2006 @ 18:21 | |||||||
Dat kan toch wel met een GROUP BY en een COUNT(comments.id)? | ||||||||
JeRa | zondag 18 juni 2006 @ 18:42 | |||||||
@Lynx666
Maar het lijkt me slimmer om gewoon een counter bij te houden in de news-tabel met het aantal reacties ipv telkens een extra JOIN en GROUP BY te doen ![]() Oh en eigenlijk moet je alles zonder aggregate function in de GROUP BY gooien, maar omdat MySQL het toestaat en omdat n.id uniek is mag dit imo. | ||||||||
Lynx666 | zondag 18 juni 2006 @ 18:54 | |||||||
Bedankt Jera Grappig dat ik net het volgende geprobeerd had wat bleek te werken (ik ben nog een n00b wat betreft JOINs et al ![]()
Waar jij LEFT JOINs gebruikt heb ik er INNER JOINs staan.. Wat is het wezenlijke verschil daartussen? quote:Zo deed ik het eerder ook, maar het leek me 'juister' om die info met een count eruit te halen.... [ Bericht 21% gewijzigd door Lynx666 op 18-06-2006 19:00:19 ] | ||||||||
JeRa | zondag 18 juni 2006 @ 20:36 | |||||||
quote:Even simpel gezegd: je koppelt tabel a aan tabel b. Met een LEFT JOIN wordt tabel a altijd aan tabel b gekoppeld, ook als er geen verbinding is met tabel b. Dan krijg je NULL-waarden terug voor de kolommen in tabel b. Met een INNER JOIN krijg je alléén de rijen terug waarvoor de ON-clausule klopt ![]() quote:Het is ook juister, maar performancetechnisch is het gewoon een stuk sneller om een apart veld bij te houden dat je op bepaalde momenten update (nieuwe comment, comment verwijderen, etc). Overigens, als je id-veld uit de 'news'-tabel een AUTO_INCREMENT is en dus dezelfde sortering heeft als news.timestamp, dan kun je net zo goed (zoals in mijn query) sorteren op news.id ![]() | ||||||||
guitarist | zondag 18 juni 2006 @ 23:26 | |||||||
Hij begint op 60 (zodat je de text niet ziet) en hij moet scrollen (van rechts naar links) tot dat de text weer uit beeld is, hij verschuift 4px per frame!! Hij berekend de breedte van de text!! De huidige code:
| ||||||||
guitarist | zondag 18 juni 2006 @ 23:34 | |||||||
Het is te laat om te rekenen, morgen weer ![]() | ||||||||
Oldbie | zondag 18 juni 2006 @ 23:34 | |||||||
quote:Geen idee, maar om goed engels te gebruiken moet het zijn: "Hello world, this is a test" ![]() | ||||||||
SuperRembo | zondag 18 juni 2006 @ 23:45 | |||||||
@guitarist.nl Wat is je vraag nou eigenlijk? Waarmee / hoe maak je dat animated gifje? | ||||||||
JeRa | zondag 18 juni 2006 @ 23:48 | |||||||
quote:Ik gok dat je de breedte van het plaatje er nog bij moet optellen ![]() | ||||||||
Lynx666 | zondag 18 juni 2006 @ 23:49 | |||||||
quote:Duidelijk, thnx ![]() quote:ID veld is idd auto_increment, maar wil wel nieuwsberichten kunnen schedulen. Niet elke gepost bericht krijgt dus de timestamp time() mee. Vandaar de timestamp sortering ![]() | ||||||||
guitarist | zondag 18 juni 2006 @ 23:50 | |||||||
quote:waar bij optellen ![]() | ||||||||
guitarist | zondag 18 juni 2006 @ 23:51 | |||||||
quote:Hij moet nog 60px verder doorscrollen, maar niet 60 eerder beginnen ![]() van een scriptje van een kammeraad ![]() | ||||||||
JeRa | zondag 18 juni 2006 @ 23:52 | |||||||
quote:Bij de totale breedte van de string ![]() ![]() | ||||||||
guitarist | maandag 19 juni 2006 @ 00:16 | |||||||
quote:Ja maar hij moet ook ehm ergens beginnen, niet op 0 iig ![]() | ||||||||
Desdinova | maandag 19 juni 2006 @ 09:52 | |||||||
weet iemand misschien wie de SIDN-variant is van de .com domeinen? | ||||||||
Darkomen | maandag 19 juni 2006 @ 11:45 | |||||||
quote:plaats dan es het hele scriptje ![]() | ||||||||
Light | maandag 19 juni 2006 @ 11:58 | |||||||
quote:Internic.net ? | ||||||||
Tijn | maandag 19 juni 2006 @ 12:01 | |||||||
quote:Volgens mij wordt het tegenwoordig door het ICANN geregeld. | ||||||||
Light | maandag 19 juni 2006 @ 12:03 | |||||||
quote:Ook goed ![]() Ik deed een whois request op een .com domein, en dat leverde onder meer de volgende tekst op: Domain names in the .com and .net domains can now be registered with many different competing registrars. Go to http://www.internic.net for detailed information. | ||||||||
Tijn | maandag 19 juni 2006 @ 12:09 | |||||||
Ja, InterNIC deed die dingen vroeger. Volgens mij bestaat het ook nog wel, maar is het tegenwoordig onderdeel van het ICANN. | ||||||||
Light | maandag 19 juni 2006 @ 12:16 | |||||||
quote:Gevonden. ![]() | ||||||||
Desdinova | maandag 19 juni 2006 @ 12:21 | |||||||
fenk you ![]() | ||||||||
timbastiaansen | maandag 19 juni 2006 @ 13:42 | |||||||
Ik zoek een functie om een deel van een variabele te vervangen, ik ben namelijk een gastenboek aan het maken en daarbij heeft hij dus een $bericht die hij in een database schrijft, nu wilt ik dat hij bijvoorbeeld
vervangt door
is hier een speciale code voor of niet?? | ||||||||
ViPeRII | maandag 19 juni 2006 @ 13:45 | |||||||
regexp maken! | ||||||||
ViPeRII | maandag 19 juni 2006 @ 13:46 | |||||||
Of je doet iets als: $bericht = str_replace(" :smoke: ", "<img src=\"images/smile/smoky.gif\">", $bericht); | ||||||||
ralfie | maandag 19 juni 2006 @ 13:49 | |||||||
of str_replace(), zoals
EDIT: zoals hierboven dan, alleen met arrays kun je in een keer al je emoticons vervangen | ||||||||
ViPeRII | maandag 19 juni 2006 @ 13:50 | |||||||
Ik was eerder ;-) | ||||||||
ralfie | maandag 19 juni 2006 @ 13:53 | |||||||
quote:Je hebt geluk dat ik mijn wachtwoord altijd vergeet en dus op moet zoeken ![]() | ||||||||
ViPeRII | maandag 19 juni 2006 @ 13:56 | |||||||
Lol, maar jouw oplossing is nog net iets mooier ;-) | ||||||||
timbastiaansen | maandag 19 juni 2006 @ 14:42 | |||||||
Dank, hij doet het ![]() | ||||||||
Lynx666 | maandag 19 juni 2006 @ 15:34 | |||||||
Ik knal weer tegen een probleem aan..
Hiermee wil ik met elke "[image thumb="data" prefix="data" fw="data" fn="data" /]" dat in een stuk tekst voorkomt een tabelletje plaatsen met make_table() m.b.v. de gegeven data fields. Nu laat mn error log dit zien: PHP Warning: preg_replace(): Compilation failed: nothing to repeat at offset 20 in <php file> on line 78 waarbij line 78 bovenstaande regel is.. Wat klopt er niet aan mijn preg_replace (wat niet meer dan een uitbouwing is van een kortere, wél werkende preg_replace) ?? | ||||||||
Swetsenegger | maandag 19 juni 2006 @ 16:31 | |||||||
quote:De str_replace werkt natuurlijk prima, alleen zou ik het doen bij het uitlezen van het bericht. Dus je schrijft de userinput gewoon naar DB en bij uitlezen zet je code om naar smilies. | ||||||||
ralfie | maandag 19 juni 2006 @ 17:24 | |||||||
quote:het is (.*?) en niet (*.?) | ||||||||
Ewaldus | maandag 19 juni 2006 @ 17:38 | |||||||
ik ben dus dikke n00b met linux enzo, nu heb ik samen met een vriend een dedicated aangeschaft alleen komen we erachter dat mijn scripts alleen onder php5 draaien. Wie weet een stap voor stap tutorial waar wordt verteld hoe we goed kunnen upgraden? We draaien CentOS 4. Ik heb zelf al gezocht maar dat mocht op niets uit lopen.. | ||||||||
timbastiaansen | maandag 19 juni 2006 @ 17:40 | |||||||
quote:Ik denk dat dat ook makkelijker is, scheelt ook weer ruimte in de database nl. | ||||||||
Lynx666 | maandag 19 juni 2006 @ 18:04 | |||||||
quote:Argh, hoe heb ik hier overheen kunnen kijken ![]() ![]() Thnx ![]() | ||||||||
Light | maandag 19 juni 2006 @ 18:28 | |||||||
quote:Dan doe je bij iedere pageview weer die str_replace, en da's niet echt nodig. Dan kun je beter de tekst twee keer in de database zetten, 1 keer niet geparsed (makkelijk voor editen) en 1 keer geparsed (voor weergeven). | ||||||||
JeRa | maandag 19 juni 2006 @ 19:57 | |||||||
quote:Besef wel dat je in dit geval meer dan twee keer zoveel databaseruimte nodig hebt. Normaal maakt dit niet zoveel uit, maar hoe meer data de harde schijf in één keer keer opvolgend kan inlezen hoe beter (en hier geldt dus dat als je grote rows hebt, de harde schijf wellicht onnodige seeks uitvoert). Voor een forum dat ik een paar jaar terug had geschreven voerde ik caching uit, die dus geparsede messages opsloeg in een aparte tabel en na een tijdje er weer uit gooide - maar dat is miss wat overdone ![]() | ||||||||
guitarist | maandag 19 juni 2006 @ 20:28 | |||||||
Het is me gelukt ![]() http://test.guitarist.nl/width/temp_icon.php?string=test12345678 bij sting kun je zelf wat invoeren, om het plaatje niet te groot te maken is max 75 karakters, alles daarna is foetsie ![]() | ||||||||
JeRa | maandag 19 juni 2006 @ 20:32 | |||||||
quote:Je moet nog een stripslashes() over de variabele string gooien (of de prima methode van Roönaän gebruiken om alle GPC-variabelen te stripslashen), want nu werken strings met een apostrofe erin niet goed ![]() | ||||||||
the_disheaver | maandag 19 juni 2006 @ 20:35 | |||||||
guitarist | maandag 19 juni 2006 @ 20:42 | |||||||
quote:gewoon stripslashes($string); ? Wat is de methode van Roonaan dan ? @the_disheaver leuk ![]() ![]() edit: met string: zonder string: nu genoeg zitten pielen ![]() [ Bericht 18% gewijzigd door guitarist op 19-06-2006 20:50:31 ] | ||||||||
CraZaay | maandag 19 juni 2006 @ 22:57 | |||||||
quote:Qua performance zal dit best sneller zijn, maar echt een mooie oplossing is het niet imo. Ik zou dan eerder naar goede cachingmethoden gaan kijken. | ||||||||
JeRa | maandag 19 juni 2006 @ 23:07 | |||||||
quote:Mjup, en de methode van Roönaän vind je ergens op zijn site geloof ik ![]() Overigens kun je voor je achtergrondplaatje beter een mooi PNG-plaatje pakken ipv de JPEG die je nu gebruikt. Je kunt de artifacts van de JPEG-compressie duidelijk zien. Omdat je een animated GIF hebt scheelt het in principe niets qua bestandsgrootte als je er een mooi PNG-plaatje achterplakt ![]() | ||||||||
Woeiii | dinsdag 20 juni 2006 @ 00:03 | |||||||
Iemand een idee hoe ik tijd van optredens op volgorde plaats? van 12 tot 23 is geen probleem, maar van 23 tot 12 wel.. dus bijvoorbeeld: 22:00 tot 23:00 23:00 tot 00:00 01:00 tot 02:00 Bij de 00:00 gaat het telkens mis, want 00 is niets terwijl ie dit moet zien als 12 uur snachts. er 24 uur van maken kan ook niet, want als het 01 wordt komt 01 onder 24 te staan doordat 01 <24 is. wie o wie heeft een oplossing. | ||||||||
the_disheaver | dinsdag 20 juni 2006 @ 00:08 | |||||||
quote:timestap van maken, en vervolgens sorteren? | ||||||||
Woeiii | dinsdag 20 juni 2006 @ 00:11 | |||||||
quote:Werktniet.. 00:00:00 snapt ie niet dat later is dan 23:00:00.. Als ik dat doe komt het er zo uit te zien: 00:00 01:00 22:00 23:00 ![]() ![]() | ||||||||
the_disheaver | dinsdag 20 juni 2006 @ 00:19 | |||||||
quote:timestamp van datum en tijd? Want zonder datum, ofwel: de tijden hebben de zelfde data, heeft php gewoon gelijk. | ||||||||
Woeiii | dinsdag 20 juni 2006 @ 00:43 | |||||||
idd man, heb ik daar gewoon ff 4 uur moeilijk over gedaan whehe 't werkt nu thnx!! | ||||||||
Swetsenegger | dinsdag 20 juni 2006 @ 08:19 | |||||||
quote:stripslashes_deep() staat op php.net en aangepast/verbetert ergens op roonaans site inderdaad | ||||||||
Swetsenegger | dinsdag 20 juni 2006 @ 08:21 | |||||||
quote:komt het uit database? Want dan kan je simpelweg een `time` kolom opnemen, en daarop sorteren. | ||||||||
Woeiii | dinsdag 20 juni 2006 @ 10:01 | |||||||
quote:Klopt, zo dacht ik ook, maar alleen time is niet voldoende want hoe moet ie weten dat 00:00 meer is dan 23? ![]() ![]() Werkt goed nu ![]() | ||||||||
Ewaldus | dinsdag 20 juni 2006 @ 10:16 | |||||||
quote:nee, niemand? ![]() of zit ik off-topc | ||||||||
JeRa | dinsdag 20 juni 2006 @ 12:34 | |||||||
quote:Bedoel je dat je scripts geschreven zijn voor PHP5 en onder PHP4 draaien, of dat je scripts geschreven zijn voor PHP4 en dat ze nu onder PHP5 draaien? Ik gok het eerste maar even voor de zekerheid ![]() | ||||||||
Scorpionsworld | dinsdag 20 juni 2006 @ 12:39 | |||||||
quote:Er zijn best wel wat dingen veranderd sinds PHP5, maar waar je vooral even naar moet kijken zijn waarschijnlijk de superglobals en het gebruik hiervan in je scripts. | ||||||||
Swetsenegger | dinsdag 20 juni 2006 @ 13:02 | |||||||
quote:Ja dan doe je dus een datetime kolom ![]() | ||||||||
JeRa | dinsdag 20 juni 2006 @ 13:06 | |||||||
quote:Dat heeft niet zozeer iets te maken met PHP5 aangezien dit een optie is die je ook in PHP4 kon wijzigen. De defaults zijn gewoon anders sinds PHP5, maar administrators met een beetje verstand hebben de register_globals ook in PHP4 op Off gezet hoor. Overigens krijg ik de indruk dat het niet echt om de scripts gaat maar om de PHP-installatie (hij heeft het over het upgraden van PHP op CentOS). | ||||||||
fokME2 | dinsdag 20 juni 2006 @ 17:45 | |||||||
Ik kreeg de opdracht om een site te debuggen. Er wordt een 500 internal server error gegenereerd door php. Dit komt vrijwel zeker van de mail() functie, heeft iemand een idee hoe dat kan? En bij voorkeur ook hoe ik het op kan lossen? | ||||||||
the_disheaver | dinsdag 20 juni 2006 @ 17:52 | |||||||
quote:zonder php-code ![]() | ||||||||
fokME2 | dinsdag 20 juni 2006 @ 18:30 | |||||||
quote:De error komt al als de functie zo wordt gebruikt:
| ||||||||
super-muffin | dinsdag 20 juni 2006 @ 19:57 | |||||||
Waarom werkt dit wel op mijn localhost (met PHP5) en niet op mijn webserver (PHP versie weet ik niet)? ![]() Moet ik dan switch gebruiken?
De pagina zelf: http://danielpunt.nl/huidigepagina/index.php [ Bericht 2% gewijzigd door super-muffin op 20-06-2006 20:04:19 ] | ||||||||
CraZaay | dinsdag 20 juni 2006 @ 20:19 | |||||||
quote:Wat werkt er niet? ![]() | ||||||||
super-muffin | dinsdag 20 juni 2006 @ 20:24 | |||||||
ten eerste: als ik op een item klik wordtie niet geladen, er komt wel index.php?page=2 te staan als ik er 2 druk, maar er komt daar onder geen Pagina 2 te staan. en als de else functie word niet uitgevoerd, het blijven dus links. | ||||||||
fokME2 | dinsdag 20 juni 2006 @ 20:35 | |||||||
Waarschijnlijk om de de register_globals op off staat op je localhost. (Wat ook de beste optie is overigens) Zet boven je "if ($page=="1")" is $page = $_GET['page']; | ||||||||
JeRa | dinsdag 20 juni 2006 @ 20:36 | |||||||
quote:Wat zeggen je Apache2-logs en de configuratie van PHP over het mailen? | ||||||||
Swetsenegger | dinsdag 20 juni 2006 @ 20:42 | |||||||
quote:superglobals | ||||||||
Light | dinsdag 20 juni 2006 @ 20:48 | |||||||
quote:Geen sendmail(wapper) geinstalleerd op die computer? | ||||||||
fokME2 | dinsdag 20 juni 2006 @ 20:53 | |||||||
Ik heb geen idee, het is niet mijn hosting etc. Zal het is navragen. Edit: Path to sendmail /usr/sbin/sendmail -t -i Sendmail is dus geinstalleerd neem ik aan. | ||||||||
JeRa | dinsdag 20 juni 2006 @ 21:08 | |||||||
quote:Nee, het pad naar sendmail is "/usr/sbin/sendmail -t -i" voor PHP, ongeacht of het geïnstalleerd is of niet ![]() | ||||||||
Ewaldus | dinsdag 20 juni 2006 @ 21:39 | |||||||
quote:nou, eerlijk gezegd ben ik redelijk nieuw met Linux en weet niet waar ik moet beginnen met upgraden. Ik ben opzoek naar tutorials maar kan nergens een goede vinden.. Het lijkt mij logisch dat ik eerst php 4 moet unstallen alvorens php 5 te gaan instaleren enz. enz. Mijn vraag was ook of iemand nog goede howto's /tuto's kent oid.. bvd ![]() [ Bericht 12% gewijzigd door Ewaldus op 20-06-2006 21:44:49 ] | ||||||||
JeRa | dinsdag 20 juni 2006 @ 21:50 | |||||||
quote:Lijkt mij niet logisch, het is geen Windows zeg ![]() ![]() | ||||||||
Ewaldus | dinsdag 20 juni 2006 @ 22:00 | |||||||
quote:Moet je nagaan wat voor CentOS werkt idd met RPM's en dat rechtstreeks downloaden kan met dingen als apt-get volgesn mij.. Bedankt, misschien anderen nog tips ? ![]() | ||||||||
Tijn | dinsdag 20 juni 2006 @ 22:21 | |||||||
Ik wil een beginnetje maken met OOP in PHP5 (PHP 5.1.2 om precies te zijn). Ik kan redelijk met pointers en classes enzo omgaan in C++ en dacht het daarom ook zonder al teveel moeite in PHP te moeten doen. Maar het wil nog niet echt vlotten. Ik heb eerst even een simpel test-object opgezet die alleen maar een waarde vasthoudt, verder niets. En dat lukt al niet ![]() index.php
CTest.php
De output hiervan is:
Regel 19 gaat dus mis, dat is $this->$var = $_var;. Blijkbaar kan het object Test z'n eigen member $var niet vinden. Ik snap echter niet waarom. Kan iemand me aanwijzen wat ik verkeerd doe? | ||||||||
JeRa | dinsdag 20 juni 2006 @ 22:26 | |||||||
@Tijn Het is $this->var, en niet $this->$var ![]() | ||||||||
Swetsenegger | dinsdag 20 juni 2006 @ 22:27 | |||||||
quote:echo is geen functie echo ($test->getVar()); echo $test->getVar(); -edit- Hmz, waarschijnlijk snap ik het gewoon niet. Het gaat ook over OOP, dus ik kan beter mijn mond houden ![]() | ||||||||
JeRa | dinsdag 20 juni 2006 @ 22:30 | |||||||
quote:echo() is een language construct maar kan op beide manieren gebruikt worden ![]() | ||||||||
Tijn | dinsdag 20 juni 2006 @ 22:31 | |||||||
quote:Bedankt! Ik was er net zelf ook achter gekomen door de voorbeelden op PHP.net eens goed te lezen. Ik vind het wel raar hoor. Ik ben eraan gewend geraakt dat variabelen in PHP een dollarsign ervoor hebben, en nu hebben ze dat opeens weer niet ![]() | ||||||||
Swetsenegger | dinsdag 20 juni 2006 @ 22:32 | |||||||
quote:Ik dacht dat je alleen bij print haakjes kon gebruiken en echo niet. Anyway, dat zal het probleem niet veroorzaken ![]() | ||||||||
Tijn | dinsdag 20 juni 2006 @ 22:33 | |||||||
quote:Ja, ik ben een beetje gewend geraakt om om pointer->ding altijd haakjes te zetten, omdat in C++ wel eens foutmeldingen krijg als ik dat niet doe. Maar in PHP is dat blijkbaar niet zo nodig, dus kheb ze weer weggehaald. Oh en als je nou ff oplet, dan leer je ook OOP in PHP, want simpeler dan dit voorbeeld kom je het niet tegen ![]() | ||||||||
JeRa | dinsdag 20 juni 2006 @ 22:34 | |||||||
quote:Alleen de 'buitenste' variabele heeft altijd een dollarteken, de rest niet ![]() | ||||||||
Swetsenegger | dinsdag 20 juni 2006 @ 22:34 | |||||||
quote:Ja DIT begrijp ik wel ![]() Dat is een beetje het probleem. De voorbeelden begrijp ik, maar zie ik het nut niet van. En de nuttige voorbeelden begrijp ik niet ![]() sowieso ben ik nog steeds niet overtuigt van het nut van OOP. Ja ik weet het, ik ben stronteigenwijs. | ||||||||
Tijn | dinsdag 20 juni 2006 @ 22:39 | |||||||
quote:De theoretische achtergrond heb ik ook niet echt, maar ik vind de structuur van object-oriented programma's meestal makkelijker te volgen. Het wordt dan niet van die spaghetticode zeg maar. | ||||||||
JeRa | dinsdag 20 juni 2006 @ 22:39 | |||||||
quote:Om eerlijk te zijn is OOP in PHP i.c.m. websites nogal overdreven, behalve als je met backends voor de database e.d. gaat werken. Dan kun je namelijk iets heel leuks toepassen ![]() Dat houdt in dat je in jouw applicatie één interface hebt om een database aan te spreken ($obj->query bijvoorbeeld) terwijl je op de achtergrond bv. 5 verschillende classes hebt geschreven voor 5 verschillende DB-types. Dán is het erg handig, want dat voorkomt dat je voor al die verschillende types aparte code moet gaan schrijven op elke plek dat je een query wilt uitvoeren ![]() | ||||||||
Tijn | dinsdag 20 juni 2006 @ 22:39 | |||||||
quote:Nou, ik vind het stom ![]() | ||||||||
Swetsenegger | dinsdag 20 juni 2006 @ 22:43 | |||||||
quote:Ik ben in 1983 met programmeren begonnen. I love spaghetti. Dat van de hak op de tak gespring van OOP code ![]() quote:Het probleem is niet zo zeer dat ik het zelf nodig heb op dit moment. Het probleem is wel dat ik een 'incomplete' programmeur ben. En dat kan me opbreken op een gegeven moment, ook in een management functie mbt webdevelopment welke kant ik uiteindelijk toch graag op wil. Eigenlijk wil ik het gewoon kennen (kunnen ?). ![]() | ||||||||
JeRa | dinsdag 20 juni 2006 @ 22:43 | |||||||
Oh, en OOP is ook heel erg handig als je bijvoorbeeld een applicatie met ondersteuning voor plugins beheert. Dan kun je een interface schrijven en dan kunnen anderen die interface implementeren en een plugin vlekkeloos in je applicatie verwerken ![]() | ||||||||
Swetsenegger | dinsdag 20 juni 2006 @ 22:45 | |||||||
quote:Ja, of een modulair concept, waarbij de ene klant de 'ideal betaling' module wel wil en de ander niet ![]() | ||||||||
Tijn | dinsdag 20 juni 2006 @ 22:57 | |||||||
Kun je ook je object scheiden in een header-file waarin alleen definities staan en een file met de daadwerkelijke implementatie? Ik heb even snel wat geprobeerd, maar de klasse slikt "public function __construct();" niet en vindt dat er een body bij moet zitten, maar die wil ik dus in een andere file zetten. | ||||||||
JeRa | dinsdag 20 juni 2006 @ 23:01 | |||||||
quote:Nee, maar wat je zoekt is waarschijnlijk een interface, zie daarvoor de manual ![]() quote: | ||||||||
Tijn | dinsdag 20 juni 2006 @ 23:01 | |||||||
quote:Hmm... quote:ja, dat klinkt inderdaad wel wat ik wil. Bedankt! Even lezen ![]() [edit] Ah, dit heel goed. Wat is de netste manier om dit in m'n files te zetten? Zou ik de interface en de klasse in losse files moeten zetten, de klasse moeten includen in de file die het object wil gebruiken en de interface includen in de klasse? Of Kan ik net zo goed de interface en klasse in 1 file zetten en alleen deze includen vanuit de file die het object wil gebruiken? | ||||||||
JeRa | dinsdag 20 juni 2006 @ 23:10 | |||||||
quote:Ik zou de interface in een apart bestand zetten, en in de classes gebruik maken van __autoload (of er zeker van zijn dat de interface op het begin van een mainscript wordt geincludet). ![]() | ||||||||
Tijn | dinsdag 20 juni 2006 @ 23:23 | |||||||
quote:Wow, coole feature! Dat ga ik dan zeker gebruiken ![]() ![]() | ||||||||
CraZaay | dinsdag 20 juni 2006 @ 23:42 | |||||||
quote:Off topic: ik weet uit ervaring dat er genoeg mogelijkheden zijn voor mensen zonder kennis van techniek (die dat zelf niet toe willen geven) die werken op managementniveau in de webdevelopment business. Er is hoop ![]() | ||||||||
Sitethief | woensdag 21 juni 2006 @ 00:06 | |||||||
Even een noobvraagje, weet iemand waarom dit niet werkt??
Dwz hij doet niet Allowtransparancy. Ik had eerst escapes voor elke " maar daar krijg ik een 404 in het iframe. | ||||||||
JeRa | woensdag 21 juni 2006 @ 00:07 | |||||||
@Sitethief Als register_globals op Off staat werkt $HTTP_USER_AGENT niet. Beter gebruik je $_SERVER, dus $_SERVER['HTTP_USER_AGENT']. ![]() | ||||||||
Sitethief | woensdag 21 juni 2006 @ 00:14 | |||||||
quote:Heel erg bedankt ![]() | ||||||||
fokME2 | woensdag 21 juni 2006 @ 00:50 | |||||||
Ik snap nou niet precies waarom ik zo'n interface zou gebruiken? Waarvoor is dat handig? | ||||||||
JeRa | woensdag 21 juni 2006 @ 01:12 | |||||||
quote:Je kunt zo zeker weten welke methodes en variabelen een class moet implementeren zonder vast te leggen hóe ze die methodes implementeren. De applicatiecore hoeft alleen te weten dat een class een interface implementeert om zeker te weten dat het bepaalde methodes en/of variabelen kan aanspreken ![]() | ||||||||
Tijn | woensdag 21 juni 2006 @ 01:23 | |||||||
Ik vind het ook gewoon handig voor mezelf als ik objecten maak die ik later nog wil gebruiken. Als ik er een tijdje niet mee heb gewerkt en even snel moet opzoeken hoe en bepaalde functie heet of welke variabelen een functie verwacht, hoef ik geen lappen code door te lopen, maar kijk ik gewoon even in de ![]() | ||||||||
JeRa | woensdag 21 juni 2006 @ 01:25 | |||||||
Overigens had ik in C++ en Java altijd nette comments (in doxygen syntax), en nu er tooltjes zoals PHPdoctor zijn ga ik het in PHP mezelf ook maar eens aanleren ![]() | ||||||||
Tijn | woensdag 21 juni 2006 @ 01:33 | |||||||
Woah. Dat is ook erg cool. Ik wist helemaal niet dat er tools waren om automatisch documentatie te genereren ![]() ![]() ![]() Er gaat een wereld voor me open vanavond, mensen ![]() | ||||||||
CraZaay | woensdag 21 juni 2006 @ 01:45 | |||||||
quote:Een van de meest gebruikte voor PHP is http://www.phpdoc.org/ | ||||||||
JeRa | woensdag 21 juni 2006 @ 02:20 | |||||||
quote:Die zijn er, op de voorwaarde dat je bijna net zoveel tijd aan je comments als aan je code besteedt ![]() ![]() | ||||||||
Swetsenegger | woensdag 21 juni 2006 @ 09:32 | |||||||
quote:Dat weet ik, dat doe ik nu al aan de hardware kant ![]() | ||||||||
liar | woensdag 21 juni 2006 @ 10:25 | |||||||
Weet iemand misschien een goede anti-spam mogelijkheid voor forms? Ik heb die image validation met CAPTCHA dingen geprobeerd, maar dat is vaak voor GD2.0 en dat kan mijn server niet aan (die heeftwel GD, maar 1 ofzo denk ik).. | ||||||||
Desdinova | woensdag 21 juni 2006 @ 10:32 | |||||||
je GD versie kan je checken met phpinfo(); dacht ik. wat bedoel je met anti-spam mogelijkheid? en wat voor forms heb je het dan over? | ||||||||
the_disheaver | woensdag 21 juni 2006 @ 10:57 | |||||||
quote:hangt er af wat van form het is: - inlogsysteem - html eruit filteren - bepaalde woorden het bericht negeren - via een orignieeel idee ervoor zorgen dat je het form moet gebruiken (dwv het gecontroleerd wordt). | ||||||||
liar | donderdag 22 juni 2006 @ 08:59 | |||||||
nou: dat spambots er niet op kunnen posten (voor contact en gbook form) je hebt van die image validation scripts, maar die lijken niet echt te werken bij mij heeft iemand een ander idee? | ||||||||
super-muffin | donderdag 22 juni 2006 @ 09:17 | |||||||
quote:http://www.noipo.org/index.php?id=278 Deze zou je kunnen uitpluizen, is ook niet zo ingewikkeld? | ||||||||
fokME2 | donderdag 22 juni 2006 @ 14:26 | |||||||
quote:Vraagje toevoegen: Welke kleur heeft een gele banaan ![]() ![]() | ||||||||
Swetsenegger | donderdag 22 juni 2006 @ 20:45 | |||||||
![]() Nog maar ene keer. Ik heb een tabel met een kolom waar een UNIQUE value in komt. Ik weet niet welke values er al in zitten. Vanaf heden worden de inserts keer op keer 1 opgehoogd en ingevoerd, te beginnen met 1. Hiervoor haal ik het laatste record uit de DB, hoog de value met 1 op en insert de boel. Indien ik een UNIQUE foutmelding krijg en dus een waarde probeer te submitten die er al instaat, moet de value opnieuw met 1 opgehoogd worden en opnieuw geinsert... Recursie dus. Maar... ik kom er niet...
Het moet simpel zijn, maar ik staar me blind op het opnieuw aanroepen EN controleren van de submit functie. -edit- ow ja, de uiteindelijk $value (dus NA de recursie) moet global zijn. | ||||||||
JeRa | donderdag 22 juni 2006 @ 20:51 | |||||||
@Swetsenegger Je moet de recursie-aanroep in de functie zelf laten plaatsvinden. [offtopic] Mag ik vragen waar je dit in hemelsnaam voor nodig hebt? ![]() ![]() | ||||||||
Swetsenegger | donderdag 22 juni 2006 @ 21:02 | |||||||
quote:Ja, maar hoe ![]() Dan moet ik dus op de een of andere manier ook value weer returnen omdat die global moet zijn. -edit-
quote:Voor het toewijzen van een Product Identifier ![]() En dat begint handmatig wat problematisch te worden. | ||||||||
JeRa | donderdag 22 juni 2006 @ 21:05 | |||||||
quote:Ik laat het je zelf uitzoeken aan de hand van deze recursieve manier om een facultatieve waarde te berekenen ![]()
quote:En AUTO_INCREMENT voldoet niet, of MAX() en table locks gebruiken? | ||||||||
Roonaan | donderdag 22 juni 2006 @ 21:06 | |||||||
Kan je niet ipv return true; gebruik maken van return mysql_insert_id(); ? | ||||||||
Swetsenegger | donderdag 22 juni 2006 @ 21:07 | |||||||
quote:Nee, want er staan dus al enkele tientallen values in die ik onder geen beding mag gebruiken. | ||||||||
JeRa | donderdag 22 juni 2006 @ 21:09 | |||||||
quote:Ik zou dan overigens niet voor de recursieve manier gaan, maar voor een andere, lineaire aanpak. Je kunt bijvoorbeeld met COUNT() en IS BETWEEN bepalen hoeveel id's er in bepaalde ranges liggen (om er zeker van te zijn of er vrije identifiers zijn) en met MAX() de maximale waarde een identifier in alle id's of binnen een range bepalen. | ||||||||
Swetsenegger | donderdag 22 juni 2006 @ 21:11 | |||||||
quote:Want? Voor performance hoef je het niet te doen, want er komt max 50 keer per jaar een nieuw record in ![]() | ||||||||
JeRa | donderdag 22 juni 2006 @ 21:14 | |||||||
quote:Recursieve aanroepen nemen veel stack geheugen in beslag. En die is niet zo heel groot; het is volgens mij ook één van de weinige manieren om PHP goed te laten crashen ![]() edit:
| ||||||||
Swetsenegger | donderdag 22 juni 2006 @ 21:40 | |||||||
quote:Mjah, maar ik bouw geen infinite loop ![]() | ||||||||
Light | donderdag 22 juni 2006 @ 22:08 | |||||||
quote:Er zijn op dit moment max 7 records om doorheen te loopen. Maar hoe is dat over een jaar, als er 50 of 100 records bijgezet zijn? | ||||||||
Swetsenegger | donderdag 22 juni 2006 @ 22:15 | |||||||
quote:vanaf heden tel ik gewoon vanaf 1 op he ![]() Dus er zijn nooit meer dan max 7 records waar ik recursief doorheen moet loopen.
script trekt in dit voorbeeld 6 uit de database. hoogt deze 1 op (dus 7) en insert die. UNIQUE fout, dus er wordt 1 bij 7 opgeteld (8) en geinsert. De volgende ronde wordt 8 uit de database getrokken, 1 bij opgeteld, 9, UNIQUE fout, 1 bij opgeteld, etc en uiteindelijk wordt 13 geinsert. Er komen dus nooit langere squences van values die ik niet kan inserten. dat blijft op het langste aaneengesloten aantal values welke NU in de DB staan. | ||||||||
JeRa | donderdag 22 juni 2006 @ 22:19 | |||||||
@Swetsenegger Waarom niet dit:
| ||||||||
JeRa | donderdag 22 juni 2006 @ 22:20 | |||||||
quote:Een AUTO_INCREMENT kun je instellen op een beginwaarde. Als je die zet op de hoogste waarde aanwezig + 1, krijg je altijd unieke waardes. ![]() | ||||||||
Swetsenegger | donderdag 22 juni 2006 @ 22:22 | |||||||
quote:Een PID bestaat niet alleen uit een cijfer, dus het is iets ingewikkelder als hier geschetst. Maar ik had die recursieve functie nodig ![]() quote:Ook dat gaat niet, want dan loop ik al bijna over de maximaal mogelijke PID heen. Ja jullie denken dat dat hardware bouwen allemaal zo eenvoudig is heren, maar daar komt veel bij kijken van PID's VID's MAC adressen enzo ![]() | ||||||||
mschol | vrijdag 23 juni 2006 @ 13:11 | |||||||
ik wil m.b.v. php mijn mail ophalen van een account (gmail, hccnet, en e.v.t. ook hotmail) om te beginnen met hccnet & gmail hoe kan ik dit het beste aanpakken? beide ondersteunen pop3 ik heb het volgende in gedachte: met een socket verbinden naar de server vervolgens inloggen (dit heb ik al voor hccnet) dan de bericht onderwerpen ophalen en in een lijstje weergeven... a) kan dit uberhaupt wel op deze manier? b)
[ Bericht 42% gewijzigd door mschol op 23-06-2006 13:16:42 ] | ||||||||
fokME2 | vrijdag 23 juni 2006 @ 13:42 | |||||||
@mschol: Ik ben daar ook een tijdje meet bezig geweest. Heb het toen gedaan met imap_open. Werkt ook met pop3 naar mijn weten. | ||||||||
mschol | vrijdag 23 juni 2006 @ 14:02 | |||||||
quote:hmm imap_open werkt idd "iets" efficenter ![]() alleen krijg ik de volgende melding: "Warning: imap_open(): Couldn't open stream {pop.hccnet.nl:110/pop3} in d:\www\mail.php on line 5 error: Login aborted" als ik de /pop3 weghaalt blijft hij enorm lang bezig de pagina te laden.. (totdattie timeout) --edit--- et wil niet mee werken: quote:/ssl werkt ook niet /notls ook niet ![]() ik ga nu eerst eff een al gebouwde webmail client uitproberen... als die ook problemen geven dan ligt et aan php ![]() [ Bericht 16% gewijzigd door mschol op 23-06-2006 14:15:17 ] | ||||||||
ViPeRII | vrijdag 23 juni 2006 @ 16:40 | |||||||
Doe anders eens op ip, ipv dns naam. Dat wilt met php ook nog wel eens een probleem zijn. | ||||||||
Koewam | vrijdag 23 juni 2006 @ 20:30 | |||||||
Hoi ![]() Ik wil beginnen met PHP schrijven. Dus niet kopieeren plakken en zo, maar echt zelf maken. Waar kun je dat snel leren? Of een cursusje downloaden? ![]() | ||||||||
Tijn | vrijdag 23 juni 2006 @ 21:09 | |||||||
Ik ben een object aan het maken die een grafiek output. Op zich lijkt het te werken (geen errors of warnings), maar het daadwerkelijke plaatje blijft uit. Ik heb m'n object daarom een test-methode gegeven en zelfs daar komt geen plaatje uit. showGraph.php:
CGraph.php:
Als ik naar showGraph.php ga, verwacht ik een zwart vierkantje van 500 bij 500 pixels, maar ik zie niets. Wat doe ik fout? | ||||||||
SuperRembo | vrijdag 23 juni 2006 @ 21:42 | |||||||
[ Bericht 2% gewijzigd door SuperRembo op 23-06-2006 22:36:26 (klopt niets van wat ik zei :D) ] | ||||||||
JeRa | vrijdag 23 juni 2006 @ 22:25 | |||||||
quote:Cursi zijn er genoeg te vinden, ikzelf heb het geleerd door veel scripts te bekijken en veel zelf uit te proberen. Je vind in de OP wel wat materiaal om ermee te beginnen ![]() | ||||||||
JeRa | vrijdag 23 juni 2006 @ 23:23 | |||||||
quote:Doet ie wel iets als je een echo 'blaat' in je test()-methode zet? Je naam voor de $output-variabele is een beetje ongelukkig gekozen, uit imagepng() komt namelijk een boolean die true is als het gelukt is om een plaatje te maken, niet de daadwerkelijke output. Het plaatje wordt namelijk rechtstreeks naar de stdout geschreven ![]() | ||||||||
mschol | zaterdag 24 juni 2006 @ 00:12 | |||||||
quote:ik heb et geleerd juist door te knippen + plakken en dinegn aan te passen. ![]() | ||||||||
Tijn | zaterdag 24 juni 2006 @ 00:18 | |||||||
Ah bedankt, heren! Ik had de documentatie beter moeten lezen, want de output van imagepng is inderdaad niet het plaatje zelf en daar ging ik wel van uit. "echo grafiek->test()" werkt wel, maar dat hele "return $output" is nergens voor nodig. Of in elk geval, dat doet niet wat ik dacht dat het deed. Ik ben erg geholpen, muchos gracias ![]() |