raptorix | woensdag 27 juni 2012 @ 07:28 | |||||
Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt Zie ook: • PHP Dataverwerking • Officiële PHP website • PHP Documentatie • MySQL Reference Manual • Yet Another PHP Faq • PHP Cheat Sheet • PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc Tutorials: • W3Schools PHP • W3Schools SQL | ||||||
poepeneesje | woensdag 27 juni 2012 @ 09:26 | |||||
Vraag: Ik heb een lijst met e-mailadressen die twee of meerdere keren voorkomen, hieruit moeten e-mailadressen verwijderd worden zodat deze niet meer vaker voorkomen. 1. De voorwaarde is dat er in de tabel met e-mailadressen, de kolom met 'accepteerdatum' null moet zijn als dit record uit de subset met dubbele e-mailadressen verwijderd wordt. Het record met wel een 'accepteerdatum', blijft bestaan. 2. Wanneer binnen zo'n subset met dubbele e-mailadressen helemaal geen 'accepteerdatum' aanwezig is, moet het record met de nieuwste 'creëerdatum' blijven en de rest verwijderd worden. Tot nu toe heb ik dit... Verder kom ik niet.
| ||||||
boem-dikkie | woensdag 27 juni 2012 @ 11:05 | |||||
Kunt toch met een WHERE accepteerdatum != null? Of <> null. | ||||||
Scorpie | woensdag 27 juni 2012 @ 11:11 | |||||
Dat. | ||||||
poepeneesje | woensdag 27 juni 2012 @ 11:22 | |||||
Is het in MySQL dan niet 'is not null'? Maar dan houd ik toch nog het probleem dan ik dan niet de nieuwst overhoud Volgens mij is namelijk mijn query tot nu toe maar een deel en moe deze gebruikt worden als subquery. Of wellicht dat er een join moet komen... | ||||||
The_Terminator | woensdag 27 juni 2012 @ 11:25 | |||||
Het is idd 'IS NOT NULL'. Voor die nieuwste items zou je idd een subquery kunnen gebruiken waarmee je de MAX datum van de records ophaalt met een limit van 1 item. Als je vervolgens alleen de resultaten laat zien die uit die subquery komen ben je klaar. | ||||||
boem-dikkie | donderdag 28 juni 2012 @ 16:14 | |||||
Iemand enig idee waarom ik bij een mod_rewrite in .htaccess geen _GET resultaat krijg? Als ik mijn pagina voluit schrijf (.php?id=10) werkt het wel, als ik met mod_rewrite dat herschrijf naar post/10/ herkent hij mijn get niet. Op internet zijn er een aantal mensen die met Options nogwattus dit probleem weten te fixen maar ik mag van TransIP geen Options functionaliteit in mijn .htaccess gebruiken. Op mijn eigen live- en testserver werkt de .htaccess prima. | ||||||
mstx | donderdag 28 juni 2012 @ 16:24 | |||||
Zet [QSA] achter de regel. https://wiki.apache.org/httpd/RewriteFlags/QSA | ||||||
The_Terminator | vrijdag 29 juni 2012 @ 19:19 | |||||
@boem-dikkie: Mocht bovenstaande niet werken dan zou je nog iets als:
kunnen proberen. Bovenstaande geeft een array terug met alle url elementen, hieruit kun je vervolgens zelf de GET waarden halen aan de hand van de positie van de elementen in de array. | ||||||
KomtTijd... | woensdag 4 juli 2012 @ 10:05 | |||||
ik heb een query:
het gekke is: dit gaat goed, ik krijg een array met van alle users een positie, behalve 1. Van die ene user krijg ik wel een username (left join gaat dus goed), maar geen positie (right join gaat dus niet goed). Als ik de smownerid van die record verander, krijg ik wel netjes coordinaten terug. Als ik 'm dan weer terugverander naar de originele smownerid krijg ik weer geen coordinaten. Ik heb dit nog nooit meegemaakt... Iemand enig idee wat hier fout kan gaan? -edit- probleem gevonden, hij geeft heul niet de laatste coordinaten, maar compleet andere... [ Bericht 3% gewijzigd door KomtTijd... op 04-07-2012 10:42:53 ] | ||||||
GlowMouse | woensdag 4 juli 2012 @ 10:50 | |||||
http://dev.mysql.com/doc/refman/5.0/en/example-maximum-row.html | ||||||
KomtTijd... | woensdag 4 juli 2012 @ 11:06 | |||||
zat inderdaad al die kant op te denken:
-edit- die crmid is oplopend dus handiger want altijd uniek (itt tot createdtime). | ||||||
Daarnaast | woensdag 4 juli 2012 @ 23:35 | |||||
Ik heb in php een applicatie gemaakt die van de door gebruiker ingevoerde aantal seconden, aangeeft hoeveel minuten dat is. vb: gebruiker invoer: 243 applicatie output: 243 seconden is 4 minuten en 3 seconden. Nou doet mijn applicatie het prima, behalve 1 punt: Hij kan maximaal voor 59 seconden berekenen hoeveel minuten het is. bv: x zit in de rang 0-59. programma output: x seconden is 0 minuten en x seconden. bv als x 58 is: 58 seconden is 0 minuten en 58 seconden. Als x hoger dan 59 is dat is, dan wil ik dat hij het aantal minuten verhoogt. dus bijvoorbeeld: 61 seconden is 1 minuut en 1 seconde. Ik weet niet hoe ik dit voor elkaar moet krijgen. Iemand een idee? | ||||||
GlowMouse | woensdag 4 juli 2012 @ 23:39 | |||||
wat krijg je nu als je 61 invult en hoe bereken je dat? | ||||||
Tijn | woensdag 4 juli 2012 @ 23:42 | |||||
Dit geeft:
| ||||||
Scorpie | woensdag 4 juli 2012 @ 23:50 | |||||
Dat moet natuurlijk 1 minuut zijn, pffff. | ||||||
Tijn | woensdag 4 juli 2012 @ 23:52 | |||||
De output is misschien leesbaarder zo, maar de code niet per se [ Bericht 5% gewijzigd door Tijn op 05-07-2012 00:05:25 ] | ||||||
Plankje55 | dinsdag 10 juli 2012 @ 12:14 | |||||
Ik wil uit een gegevensbestand waar elke 5 minuten een uniek record aangemaakt wordt de records filteren die tussen zonsopkomst en zonsondergang zijn gemaakt. Elk record heeft een tijdstempel van het formaat 2012-07-09 13:14:00. Ik heb al gevonden dat ik met de functies date_sunrise en date_sunset aan de slag moet. Alleen krijg ik de juiste syntax niet helemaal werkend. Ik heb van alles geprobeerd met strotime enz. Maar ik doe vast te moeilijk. De webhoster (en dus ik ook) werkt overigens met php 5.2 Iemand die me op weg kan helpen? | ||||||
U.N.K.L.E. | dinsdag 10 juli 2012 @ 12:18 | |||||
Je kunt gewoon de $date vergelijken met de date_sunset dus: if( strtotime($date) > strtotime($date_sunrise) && strtotime($date) < strtotime($date_sunset) ){ // tussen zonsopkomst en zonsondergang } | ||||||
KomtTijd... | dinsdag 10 juli 2012 @ 12:22 | |||||
ben daar laatst mee bezig geweest, kan vanmiddag/avond wel even een codevoorbeeldje posten voor je -edit- heb 'm al:
$date moet je dan uiteraard distileren uit je timestamp, en vervolgens de time uit je timestamp vergelijken met $sunset en $sunrise [ Bericht 42% gewijzigd door KomtTijd... op 10-07-2012 12:35:25 ] | ||||||
Plankje55 | dinsdag 10 juli 2012 @ 15:28 | |||||
Dank, ik ga het vanavond direct proberen. | ||||||
Tijn | dinsdag 10 juli 2012 @ 19:09 | |||||
Ik ben wel benieuwd hoe het nu met de seconden naar normale tijd converter van Daarnaast is. | ||||||
xaban06 | woensdag 11 juli 2012 @ 08:47 | |||||
Ik ben een soort van imageshack/tinypic aan het maken, waar men dus plaatjes kan uploaden. Ik ben bezig een check te maken of het geuploadde bestand wel een plaatje is. Dit doe ik met $_FILES["file"]["type"], echter waar vind ik een lijst met alle types? | ||||||
Scorpie | woensdag 11 juli 2012 @ 08:56 | |||||
http://www.php.net/manual/en/ref.fileinfo.php | ||||||
xaban06 | woensdag 11 juli 2012 @ 08:58 | |||||
Ik kan nu wel een heleboel plaatjes laten checken en de info eruit halen, maar bestaat er geen lijst van alle geaccepteerde/geverifierde types? | ||||||
Tijn | woensdag 11 juli 2012 @ 08:59 | |||||
Die lijst hangt natuurlijk af van wat jij wil accepteren. | ||||||
Scorpie | woensdag 11 juli 2012 @ 09:00 | |||||
http://www.iana.org/assignments/media-types/index.html | ||||||
Tijn | woensdag 11 juli 2012 @ 09:03 | |||||
Succes met het implementeren van al die formaten | ||||||
Scorpie | woensdag 11 juli 2012 @ 09:03 | |||||
Hey, hij vroeg om een lijst met alle geaccepteerde en geverifieerde types, die heeftie nu. | ||||||
xaban06 | woensdag 11 juli 2012 @ 09:07 | |||||
Waar komt het offensive gedrag vandaan? | ||||||
Scorpie | woensdag 11 juli 2012 @ 09:08 | |||||
Welk offensief gedrag? | ||||||
Tijn | woensdag 11 juli 2012 @ 09:11 | |||||
Het hangt er voornamelijk vanaf welke formaten jouw applicatie accepteert. Wat gebruik je om de plaatjes in te lezen? GD? ImageMagick? Begin eens met het opvragen van een lijst van formaten die daarmee kunnen worden verwerkt. Maar wat verwacht je eigenlijk allemaal voor exotische bestanden? Ben je niet gewoon klaar als je png, jpg, gif en misschien bmp of tiff ondersteunt? | ||||||
Quir | woensdag 11 juli 2012 @ 09:29 | |||||
Dit. Ik maak in dit soort gevallen gewoon een array met de bestandsformaten die ik wil accepteren en check of de extensie daar in voor komt. | ||||||
KomtTijd... | woensdag 11 juli 2012 @ 10:57 | |||||
Beetje moderne site accepteert natuurlijk ook SVG Maar voor de rest lijkt me dat ruim voldoende ja. | ||||||
GlowMouse | woensdag 11 juli 2012 @ 11:46 | |||||
waarom zegt niemand iets over de betrouwbaarheid van user-input? | ||||||
Scorpie | woensdag 11 juli 2012 @ 12:00 | |||||
Iedereen weet toch dat die niet betrouwbaar is? | ||||||
Scorpie | woensdag 11 juli 2012 @ 12:01 | |||||
Bestand opslaan als .png en afwachten maar | ||||||
GlowMouse | woensdag 11 juli 2012 @ 12:14 | |||||
waarom wijs je xaban06 daar dan niet op? | ||||||
xaban06 | woensdag 11 juli 2012 @ 12:16 | |||||
Schijnbaar vat ik het dan verkeerd op. Ik dacht dat de file type veilig genoeg was om te checken, maar niet dus? Ik zou op extensie kunnen controleren, maar dat zegt helemaal niks. | ||||||
Quir | woensdag 11 juli 2012 @ 12:17 | |||||
Achja, ik had er al aan gedacht nadat ik het postte. Misschien is de filetype veiliger. Misschien, hoor. | ||||||
GlowMouse | woensdag 11 juli 2012 @ 12:25 | |||||
Nee, je zult het type aan de hand van de inhoud van de file moeten bepalen, en daarna het plaatje moeten resamplen, en dan zelf de filename te kiezen om veilig te zitten. | ||||||
Tijn | woensdag 11 juli 2012 @ 12:26 | |||||
Waarom zou je de input niet gewoon proberen in te lezen als plaatje? Als het lukt dan is het goed en als het niet lukt niet. Simpel toch? Als je bijvoorbeeld met GD werkt en denkt dat iets een jpeg zou kunnen zijn, dan kun je het gewoon proberen in te lezen met imagecreatefromjpeg(). Als daar een resource uitkomt, is het inderdaad een jpeg. En anders komt er false uit en is het blijkbaar geen jpeg. | ||||||
xaban06 | woensdag 11 juli 2012 @ 12:27 | |||||
Ik werk nog met niks. Ik moet daar nog over na denken wat het beste/veiligste is om te gebruiken. Volgens mij gaat jou oplossing op voor jpeg, maar bijvoorbeeld niet voor tiff? | ||||||
Scorpie | woensdag 11 juli 2012 @ 13:04 | |||||
Omdat dat niet de vraag was? | ||||||
Scorpie | woensdag 11 juli 2012 @ 13:08 | |||||
Magoed, omdat xaban06 niet het wiel opnieuw uitvind: http://stackoverflow.com/(...)ad-security-approach http://www.thinkfu.com/blog/gifjavascript-polyglots http://codecanyon.net/item/secure-file-upload-class/121992 http://nullcandy.com/php-image-upload-security-how-not-to-do-it/ | ||||||
mstx | woensdag 11 juli 2012 @ 13:12 | |||||
Dan krijg je een corrupt plaatje te zien. Best vervelend inderdaad. | ||||||
InTrePidIvity | woensdag 11 juli 2012 @ 17:38 | |||||
Aangezien dit topic toch voor dummies is, vind ik het niet zo erg om m'n vraag hier te plaatsen Ik heb XAMPP gedownload en wil 'm op m'n pc (Windows 7) installeren. Installatie lukt allemaal prima, maar MySQL werkt niet. In het Control Panel krijg ik:
En op localhost/phpmyadmin/ krijg ik dit te zien: #2002 - De server reageert niet (of de MySQL-server heeft het socket niet juist ingesteld) Ik las her en der dat het met een poort te maken zou kunnen hebben, maar Skype (een vaker voorkomende oorzaak van zo'n probleem) heb ik al uitgezet. Dat hielp verder niets... | ||||||
Arn0 | woensdag 11 juli 2012 @ 17:59 | |||||
Je moet even Xampp Control Panel 3 Beta gebruiken (die zit normaal standaard erbij), dan krijg je een uitgebreidere log en zie je allicht wat er mis is. | ||||||
kawotski | woensdag 11 juli 2012 @ 18:05 | |||||
Daar mijn kennis van php nog redelijk beperkt is maar wel met de dag beter wordt heb ik een vraagje die ik niet beantwoord kan vinden, heb er wat boeken op nageslagen en wat php sites maar kom er niet precies achter. Ik heb - als voorbeeld - een mysql tabel met 200 produkten. Ik heb ook een template. Moet ik nu 200 pagina's aanmaken en elk produkt apart per pagina tonen of kan ik aan de hand van die template middels een query op mysql die 200 produkten per pagina tonen. De produkten heb ik allemaal een aparte id gegeven. | ||||||
GlowMouse | woensdag 11 juli 2012 @ 18:07 | |||||
dat laatste, dan kun je achter de url ?id=123 zetten, en dan kun je met een query product 123 ophalen | ||||||
GlowMouse | woensdag 11 juli 2012 @ 18:07 | |||||
zorg dat mysqld draait; mysql heeft een eigen logfile met foutmeldingen skype zit apache soms in de weg; mysql wordt nooit door andere software in de weg gezeten qua poorten | ||||||
kawotski | woensdag 11 juli 2012 @ 18:10 | |||||
Zo simpel? Dat php blijft me verbazen Toch 7 jaar te laat mee begonnen.. | ||||||
#ANONIEM | woensdag 11 juli 2012 @ 19:14 | |||||
Het is niet ZO simpel, maar komt in de buurt. Je moet wel de input afvangen voor rare dingen (zodat niet ineens je database leeg is). Mocht je ook wat persoonlijke hulp nodig hebben met vraagstukken kun je me DM/PM-en | ||||||
InTrePidIvity | woensdag 11 juli 2012 @ 19:15 | |||||
Dat is apart, daar staat dat MySQL wel gewoon werkt (groen met een vinkje) Kan alleen nog steeds niet in de admin. Dit staat in de logfile:
Ik ga er voor het gemak maar van uit dat ik iets heel stoms verkeerd doe of vergeten ben, maar het is allemaal redelijk nieuw voor me en ik dacht dat XAMPP een makkelijk begin zou zijn. En dan kom je niet voorbij de installatie | ||||||
#ANONIEM | woensdag 11 juli 2012 @ 19:19 | |||||
Kijk eens in je proceslijst of mysql daarbij staat "mysqld.exe" en sluit die af start hem daarna opnieuw op. | ||||||
InTrePidIvity | woensdag 11 juli 2012 @ 19:32 | |||||
Dat doet ook niet veel. Nu start er helemaal niks meer op en er staat ook niets nieuws in m'n error-logfile. | ||||||
#ANONIEM | woensdag 11 juli 2012 @ 19:36 | |||||
je hebt op start/stop gedrukt in de control panel? | ||||||
InTrePidIvity | woensdag 11 juli 2012 @ 19:47 | |||||
Als ik nu op Start druk in het control panel krijg ik een vraag vanuit Windows of ik 'Net Command' (net.exe) wil starten (blijkbaar voert dat 'start mysql' uit?). Doe ik dat, dan gebeurt er vrij weinig, ik krijg in de het control panel alleen de volgende melding (die annulering is niet van belang verder): | ||||||
#ANONIEM | woensdag 11 juli 2012 @ 19:49 | |||||
zet hem eens uit als service (vinkje weghalen) dan weer kijken in je app lijst en mysqld.exe allemaal afsluiten daarna Quit en even de control opnieuw starten. Ik heb hier ook een keer last van gehad en kreeg het zo weg. | ||||||
InTrePidIvity | woensdag 11 juli 2012 @ 19:53 | |||||
Held! Heel erg bedankt Was dit bij jou een permanente oplossing of moet je dit elke keer weer doen? | ||||||
#ANONIEM | woensdag 11 juli 2012 @ 19:55 | |||||
dit was de enige keer dat het moest om 1 of andere reden gaat het fout met de service aanmelden. | ||||||
InTrePidIvity | woensdag 11 juli 2012 @ 20:03 | |||||
Ik ben er al een halve dag mee aan het klooien, ben blij dat het nu werkt! | ||||||
#ANONIEM | woensdag 11 juli 2012 @ 20:05 | |||||
Fijn geholpen te hebben mocht je nog problemen tegenkomen laat het weten. | ||||||
Plankje55 | woensdag 11 juli 2012 @ 20:35 | |||||
Ik kom er toch nog niet helemaal uit. Deze code werkt op de dag, maar als ik meerdere dagen achterelkaar importeer wordt alleen de laatste dag geïmporteerd.
| ||||||
cablegunmaster | woensdag 11 juli 2012 @ 20:41 | |||||
In deze code wordt ik niet wijs. Je wil voor elke $x iets doen maar ik zie geen verwijzing naar $x ? dan lijkt de loop nutteloos. Want nu zal het 1x de inner for-loop doen met goede variabelen. Daarnaast heb ik hier te weinig code om je fout te ontdekken. Want ik weet niet hoe je structuur qua dagen eruit ziet. hoe je arrays eruitzien.Mogelijk kun je meer code neerzetten? Of een linkdump.
[ Bericht 2% gewijzigd door cablegunmaster op 11-07-2012 20:56:03 ] | ||||||
Plankje55 | woensdag 11 juli 2012 @ 21:00 | |||||
Sorry, probeerde het beperkt te houden. Code loopt probleemloos bij het importeren van meerdere dagen. Maar sinds het invoeren van de sunrise/sunset voorwaarde alleen voor de laatste dag.
[ Bericht 46% gewijzigd door Plankje55 op 11-07-2012 21:49:33 ] | ||||||
cablegunmaster | woensdag 11 juli 2012 @ 21:21 | |||||
Ik kan het nog steeds niet zien met zoveel verschillende variabelen. welke sectie moet hij doorlopen? en welke niet? stop anders [php <?php echo "test".$x; ?>[/php] Waar het fout gaat ipv print_r_html(); daarnaast in je insert staat maar 1x $prefix zonder verandering erin vermoedelijk moet dit de dag voorstellen maar geen idee of dat verandert in deze code. zoals ik het nu zie niet. Dat zou vermoedelijk de dag wezen. Kan het zijn dat alles in 1 tabel wordt gestopt? ipv verschillende? Zomaar gedachtes op wat je hebt gestuurd | ||||||
Light | woensdag 11 juli 2012 @ 21:31 | |||||
Als je [php][/php] gebruikt ipv [code][/code] dan wordt je php-code een stuk leesbaarder en krijg je leuke kleurtjes enzo | ||||||
Plankje55 | woensdag 11 juli 2012 @ 22:04 | |||||
De variabele $prefix geeft de tabelnaam, maar dit is een statisch gegeven, daar wordt verder niets mee gedaan. In het eerste stuk wordt het aantal dagen berekend sinds de laatste update. Daarna wordt begin en eindstand berekend, wat in dit stuk niet gebruikt wordt, maar pas later in dit bestand. Vanaf regel 38 loopt een for loop alle records na per dag, dit stuk werkt, ook als de tabel _dag geleegd wordt. Idem regel 42 naam van de installatie, werkt zoals het moet. Regel 44 t/m 55 is nieuw. Bedoeling is om records van de nacht weg te laten, het gaat om een database die de opbrengst van zonnepanelen monitort. Als de tabel _dag geleegd wordt en vervolgens wordt de pagina opnieuw opgeroepen verschijnt alleen data van de laatste dag, overigens wel zoals de bedoeling is, n.l. alleen van overdag. [ Bericht 0% gewijzigd door Plankje55 op 11-07-2012 22:56:17 ] | ||||||
KomtTijd... | woensdag 11 juli 2012 @ 22:49 | |||||
ik gok dat strtotime($sunrise) een tijd ergens op nieuwjaarsochtend 1970 teruggeeft, terwijl $strtotime($date) waarschijnlijk ergens in 2012 zal zitten... -edit- kijk ook ff naar de documentatie van date_sunrise() welke opties je nog meer in kunt vullen voor SUNFUNCS_RET_STRING -edit2- en je eigen coördinaten pakken wil ook al snel een paar minuten schelen. [ Bericht 22% gewijzigd door KomtTijd... op 11-07-2012 22:58:19 ] | ||||||
Plankje55 | woensdag 11 juli 2012 @ 23:05 | |||||
Daar lijkt het probleem niet te zitten, het stukje sunrise/sunset lijkt te werken. Ook de tijden kloppen, gecontroleerd met een online zon op zon onder calculator. Probleem is dat alleen de data van de laatste dag opgeslagen worden. Haal ik het stukje met sunrise/sunset en het if statement eruit krijg ik wel alle dagen. | ||||||
KomtTijd... | woensdag 11 juli 2012 @ 23:30 | |||||
Ben het wel met cablegun eens, je gebruikt zoveel arrays en for-loops in for-loops (weleens van foreach gehoord?) en variables die uit het niets lijken op te doemen, hier is geen beginnen aan. Weet je uberhaupt of $result2 wel alle rijen bevat die je wilt? | ||||||
Plankje55 | woensdag 11 juli 2012 @ 23:46 | |||||
Het is een script van een ander, enigszins aangepast aan mijn situatie. Vooralsnog werkt het omdat alleen bij de eerste keer meerdere dagen moeten worden ingevoerd. Daarna loopt het gewoon elke dag en dat gaat goed. En $result2 heeft alle records, zojuist gecontroleerd. | ||||||
#ANONIEM | woensdag 11 juli 2012 @ 23:55 | |||||
volgens mij is dit script vele malen makkelijker te maken (moet haast wel). Ik zou vanaf het begin af aan beginnen, want dit lijkt nergens op. | ||||||
cablegunmaster | donderdag 12 juli 2012 @ 02:33 | |||||
Beetje lang geworden maar even wat compacter voor je gemaakt Plankje55 hopelijk heb je hier iets aan en snap je wat ik heb gedaan . De rest is me te onduidelijk om alle variabelen te controleren. of er een functie van te maken.
[ Bericht 1% gewijzigd door cablegunmaster op 12-07-2012 02:48:05 ] | ||||||
Plankje55 | donderdag 12 juli 2012 @ 07:39 | |||||
Dank, begrijp je insteek, ga er later mee aan de slag. Nu eerst vakantie | ||||||
Chandler | donderdag 12 juli 2012 @ 08:38 | |||||
is er een manier om de laatste query richting een database te achterhalen zonder gebruik te maken van classes/etc? ik dacht dat mysql_info wel zou helpen maar helaas, dit wil ik gebruiken voor een errorhandler! | ||||||
cablegunmaster | donderdag 12 juli 2012 @ 09:28 | |||||
Wat is je skeptisme achter classes? uiteindelijk zijn ze best simpel als je het een paar keer door hebt genomen. | ||||||
Scorpie | donderdag 12 juli 2012 @ 09:39 | |||||
Waarom je geen classes wil gebruiken maar wel een errorhandler is mij een raadsel. | ||||||
Chandler | donderdag 12 juli 2012 @ 11:56 | |||||
omdat het gaat om een bestaande site met een 'errorhandler' en ik daarin ook graag de laatste query vermeld krijg... ik kan natuurlijk de hele site gaan herschrijven maar alleen voor een paar kleine query foutjes vindt ik dat niet echt handig en logisch vandaar dat ik opzoek ben naar een manier om de laatste query terug te halen!!! | ||||||
Tijn | donderdag 12 juli 2012 @ 11:58 | |||||
Als het alleen om debugging gaat zou je de general log van MySQL aan kunnen zetten. Dan worden alle queries in een file geschreven. Maar in een productieomgeving schijnt dat een hoop performance te kosten. | ||||||
Chandler | donderdag 12 juli 2012 @ 12:01 | |||||
Klopt, de log mag helaas niet aan van de 'beheerders' en had gehoopt dat er een manier zou zijn om mysql de laatste ingevoerde query te laten uitspuwen! zou toch moeten kunnen zou je zeggen? | ||||||
Tijn | donderdag 12 juli 2012 @ 12:13 | |||||
Kun je niet de hele omgeving kopiëren naar een lokale omgeving en daar dan query logging aanzetten? | ||||||
Scorpie | donderdag 12 juli 2012 @ 12:17 | |||||
Dan zakken ze lekker tot aan hun nek in de stront natuurlijk. Jij bent degene die hen helpt. | ||||||
#ANONIEM | donderdag 12 juli 2012 @ 12:33 | |||||
Ik neem aan dat je niet gewoon in je script overal mysql_query hebt staan? zo wel veel success. Anders maak je een functie die hetzelfde doet als mysql_query maar ook de log opslaat. En vervang dan alles met die functie.
[ Bericht 0% gewijzigd door #ANONIEM op 12-07-2012 12:34:30 ] | ||||||
Chandler | donderdag 12 juli 2012 @ 12:35 | |||||
Yup, heerlijk oud gebaseerd op mysql_query hehe... anders zou ik bv wel $GLOBAL kunnen gebruiken Maar goed, blijkt dat het niet mogelijk is, heb de documentatie van mysql al doorgenomen. Had toch gehoopt dat er met 1 extra query de 'vorige' query terug te halen was... @Tijn: nee, want meestal werkt de betreffende pagina goed maar soms niet en dus wil ik graag weten wat er fout in de query gaat. | ||||||
#ANONIEM | donderdag 12 juli 2012 @ 12:43 | |||||
dan kun je toch alle uitvoer opvangen door die te vervangen met wat ik hierboven zei? doe replace all op mysql_query en vervang het door een eigen functie en klaar is kees. | ||||||
Chandler | donderdag 12 juli 2012 @ 12:57 | |||||
Klopt, kan, maar de site werkt met zo'n 200+ php scripts (voor iedere pagina 1 ) lekker.. Toch allemaal bedankt! | ||||||
#ANONIEM | donderdag 12 juli 2012 @ 13:08 | |||||
wat is het probleem? replace all in all files en klaar | ||||||
Chandler | donderdag 12 juli 2012 @ 13:12 | |||||
Klopt, het is een idee! maar stom dat het terug halen van een query statement niet mogelijk is... leek mij erg handig maar goed allen bedankt! | ||||||
Scorpie | donderdag 12 juli 2012 @ 13:15 | |||||
Dat kan als je OO classes zou gebruiken, dan sla je dat soort dingen gewoon in een logfile op. [ Bericht 1% gewijzigd door Scorpie op 12-07-2012 13:21:56 ] | ||||||
#ANONIEM | donderdag 12 juli 2012 @ 13:18 | |||||
sowieso gaat het dan niet werken aangezien er in de tijd al 3 andere queries gemaakt zijn(als je bijv drukke website hebt) en hij dan daar de laatste van pakt. Dus je zal toch echt het zelf moeten oplossen | ||||||
Scorpie | donderdag 12 juli 2012 @ 13:22 | |||||
Daar zijn logfiles voor | ||||||
#ANONIEM | donderdag 12 juli 2012 @ 13:23 | |||||
Ja maar die mag hij niet tenzij je zelf maakt dan kunnen ze het niet tegenhouden | ||||||
GlowMouse | donderdag 12 juli 2012 @ 13:24 | |||||
dat is een heel slecht argument | ||||||
KomtTijd... | donderdag 12 juli 2012 @ 13:25 | |||||
je kunt toch gewoon
| ||||||
GlowMouse | donderdag 12 juli 2012 @ 13:26 | |||||
dat is niet de error handling die je zoekt op je website | ||||||
KomtTijd... | donderdag 12 juli 2012 @ 13:27 | |||||
neuh maar dat gaat 'm toch niet worden is inmiddels duidelijk | ||||||
cablegunmaster | zondag 15 juli 2012 @ 12:54 | |||||
Ik zit even met een simpel probleempje. Ik heb nu 2 forms op 1 pagina en nu zit ik te kijken hoe ik toch de form binnen de form kan uitvoeren zonder dat het de andere stoort. laatst zelf ook gekeken naar zo'n probleem maar dan kom ik er toch uit dat ik misschien via Jquery eenscript moet maken. Om dit voor elkaar te krijgen. Of denk ik weer te moeilijk? Waarom? Omdat ik de bestel pagina op 1 pagina wou maken. Zodat er niet tig schermpjes achterelkaar kwamen. (Veel schermpjes haak je bij af). Waarom niet 1 form? Omdat bestanden uploaden apart wordt gedaan van de rest van het formulier zodat er een percentage bar bij staat en de resultaten van het bestanden uploaden op het formulier verschijnen voordat je doorgaat. | ||||||
boem-dikkie | zondag 15 juli 2012 @ 13:05 | |||||
Je kan het toch sowieso wel in één form doen en het hele uploadproces gewoon met AJAX afhandelen? | ||||||
cablegunmaster | zondag 15 juli 2012 @ 13:15 | |||||
Ik zal eens kijken hoe dat werkt want ik was bezig met Jquery form plugin. http://malsup.com/jquery/form/progress.html Enige nadeel is dat het afhankelijk is van een form en nu moet ik kijken hoe ik hier om heen kan zeilen. Misschien de waardes van de submit knop (dat ik daar niet eerder aan dacht >.>?) | ||||||
cablegunmaster | zondag 15 juli 2012 @ 18:27 | |||||
Probleem #2: Nog een foutje hoe zit het met XHR? Hoe kan je die resetten / unsetten. Ik voer een xhr verzoek uit en hoe stop ik de focus op "status.html(xhr.responseText);" als ik een andere submit op het zelfde formulier uitvoer?
[ Bericht 58% gewijzigd door cablegunmaster op 15-07-2012 18:43:22 ] | ||||||
Daarnaast | zaterdag 21 juli 2012 @ 17:58 | |||||
Ik kom ergens niet mee uit: $i = 0; while($i<5) { echo 'I is: '.$i; $i++; } Wat ik wil is dat voor elke echo regel een radio button staat. Als gebruiker bv de radiobutton die voor 'I is: 3' klikt, dat 'I is: 3' in een string gezet wordt en nog een keer geprint wordt. Hoe bereik ik dit? | ||||||
Scorpie | zaterdag 21 juli 2012 @ 18:01 | |||||
HTML/CSS topic gebruiken. | ||||||
Scorpie | zaterdag 21 juli 2012 @ 18:01 | |||||
Je wil die radio button values uitlezen? | ||||||
Daarnaast | zaterdag 21 juli 2012 @ 18:06 | |||||
Ja Bv: Als radiobutton voor a geselecteerd wordt, dan moet de value a uitgelezen worden en in een variabele gestopt worden. | ||||||
Scorpie | zaterdag 21 juli 2012 @ 18:33 | |||||
Dat uitlezen en in een variabele stoppen gebeurt meestal als je je form submit, wil je dat? Of wil je echt client side het uitlezen? | ||||||
Daarnaast | zaterdag 21 juli 2012 @ 18:45 | |||||
Beter uitgelegd wat ik wil. ik heb 3 producten, in mijn php code haal ik deze 3 producten uit mijn mysql database en print ik ze als volgt op het scherm: product1 product2 product3. Dit is gelukt, echter wil ik meer doen met de drie producten dan ze alleen op het scherm printen. Ik wil namelijk dmv een radiobutton, button, URL oid de producten kunnen selecteren. Wanneer een product geselecteerd is, dan wil ik iets met die product doen, bijvoorbeeld de naam ervan ergens anders opnieuw printen. Bv: ik selecteer product1, product1 moet dan in een variabele gestopt worden, zodat ik er iets mee kan doen. Waar ik moeite mee heb is een manier vinden om de producten te selecteren, dit wil mij maar niet lukken. een voorbeeld oplossing: <form action="checkbox-form.php" method="post"> databaserow value <input type="checkbox" name="dbclick" value="Yes" /> <input type="submit" name="formSubmit" value="Submit" /> </form> ik heb bv een db met 5 rijen. Voor elke rij moet een checkbox gemaakt worden en de rijd moet voor de checbox geprint worden. bv: DB: Naam: Bas Piet Wichel dan moet mijn form zo uitzien: <form action="checkbox-form.php" method="post"> Bas <input type="checkbox" name="dbclick" value="Yes" /> Piet <input type="checkbox" name="dbclick" value="Yes" /> Wichel<input type="checkbox" name="dbclick" value="Yes" /> <input type="submit" name="formSubmit" value="Submit" /> </form> Dan kan ik elke waarde met post doorgeven aan php en er iets mee doen, maar ik heb geen idee hoe dit gedaan moet worden. [ Bericht 22% gewijzigd door Daarnaast op 21-07-2012 19:09:59 ] | ||||||
The_Terminator | zaterdag 21 juli 2012 @ 21:09 | |||||
Om de checkboxen weer te geven vanuit de DB doe je:
De data eruithalen gaat zo:
| ||||||
Daarnaast | zaterdag 21 juli 2012 @ 23:58 | |||||
Ik kom niet uit met de code die jij gemaakt hebt, ik weet niet hoe ik het moet toepassen in mijn eigen code. Hier is mijn code:
Hoe zorg ik ervoor dat als ik een add knop drukt, dat de data links van de knop geprint wordt ipv altijd de laatste entry? Bv: Hans Bouwvakker [add] Piet Acountant [add] hoe kan ik mijn code zo aanpassen dat als ik add bij Hans druk er 'Hans Bouwvakker' geprint wordt en als ik add bij piet druk er 'Piet Acountant' geprint wordt? | ||||||
The_Terminator | zondag 22 juli 2012 @ 00:31 | |||||
Om bovenstaande te realiseren zou je via javascript een ajax request naar het script kunnen doen. Je zou dan via hetzelfde script direct de teruggegeven waarde vanuit het script naar bijvoorbeeld een span met een unieke id kunnen wegschrijven. Ook moet je bijhouden wat er al is toegevoegd. Dit kun je in de DB bijhouden maar bijvoorbeeld ook in de sessie dmv de $_SESSON superglobal. Overigens is je code erg slordig. De form-action, input-type, naam en waarde horen binnen aanhalingstekens te staan. Zo dus: echo "<td><input type=\"submit\" name=\"add value\" /></td>"; | ||||||
KomtTijd... | zondag 22 juli 2012 @ 10:26 | |||||
Doe het dan gelijk goed en gebruik single quotes. | ||||||
Monedita | zondag 22 juli 2012 @ 13:45 | |||||
[ Bericht 25% gewijzigd door Monedita op 22-07-2012 15:22:08 ] | ||||||
Scorpie | zondag 22 juli 2012 @ 13:59 | |||||
Maak er je fulltime baan van. | ||||||
Monedita | zondag 22 juli 2012 @ 14:10 | |||||
| ||||||
Onnoman | zondag 22 juli 2012 @ 14:34 | |||||
Hallo allemaal.. kan je 1 pagina op een website zichtbaar maken en de rest ontoegankelijk laten dmv htpaswrd en htaccess? nu moet de index dus een bericht geven dat de website in ontwikkeling is | ||||||
Scorpie | zondag 22 juli 2012 @ 14:46 | |||||
Ja eh sorry, maar wat je allemaal hier loopt te verkondigen wat je wil gaan doen, dat is een 15 jaren plan als je het hobby matig gaat doen. Je hebt nul kennis neem ik aan? | ||||||
remlof | zondag 22 juli 2012 @ 14:57 | |||||
Mwah, ik heb php gewoon on the job geleerd eind jaren negentig. Daarvoor gebruikte ik alleen html en javascript. | ||||||
Scorpie | zondag 22 juli 2012 @ 14:58 | |||||
Ja prima hoor, maar heb je gelezen wat ze wil of niet? Iphone apps, CMSen, Desktop apps, Online magazines, de hele rambam. Dat leer je niet door elke week 3 uurtjes PHP-en met Lynda.com, of je moet net zo goed als remlof zijn. | ||||||
remlof | zondag 22 juli 2012 @ 15:08 | |||||
Eh nee, dat lukt je zelfs niet als je net zo goed als ik bent Maar met een beetje basiskennis kan je je op je werk wel verder ontwikkelen, als je mazzel hebt met door de baas betaalde opleidingen en/of cursussen. | ||||||
Monedita | zondag 22 juli 2012 @ 15:18 | |||||
Ik gaf duidelijk aan dat ik dat niet binnen no time verwacht te kunnen. Ik gaf ook duidelijk aan dat ik serieus ben en er tijd in wil steken en met 1 ding wil beginnen. Maar ik zal wel ergens anders informatie inwinnen | ||||||
GlowMouse | zondag 22 juli 2012 @ 15:24 | |||||
met mod_rewrite:
| ||||||
Scorpie | zondag 22 juli 2012 @ 15:25 | |||||
Je wilt met 1 ding beginnen? Begin met een database opzetten en daar gegevens in en uit halen en aanpassen. | ||||||
remlof | zondag 22 juli 2012 @ 15:33 | |||||
Dat lijkt mij ook een hele goeie start. AJAX snel onder de knie krijgen is ook wel een pre tegenwoordig. | ||||||
cablegunmaster | zondag 22 juli 2012 @ 15:51 | |||||
Mij lijkt dit voor een beginner soms nog best ver. Simpele stappen om te beginnen met PHP te programmeren: 1. installeer Xampp (Aangeraden is het te installeren als service). http://nl.wikipedia.org/wiki/XAMPP (Wat is Xampp?) 2. Check of het draait (xampp control panel ) Apache en Phpmyadmin zouden aan moeten staan na installeren. 3. "C:\Xampp\htdocs\" (of waar xampp/htdocs ook staat) Maar waar je php bestanden kunt neerzetten in de map htdocs. leeg de hele map maar verwijder de folder niet. 4. Stop hier een bestand in genaamd test.php 5. Vul het met wat simpele php Als voorkeur raad ik aan <?php echo "hello world" ?> 6. en test of het werkt, door naar localhost/test.php te gaan in je webbrowser. Localhost is je xampp webhost en simuleert een webserver en kan gebruikt worden om bvb op je eigen pc een webserver te draaien. Van deze basis kan je alle kanten op . Vele tutorials volgen en begrijpen waar het naartoe leidt met php. PRE is een basis van html / CSS. Want dat blijf je altijd houden. Mijn advies is van boven af aan beginnen met: - $variabelen (wat zijn ze en waarom? ) - If else . (zoek een simpele rekensom met if else en stop bij beide een echo om te testen of het werkt. Maakt statisch 2 - 3 variabelen aan en reken een som ermee uit als iets kleiner is dan 100 en groter is dan 100 gebasseerd hierop een ander antwoord). - For loops. - For each loops. - Arrays ( maak een arrays met 8 random nummers en sorteer ze van laag naar hoog met behulp van een functie ) - Switch (Wat zijn ze en hoe zijn ze nuttig? ) - Rekenen in php. (Ik heb 8 bomen en elke boom maakt 40 planken , maak een functie die terug geeft hoeveel planken ik krijg bij invoer van Boom en hoeveelheid planken die je terug krijgt , afgerond op integer en overvloed terugkerend met behulp van modulo (Wat is modulo? ) ). - Functies uit testen - Includes (Wat zijn ze en waarom zijn ze handig?) - Maak een formulier. Zoals je normaal ook op een dynamische webpagina ziet. Vul alles in en kijk hoe je de gegevens kunt terug echo'en met wat je hebt ingevuld (Hint: $_POST of $_GET) Tip: $_POST en $_GET zul je met hoofdletters moeten schrijven of hij pakt/vindt het niet. - Wanneer gebruik je $_POST en wanneer $_GET? - Phpmyadmin verkennen (groot programma voor de eerste keer binnen xampp) Localhost/phpmyadmin - Data uit een Tabel van de Database server te halen (Eerste SQL Select * from table) - Data opslaan in een tabel. (insert into table ) - Data verwijderen uit een tabel (delete from table) - Connectie maken in php. | ||||||
Scorpie | zondag 22 juli 2012 @ 15:53 | |||||
cablegun is de man. | ||||||
cablegunmaster | zondag 22 juli 2012 @ 15:55 | |||||
Nou dat zijn ongeveer de stappen tot aan het ophalen van iets uit de DB. Zou er haast een hele Tutorial site mee kunnen vullen. Het idee van dit lijstje is dat je het moet googlen. Zodat je zelf leert, naar wat je zoekt en wat je doet. Veel dingen zul je moeten afkijken. Veel momenten zullen er zijn dat je het even niet snapt en uren in de code duikt om je fout eruit te halen. | ||||||
Onnoman | zondag 22 juli 2012 @ 16:10 | |||||
bedankt glowmouse.. dus ik bedoel te zeggen.. dat de index zichtbaar voor publiek maar de rest van de website niet klopt dat? | ||||||
Syntix | zondag 22 juli 2012 @ 16:11 | |||||
Even een vraagje hier zo. Ik wil een cronjob draaien elke paar uur of elke dag, maar weet niet precies of het volgende script voldoet:
De delete line werkt en de rijen in 'table' worden gewoon verwijderd. De optimize line werkt echt niet. Ik wil enkel een tabel optimaliseren in de database (om de overhead te verwijderen die met de delete line is gemaakt) die met $mysqli wordt opgeroepen. Wat doe ik fout? | ||||||
Scorpie | zondag 22 juli 2012 @ 16:15 | |||||
is table wel gezet? | ||||||
cablegunmaster | zondag 22 juli 2012 @ 16:15 | |||||
Laat het zien dat het werkt of niet. Je hebt niks aan een pagina, die laat zien dat het "Nog aan gewerkt wordt" of niet. Zo belangrijk is je website niet. Daar hebben je bezoekers niks aan. En google rankings al helemaal niet! Laat desnoods een blanko pagina zien! (tenminste als het je eerste keer is dat je aan de pagina werkt). | ||||||
remlof | zondag 22 juli 2012 @ 16:16 | |||||
Als ik php cronjobs schrijf gebruik ik de php-tags niet en laat het script beginnen met: #!/usr/local/bin/php -q De perl-manier zeg maar. | ||||||
cablegunmaster | zondag 22 juli 2012 @ 16:20 | |||||
Simpel advies , je krijgt de echo nooit te zien als je dit als cronjob draait, probeer ipv daarvan het op te vangen in een bestand met behulp van Fopen en Fclose. http://www.tizag.com/phpT/filewrite.php Idee ervan is dat je een error.log bestand aanmaakt met mocht er iets fout gegaan zijn met de query kan je het daarin lezen. of error.txt wat je zelf prefereert. | ||||||
Tijn | zondag 22 juli 2012 @ 16:20 | |||||
Je moet van "table" een variabele maken en deze zetten:
óf helemaal geen variabele gebruiken:
| ||||||
Tijn | zondag 22 juli 2012 @ 16:22 | |||||
Ik vind zelf file_put_contents() makkelijker om een logfile bij te houden dan met fopen(), fwrite() en fclose() te moeten pielen. | ||||||
cablegunmaster | zondag 22 juli 2012 @ 16:23 | |||||
Handig ben zelf ook druk bezig om dit te maken dus toevallig, dat ik dit net las . Eroor.log incoming Helaas zal het nog best een leeg log worden . maar dat is maar goed ook . | ||||||
Syntix | zondag 22 juli 2012 @ 16:25 | |||||
Bedankt! Aangezien jullie toch zo snel reageren heb ik nog wel een vraagje. Ik draai nu een wamp server en probeer dit cronjob scriptje dus via de command line met php-win -f script.php of php -f script.php. Dit was ik ook van plan bij mijn VPS windows server. Wat ik nu alleen merk is dat nadat script.php klaar is en dus de rijen verwijderd zijn ook php-win.exe ermee kapt (ik heb nu 2 ".exe's" tegelijk draaien en 1 daarvan kapt en de ander draait door). Hoe komt dit? Het maakt niet uit of ik php.exe of php-win.exe draai beiden zorgen ervoor dat 1 php-win bestand ermee stopt. Error log heb ik niet echt nodig denk ik. Zo belangrijk is het verwijderen niet. Ik zou het zelfs handmatig kunnen doen, maar een cronjob is toch wat handiger. | ||||||
cablegunmaster | zondag 22 juli 2012 @ 16:32 | |||||
Maakt hij er ook 1 aan als je het script of commandline opent? Want uiteindelijk zul je dit niet commandline draaien maar ergens in een omgeving waar je aangeeft wanneer het gedraait moet worden. En welk script er gedraait zal worden. Ik weet niet of je dit op een Cpanel of wat voor interface draait maar de meeste webhosters ondersteunen zelf een cronjob paneel waarin je het kan aangeven. Mocht je dit op je eigen lamp server willen draaien zul je toch even moeten uitvogelen hoe je het als cronjob kan instellen ipv als lineair. | ||||||
Syntix | zondag 22 juli 2012 @ 16:37 | |||||
Ik begrijp je niet helemaal hier dus ik probeer het iets duidelijker uit te leggen. Ik draai nu script1.php en script2.php met de volgende command php-win -f scriptx.php. Ik draai php-win omdat het in de achtergrond draait en ik dus gewoon de cmd kan wegklikken. Die twee scriptjes draaien dus en nu vraag ik wederom via de command line php of php-win -f cronjob.php op zoals het script wat ik hierboven gaf. Ik begrijp idd dat als ik het via een cronjob draai op een vps dat het dan wel werkt, maar ik zou het nu liever alvast "zien" zodat ik het zooitje allemaal online kan gooien en er niet meer naar om hoef te kijken. | ||||||
cablegunmaster | zondag 22 juli 2012 @ 16:51 | |||||
Waarom kijk je ernaar via de commandline? je kan uiteindelijk het script op compile errors testen door het via de localhost/script.php te draaien in de webbrowser en vervolgens zie je in de webbrowser of er errors zijn of niet. | ||||||
Syntix | zondag 22 juli 2012 @ 20:55 | |||||
Cronjob script is aangepast en lijkt goed te werken nu via de webbrowser. Dus bedankt! Nu alleen nog een goed mysql backup script vinden. | ||||||
Monedita | zondag 22 juli 2012 @ 21:12 | |||||
Database opzetten kan ik wel, okay dus beginnen met losse scriptjes die dat soort opdrachten kunnen uitvoeren. Thanks AJAX zal ik op de lijst zetten en bestuderen, dankjewel Dankje Super bedankt voor je tijd en moeite om dit op een rij te zetten, ook voor je behulpzame pm ! Ik ga hier lekker mee aan de slag, ik heb je aanbevolen programma al binnen | ||||||
Daarnaast | zondag 22 juli 2012 @ 21:20 | |||||
Hoe kan ik mijn php bestanden in htdocs map ontoegankelijk maken voor pc's op hetzelfde netwerk? Als ik nu op een andere pc in hetzelfde netwerk mijn ip adres invoer gevolgd door de map waarin mijn php bestanden zitten en eventueel gevolgd door een php bestand invoer, dan hebben mensen gewoon toegang. Hoe beveilig ik dit? | ||||||
KomtTijd... | zondag 22 juli 2012 @ 23:17 | |||||
De inhoud van PHP-bestanden is nooit te bekijken. Alleen de output. | ||||||
Daarnaast | zondag 22 juli 2012 @ 23:24 | |||||
Ja klopt, met de output kun je gegevens in mijn database zetten, dat wil ik vermijden. | ||||||
Scorpie | zondag 22 juli 2012 @ 23:31 | |||||
http://www.mijn-eigen-website.nl/website-beveiligen.html | ||||||
Onnoman | maandag 23 juli 2012 @ 10:37 | |||||
ha.. dus nu heb ik een maintenance pagina met een afbeelding in die dus op een andere locatie zit.. hoe krijg je die toegang vervolgens? met je opmerking ben ik trouwens niet mee eens.. ik ben namelijk de website aan het bouwen, maar mijn klant wil toch graag dat er alvast wat basis informatie staat met een emailadres en telefoonnummer... dus bedankt voor het meedenken heur | ||||||
Daarnaast | maandag 23 juli 2012 @ 17:17 | |||||
Hoe kan ik in php op de juiste manier een functie aanroepen als een button geklikt wordt? Ik begrijp dat php serverside is. Maar stel voor je hebt een knop met value='zeg hallo!' Verder heb je de volgende functie:
Hoe kan men met php op de juiste manier bij het drukken van de knop de functio zegHallo() aanroepen? Nu lijkt het dat ik telkens omwegen moet die eigenlijk niet horen om met een knop een functie aan te roepen. Hoe wordt dit in praktijk gedaan? Verder krijg ik bij de volgende stuk code de foutmelding "Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in"
Hoe komt dit? | ||||||
KomtTijd... | maandag 23 juli 2012 @ 17:19 | |||||
...in de praktijk doe je dat met javascript. | ||||||
Daarnaast | maandag 23 juli 2012 @ 17:20 | |||||
Dus in een onClick van een button roep je javascript die vervolgens voor je de functie zegHallo(); aanroept? | ||||||
KomtTijd... | maandag 23 juli 2012 @ 17:22 | |||||
<button onclick="alert('hallo')"> Ik begrijp niet hoe je voor je ziet dat zoiets uberhaupt door je server uitgevoerd kan worden... | ||||||
Daarnaast | maandag 23 juli 2012 @ 17:25 | |||||
Ja ik begrijp het server/client principe nog niet helemaal. Maar wat als je functie meer doet dan alleen maar hallo printen? Als het bijvoorbeeld berekeningen uit voert en een waarde terug retourneert die je in een php variabele wilt stoppen? | ||||||
KomtTijd... | maandag 23 juli 2012 @ 17:25 | |||||
En die foutmelding komt waarschijnlijk doordat je dubbele quotes gebruikt en hij daardoor je $_SERVER variable wil gaan parsen. Althans, zoals het er staat neem ik aan dat het je bedoeling is om een php-codesniplet weer te geven op de pagina? | ||||||
KomtTijd... | maandag 23 juli 2012 @ 17:25 | |||||
Lees je in in forms. | ||||||
Scorpie | maandag 23 juli 2012 @ 18:33 | |||||
Daar heb je forms en form submittal voor. | ||||||
Tijn | maandag 23 juli 2012 @ 20:11 | |||||
Daar zijn POST en GET voor. Dit is bijvoorbeeld een formulier waarmee je de gebruiker om een waarde vraagt:
En als je dit er dan bij plakt, wordt er op de server een waarde berekend en getoond op basis van de invoer:
Omdat je in het formulier de waarde "nummer" hebt genoemd (met 'name="nummer"'), is deze invoer nadat het formulier is verstuurd op de server beschikbaar als $_POST['nummer']. Als het formulier met 'method="GET"' verstuurd was, dan was het op de server beschikbaar geweest als $_GET['nummer']. | ||||||
Faux. | dinsdag 24 juli 2012 @ 14:40 | |||||
Ik heb een PHP-script dat elke minuut uitgevoerd dient te worden. Is het dan slimmer om dit via een cron job te doen of het PHP-script opstarten in het Terminal en dan met sleep(); elke minuut zichzelf laten uitvoeren? | ||||||
mstx | dinsdag 24 juli 2012 @ 14:41 | |||||
Daar is cron voor bedoeld. | ||||||
Tijn | dinsdag 24 juli 2012 @ 14:41 | |||||
Cron natuurlijk. | ||||||
Faux. | dinsdag 24 juli 2012 @ 14:45 | |||||
Okido, dank | ||||||
KomtTijd... | dinsdag 24 juli 2012 @ 14:50 | |||||
Daar geloof ik niets van. Maar zo wel: cron inderdaad | ||||||
Scorpie | dinsdag 24 juli 2012 @ 14:59 | |||||
Bwhehe | ||||||
Daarnaast | woensdag 25 juli 2012 @ 15:01 | |||||
Ik heb als test een simpele database applicatie gemaakt in PHP. Als gebruiker kun je data opslaan, wijzigen of verwijderen. Nu wil ik een de gebruiker notificeren van een wijziging/verwijdering/toevoegen. Op dit moment doe ik dat gewoon met een echo command, maar wat is een betere manier om de gebruiker te notificeren? Het probleem met notificeren via de echo command dat ik heb is, de notificatie wordt op dezelfde plek geprint als regel code waar het aangemaakt wordt. Ik wil specifieke locatie voor notificaties hebben. Hoe is dit te realiseren met php? | ||||||
Scorpie | woensdag 25 juli 2012 @ 15:05 | |||||
Dat delegeer je meestal naar de frontend toe vanuit PHP. Je zet serverside dan een variabele in de sessie die aan de voorkant uitgelezen wordt. | ||||||
KomtTijd... | woensdag 25 juli 2012 @ 15:12 | |||||
Ik moest ook al een beetje huilen toen ik ontdekte dat de applicatie waar ik aan werk een cronjob gebruikt om notificaties te sturen van statuschanges | ||||||
Scorpie | woensdag 25 juli 2012 @ 15:12 | |||||
Prachtig toch, Delayed Event Driven Model | ||||||
mafkees10 | woensdag 25 juli 2012 @ 23:02 | |||||
Hoe doen jullie eigenlijk een website bouwen als je niet gebruikt maakt van frameworks? Ik ben bezig met een concept zit even zelf te denken hoe ik dit het best kan doen. Ik dacht aan het MVC design pattern waarbij ik eerst de globale objecten ga creëren als value objects. Daaromheen een DAO class die databaseafhandeling doet en een Controller class die eigenlijk alles controleert. Voor de controller dus een HTML laag die de controller aanroept en wellicht daar nog wat een extra klasse indien nodig. Hoe doen jullie doet zodat alles een beetje gestructureerd en overzichtelijk blijft? | ||||||
Tijn | woensdag 25 juli 2012 @ 23:11 | |||||
Ik maak gewoon een mapje met controllers, een mapje met models en een mapje met views. Overzichtelijker kan imho niet. Om het aan de praat te krijgen maak ik eerst een .htaccess file die de boel bootstrapt naar index.php, daar parse ik de opgevraagde url, haal dat door een router functie en die roept vervolgens de juiste controller method met de juiste parameters aan. De controller pakt er in de meeste gevallen een paar models bij, harkt de juiste data bij elkaar en roept tot slot een view aan, wat in feite een HTML-pagina is met wat variabelen erin. Vroeger gebruikte ik nog wel eens Smarty voor de views omdat ik dacht dat dat handig was, maar de laatste tijd gebruik ik gewoon plain HTML files met af en toe wat PHP tags erin, wel zo makkelijk. | ||||||
KomtTijd... | donderdag 26 juli 2012 @ 00:32 | |||||
...gewoon niet? | ||||||
Dalando | donderdag 26 juli 2012 @ 19:43 | |||||
Misschien best wel een noob vraagje Maar ik heb een PHP script wat een aantal seconden kan duren voor het uitgevoerd is. Nu wil ik er voor zorgen dat de content al wordt weergegeven ookal is het script niet klaar, bijvoorbeeld zo:
Dit is toch mogelijk? En werkt dit ook als de content wordt weergegeven met AJAX? Of kun je een progressbar weergeven dmv AJAX terwijl delen van het PHP script worden uitgevoerd? | ||||||
WyriHaximus | donderdag 26 juli 2012 @ 19:46 | |||||
Dat dus, gebruik alleen geen framework als het in 1 html file te doen is met niks server side. | ||||||
Scorpie | donderdag 26 juli 2012 @ 19:47 | |||||
Niet. Wat jij doet is cakephp nabouwen. | ||||||
WyriHaximus | donderdag 26 juli 2012 @ 19:48 | |||||
Wat doe je dat het een aantal seconden duurt? Het lijk mij handiger om dat gewoon via ajax aan te roepen met een http://fgnass.github.com/spin.js/ als indicator dat er iets aan de gang is. | ||||||
Scorpie | donderdag 26 juli 2012 @ 19:49 | |||||
Een sleep(5000) gebruiken omdat het interessant staat als het systeem zo druk bezig is | ||||||
WyriHaximus | donderdag 26 juli 2012 @ 19:50 | |||||
Maar dan nog kan ik me niks bedenken wat zo lang zou mogen duren zonder dat je het als een backend job zou laten runnen. | ||||||
GlowMouse | donderdag 26 juli 2012 @ 20:06 | |||||
het kan met flush(), maar niet via ajax; dan moet je voor elke stap een aparte request doen | ||||||
Dalando | donderdag 26 juli 2012 @ 20:14 | |||||
Jammer | ||||||
Dalando | donderdag 26 juli 2012 @ 20:15 | |||||
Informatie verzamelen en parsen van ~20 API's, gemiddelden uit berekenen en in de database stoppen. | ||||||
WyriHaximus | donderdag 26 juli 2012 @ 20:45 | |||||
Kijk eens naar cronjobs om dingen buiten requests om te laten draaien. | ||||||
Pakspul | donderdag 26 juli 2012 @ 20:46 | |||||
Twee keer de helft van een bepaald nummer is iets anders dan het kwadraat van de helft van een bepaald nummer. | ||||||
WyriHaximus | donderdag 26 juli 2012 @ 20:49 | |||||
Is op zich ook niet erg om een keertje te doen als je tijd teveel heb . | ||||||
Tijn | donderdag 26 juli 2012 @ 22:04 | |||||
Joh | ||||||
Scorpie | donderdag 26 juli 2012 @ 22:33 | |||||
Ik heb nooit tijd teveel. Daarom gebruik ik frameworks | ||||||
WyriHaximus | donderdag 26 juli 2012 @ 22:50 | |||||
Mm ik ook, daarom heb ik tijd om echt toffe dingen te bouwen . | ||||||
Dalando | vrijdag 27 juli 2012 @ 00:02 | |||||
Met gebruiker-opgegeven data? | ||||||
cablegunmaster | vrijdag 27 juli 2012 @ 01:02 | |||||
De vraag die jejezelf moet stellen is waarom zou je dit willen? (wiel opnieuw uitvinden? mag altijd!) | ||||||
cablegunmaster | vrijdag 27 juli 2012 @ 01:10 | |||||
- Mits het een weinig gevraagde opvraging is: Wat sommige bedrijven doen, is een tussen knop erbij maken terwijl hij ondertussen alles al uitrekent terwijl de pagina laad van de tussen knop. Zijn er al een paar seconde verstreken. Zo lijkt het korter te duren voor de persoon die de gegevens opvraagt. (desnoods met jquery tussen stap een venster met een Gifje tonen en eronder "even geduld alstublieft uw gegevens worden opgevraagd") - Mits het een opvraging is die vaak gesteld word, of verschillende tabellen / gegevens gaat dan kan je die opvraging cachen. (ergens in een bestandje opslaan) en als het een bepaalde oudheid heeft kan je het laten verversen. Desnoods met een cronjob. (bvb laatste 10 opvragingen. Met behulp van een bestandje de querys bijhouden + datum en dan parsen bij elke cronjobcycle). - Als het om een statische opvraging gaat dan is een cronjob het beste (eens per X minuten). | ||||||
Dalando | vrijdag 27 juli 2012 @ 15:14 | |||||
Voor 1 kolom duurt het ongeveer 5 seconden, en er zijn ongeveer 7000 opties mogelijk, dus voor 7000 mogelijkheden * 5 seconden iedere 10 minuten als cronjob draaien en cachen is niet slim en ook niet echt ruimte besparend | ||||||
cablegunmaster | vrijdag 27 juli 2012 @ 16:31 | |||||
Ik zeg ook niet alles maar de top 50 queries die het meest opgevraagd worden. Zou handig zijn . Bijhoudend hoe vaak de queries gedraait worden op basis daarvan aanpassen welke queries gecached moeten worden. | ||||||
KomtTijd... | vrijdag 27 juli 2012 @ 16:32 | |||||
vraag me wel af wat je aant doen bent dat zoveel zoektijd kost! | ||||||
Dalando | vrijdag 27 juli 2012 @ 16:52 | |||||
Weer, nieuws en verdere lokale informatie voor iedere stad / dorp in Nederland. | ||||||
Dalando | vrijdag 27 juli 2012 @ 16:53 | |||||
Dat kan dan wel | ||||||
cablegunmaster | vrijdag 27 juli 2012 @ 17:05 | |||||
Als de cache corrupt is laten verwijderen door de cronjob (afloop een check ) Weet niet zo uit mijn hoofd welke :p. Vervolgens opnieuw laten draaien. Als iemand het dan opvraagt de query laten draaien ipv de cache opvraag.
| ||||||
Dalando | vrijdag 27 juli 2012 @ 17:07 | |||||
Dankje voor de tip | ||||||
GlowMouse | vrijdag 27 juli 2012 @ 17:37 | |||||
"cache miss storm" | ||||||
mafkees10 | maandag 30 juli 2012 @ 15:39 | |||||
Heb je vaak wat beter controle over alles omdat het van scratch af aan is opgebouwd.. Maar ga even kijken naar verschillende frameworks! bedankt | ||||||
Chandler | dinsdag 31 juli 2012 @ 13:52 | |||||
Wie weet hoe ik in 1 query uit 2 tabellen de verschillen kan halen? Stel ik heb 2 tabellen met bestandsnamen, en wil uit tabel 2 weten welke niet voorkomen in tabel 1? hoe kan ik dat in 1 query opzoeken? | ||||||
GlowMouse | dinsdag 31 juli 2012 @ 14:05 | |||||
dat kan met WHERE NOT EXISTS | ||||||
Chandler | dinsdag 31 juli 2012 @ 14:14 | |||||
Tnx, jou tip en de mysql manual hebben het opgelost! | ||||||
mstx | donderdag 2 augustus 2012 @ 11:39 | |||||
| ||||||
Tijn | donderdag 2 augustus 2012 @ 11:47 | |||||
Ik denk een afrondingsfout zoals je die wel vaker ziet met floats. Dezelfde reden dat dit niet werkt bv:
| ||||||
Boze_Appel | donderdag 2 augustus 2012 @ 11:50 | |||||
Als je gaat rekenen met float en (int) gebruikt dan werkt het als floor en wordt dus naar beneden afgerond. Gebruik: round(8.45*100) als je af wil ronden naar een heel getal. | ||||||
Tijn | donderdag 2 augustus 2012 @ 11:52 | |||||
Het punt is dat 8.45 * 100 gewoon 845 zou moeten zijn, met of zonder afronding. Maar dat is het niet, want 8.45 bestaat niet in floats. | ||||||
mstx | donderdag 2 augustus 2012 @ 11:54 | |||||
Heb het overigens opgelost door de cast naar int weg te halen. Het was nog een overbodig stuk code (van een collega) ook, ben er een uur mee bezig geweest om te fout te vinden.
Het zoeken naar de fout was ook lekker makkelijk als je alleen "Une erreur s'est produite. Veuillez contacter votre marchand." terugkrijgt als foutmelding. Maar als je 5.45 gebruikt gaat het wel goed. [ Bericht 5% gewijzigd door mstx op 02-08-2012 12:00:28 ] | ||||||
Tijn | donderdag 2 augustus 2012 @ 11:59 | |||||
Floats zijn gewoon niet exact. Sommige getallen kunnen wel, anderen niet. Als je wil dat een getal exact klopt (zoals bv geldbedragen) moet je floats in z'n geheel vermijden en alles met ints doen. | ||||||
ralfie | donderdag 2 augustus 2012 @ 12:02 | |||||
Het is waarschijnlijk een combinatie. 8.45 * 100 geeft waarschijnlijk iets van 844.98989898989 ofzo. Afronden geeft 845, maar casten naar int geeft 844 want een cast trunkeert (is dit nederlands?) alleen. | ||||||
Tijn | donderdag 2 augustus 2012 @ 12:05 | |||||
En dat is zo omdat 8.45 niet in floats uit te drukken is. Zie ook Wikipedia over dit probleem. Het speelt niet alleen bij PHP. | ||||||
wipes66 | vrijdag 10 augustus 2012 @ 14:02 | |||||
Ziet iemand de fout in de volgende query DELETE FROM messenges WHERE session_id = 6 ORDER BY date_created DESC LIMIT 10,32 Ik krijg de volgende foutmelding: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '32' at line 1 Ik zie niet wat er mis is met die 32... die limit statement betekend toch gewoon begin bij de 10e en ga 32 rows verder ?? | ||||||
Boze_Appel | vrijdag 10 augustus 2012 @ 14:07 | |||||
| ||||||
mstx | vrijdag 10 augustus 2012 @ 14:08 | |||||
Volgens mij kun je bij DELETE geen offset meegeven bij de LIMIT maar alleen het maximum aantal rijen. Misschien kun je het op deze manier doen? DELETE FROM messenges WHERE id IN (SELECT id FROM messenges WHERE session_id = 6 ORDER BY date_created DESC LIMIT 10,32) | ||||||
wipes66 | vrijdag 10 augustus 2012 @ 14:19 | |||||
mmm dat zou het idd verklaren. ik heb het ieder geval met de volgende query opgelost: DELETE FROM `test_sandbox` WHERE id <= ( SELECT id FROM ( SELECT id FROM `test_sandbox` ORDER BY id DESC LIMIT 1 OFFSET 42 -- keep this many records ) foo ) van http://stackoverflow.com/(...)able-except-latest-n | ||||||
Cue_ | dinsdag 14 augustus 2012 @ 10:11 | |||||
Iemand die even mee kan denken? Ik zit met een trigger in PL/SQL. Vanuit die trigger stuur ik een mail naar emailadres. Deze mail wordt doorgezonden daar een Duits ingestelde mobiel. De weergave van de ontvangen datum staat echter nu op 01-01-1970 (op de telefoon). of te wel hij herkent het datumformat niet. Maar wat ik ook probeer, ik krijg hem hier niet vanaf. Opzich bij het versturen stellen we de gegevens zo in op deze manier
Iemand ideeen / denkwijzes of iets dergelijks? | ||||||
Scorpie | dinsdag 14 augustus 2012 @ 10:20 | |||||
Zonder data kunnen we alleen maar gissen natuurlijk. | ||||||
Cue_ | dinsdag 14 augustus 2012 @ 10:22 | |||||
Wat voor gegeven kan je gebruiken dan? Want ik denk/dacht dat het hem in de 'Date: '||to_char(sysdate,'DD-MON-YYYY HH24:MI')| zou moeten zitten. En dat die het format niet herkend. Maar verschillende variaties geprobeerd. | ||||||
Scorpie | dinsdag 14 augustus 2012 @ 10:24 | |||||
Dit ook al geprobeerd? http://www.java2s.com/Tut(...)THDDYYYYHH24MISS.htm | ||||||
Cue_ | dinsdag 14 augustus 2012 @ 10:27 | |||||
Daarnet, geen effect | ||||||
MrNiles | woensdag 15 augustus 2012 @ 15:59 | |||||
vanuit het [html, css, js] met font tags :) #27wat ik al heb: voor het hoofdmenu (navigatiebalk)
Voor het submenu
Wat ik wil: Een navigatiebalk met submenu's deze submenu's zijn te zien langs het "main"-textveld, dus niet uitklapbaar oid Graag wil ik een active kleur aan de navigatiebalk EN een active kleur aan het submenu. Het submenu moet zichtbaar blijven als er een item uit het submenu wordt weergegeven. Hopelijk is het duidelijk wat ik zoek Wat ik heb: misschien niet slim en ik sta open voor suggesties... een database met de namen van menu en submenu hoofd1 - sub1 hoofd1 - sub2 hoofd2 - sub1 etc ik krijg de navigatiebalk opgebouwt en ik krijg er ook het submenu bij So far so good maar als ik nu een submenu aanklik dan verdwijnt het submenu ook is de navigatieknop niet meer active het doel is om in 1x heel het menu te kunnen vangen zodat ik maar 1x mijn pagina op maak. Is het mogelijk wat ik wil...op deze manier??? | ||||||
KomtTijd... | donderdag 16 augustus 2012 @ 14:33 | |||||
kan ik ipv dit:
ook zoiets doen?
zoals in het laatste voorbeeld is het veel duidelijker wat de query doet, alleen met * werkt het niet. Met % ook niet. Of moet ik dit gewoon niet willen? | ||||||
remi1986 | donderdag 16 augustus 2012 @ 14:36 | |||||
IN werkt met ('1','2','3'). als $ids een array is kan je implode gebruiken. Of bedoel je dit niet? | ||||||
GlowMouse | donderdag 16 augustus 2012 @ 14:39 | |||||
Dat moet je niet willen, IN kent geen wildcards. Misschien kun je nog iets doen als (id IN (-1) OR 1=1), maar dat vergroot de leesbaarheid niet. | ||||||
KomtTijd... | donderdag 16 augustus 2012 @ 14:46 | |||||
ja zoiets zat ik ook al te denken maar dat maakt het alleen maar vager inderdaad. $ids is normaalgesproken een comma seperated lijst met id's inderdaad, maar als die leeg is wil ik alles selecteren ipv niets. Voorbeeld 1 werkt gewoon maar vond ik lelijk | ||||||
remi1986 | donderdag 16 augustus 2012 @ 14:47 | |||||
met LIKE = '%%' krijg je geloof ik wel alles terug, maar hier schiet je niks mee op | ||||||
TwenteFC | donderdag 23 augustus 2012 @ 18:56 | |||||
Is iemand hier bekend met het Laravel framework? Ben wel benieuwd naar zijn/haar mening hier over, het liefste in vergelijking met CodeIgniter. | ||||||
cablegunmaster | vrijdag 24 augustus 2012 @ 17:39 | |||||
Dit wou ik toepassen, alleen nu zit ik met de fout dat de pagina de CSS niet leuk vind. Heb ik ergens een fout zitten in mijn rewrite Rules? Zonder bovenste 2 werkt het , maar dan is het nut van de 301 redirect weg. Kortom het werkt , maar niet volledig.. het pakt de CSS niet meer. | ||||||
KomtTijd... | vrijdag 24 augustus 2012 @ 17:50 | |||||
Ik denk eerder dat je je css gewoon via een relatieve url aanroept die nu veranderd is? | ||||||
Tijn | vrijdag 24 augustus 2012 @ 18:13 | |||||
Ik zet altijd dit voor m'n rewriterules zodat gewone files & folders nog wel gelinkt kunnen worden:
Helpt dat niet? | ||||||
cablegunmaster | vrijdag 24 augustus 2012 @ 21:44 | |||||
Ja , mijn denkwijze . Rewrite condition verkeerd neergezet Dacht dat het voor elke rewriterule was geldt voor elke apart! | ||||||
WheeleE | maandag 27 augustus 2012 @ 16:59 | |||||
Nu ik een nieuwe herstart voor mijn hobbyprojectje heb gemaakt wil ik behalve werkend ook een beetje efficient coderen. Het geheel is niet veel meer dan een verzameling pagina's die diverse informatie uit tabellen haalt en displayt voor publiek, of door een ingelogde gebruiker toegevoegd/gewijzigd/verwijderd kan worden. So far so good, daar kom ik uit. Wat ik niet helemaal helder krijg is hoe ik dit zo efficient mogelijk kan doen. Het zou me wel lukken om voor elke actie (add, delete, update) een aparte php-pagina te maken die de info via een POST meekrijgt. Het lijkt me dat alle acties ook best in 1 php-pagina kunnen worden gecodeerd, dmv bijvoorbeel blabla.php?action=add. Is dat goed, of not done? En wat zijn aanbevolen alternatieven? Als ik met een ?action=add een invoerform laat zien, hoe kan ik dan na de submit met dezelfde php-pagina de gegevens opslaan in de tabel? Of kan ik daar dan beter een save.php voor maken die die specifieke data (en wellicht die van een update) afhandeld? In mijn hoofd had ik het overzichtelijk op een rijtje, maar nu ik het teruglees weet i kniet of het voor anderen ook begrijpelijk is... | ||||||
mafkees10 | maandag 27 augustus 2012 @ 23:41 | |||||
Maak je gebruik van OOP en classes? Anders kun je je bijvoorbeeld een pagecontroller aanroepen die de juiste klasses instantieert. Ik denk dat je hier geen gebruik van maakt en daarom zou ik gewoon geen action opgeven bij je form. Dan reload de pagina als het ware als je op de submit knop drukt. Bovenaan/Onderdaan je pagina zet je dan gewoon:
Niet een mooie oplossing omdat alles overal komt te staan, maar het houdt het wel een beetje bij elkaar! Je zou ook een ajax request kunnen doen op je submit knop. Op die pagina, b.v. submit.php doe je wat je wilt doen.. Hoe zit je structuur nu in elkaar. Geef eens een voorbeeld? [ Bericht 3% gewijzigd door mafkees10 op 27-08-2012 23:57:53 ] | ||||||
Tijn | dinsdag 28 augustus 2012 @ 00:16 | |||||
Ik zou ipv isset($_POST) liever ($_SERVER['REQUEST_METHOD'] === 'POST') gebruiken. | ||||||
mafkees10 | dinsdag 28 augustus 2012 @ 01:04 | |||||
$_POST kan prima, zolang je maar checkt of de request wel van je eigen server komt | ||||||
WheeleE | dinsdag 28 augustus 2012 @ 09:33 | |||||
OOP en classes laten geen belletje rinkelen . Wat ik tot nu toe had: - als isset-GET_action, display dan het invoervoeld ('add'), het te wijzigen record ('edit') - GET_action niet gezet? Dan alleen het overzicht weergeven met linkjes per record voor het editten/deleten er van Met dit liep ik echter vast bij het afhandelen van de forms. Daar zou ik dan losse save.php-pagina's voor maken ofzo, en dat leidde tot mijn post hier . | ||||||
The_Terminator | dinsdag 28 augustus 2012 @ 10:48 | |||||
Nee. De regel: isset($_POST) geeft altijd true terug omdat deze superglobal door PHP geïnitialiseerd wordt. Als je het al zo wil doen, doe het dan zo:
Die van Tijn is natuurlijk nog beter. | ||||||
Faux. | dinsdag 28 augustus 2012 @ 19:20 | |||||
Ik heb een aantal variabelen:
Nu wil ik weten welke van deze variabelen het hoogste is. Geloof ik als je dat met max(); doet krijg je alleen het hoogste cijfer terug, terwijl ik juist de hoogste variabelenaam terug wil. Iemand een idee? | ||||||
mstx | dinsdag 28 augustus 2012 @ 19:28 | |||||
Je wil dus een functie die "ingrid" als string teruggeeft? | ||||||
Tijn | dinsdag 28 augustus 2012 @ 19:31 | |||||
Je gebruikt nu variabelen als een soort key/value storage, maar dat is eigenlijk niet zo'n goed idee. Er is namelijk in jouw code geen verschil tussen $ingrid en 6. Die twee zijn elkaar. Je kunt in je code "6" gebruiken, of "$ingrid", precies hetzelfde. Wat je in feite wil is de waarde 6 opslaan bij de string "ingrid". Dat zou je met een array kunnen doen:
Om nu de key van de hoogste value op te vragen, zou ik zelf waarschijnlijk een dom loopje schrijven. Maar na even Googlen kwam ik deze, veel charmantere oplossing tegen:
$maxs is nu een array van alle namen die de hoogste waarde hebben.
Nu staat er "ingrid". [ Bericht 16% gewijzigd door Tijn op 28-08-2012 19:50:58 ] | ||||||
wipes66 | dinsdag 28 augustus 2012 @ 20:09 | |||||
weet iemand of het mogelijk is om op een server suphp te hebben voor website 1 en voor website 2 geen suphp maar wel apc te hebben of een andere optie is om suphp helemaal uit te zetten, maar ik krijg dan altijd problemen met wordpress (bestanden uploaden en wordpress updaten etc) | ||||||
WheeleE | dinsdag 28 augustus 2012 @ 20:43 | |||||
Ik zal ($_SERVER['REQUEST_METHOD'] === 'POST') eens gaan bekijken. Voor wat betreft de rest, kan ik wel 1 pagina gebruiken om alle acties in te doen? Alle parameters en acties met POST doorgeven? | ||||||
mafkees10 | donderdag 30 augustus 2012 @ 21:58 | |||||
Dat kan, echter kan dit ook voor problemen zorgen. Stel dat jij doet
Daarom is het, in deze opzet, wellicht het makkelijkst om save.php, edit.php and new.php te hebben. Het enige wat die doet is gegevens opslaan/wijzigen. Zo houd je alles gescheiden qua code en die pagina hoeft niets meer te doen dan alleen PHP code en daarna door'header'en met header() naar success.php oid! | ||||||
GlowMouse | donderdag 30 augustus 2012 @ 22:06 | |||||
wat een onzin, dit is slechts een discussie over de leesbaarheid van de code en niet over de veiligheid | ||||||
Light | donderdag 30 augustus 2012 @ 22:47 | |||||
Als mensen de action wijzigen, kunnen ze ook de url waarnaar gepost wordt wijzigen. | ||||||
WheeleE | vrijdag 31 augustus 2012 @ 09:53 | |||||
Okay, met alle informatie in mijn hoofd kom ik dan tot 1 pagina waarop ik al naar gelang de action de juiste lijst of form laat zien. De forms worden na de submit verder afgehandeld door een opslaan.php. Voor de leesbaarheid lijkt het me dan wel handig om per dataset (users, kalender, teams, etc) een aparte pagina te maken. Overigens had ik al voor elkaar dat alleen de publieke overzichtjes door iedereen zijn te bekijken. De insert/update/delete zijn alleen door ingelogde gebruikers met de juiste rechten te doen. | ||||||
stefanhaan | vrijdag 31 augustus 2012 @ 10:00 | |||||
Wat maakt het uit? Als je het veilig wilt maken dan voeg je sowieso checks toe aan edit om te kijken of diegene wel de rechten heeft etc. Als mensen de post kunnen veranderen kunnen ze ook de bestandsnaam waarnaar gepost word veranderen | ||||||
KomtTijd... | vrijdag 31 augustus 2012 @ 10:24 | |||||
Heb je ook je userinputs allemaal geescaped? Anders is een select-query zo omgetoverd in een truncate of whatever. | ||||||
WheeleE | vrijdag 31 augustus 2012 @ 10:59 | |||||
Die heb ik nog .iet, maar staat al wel op de lijst om te implementeren. | ||||||
Tijn | vrijdag 31 augustus 2012 @ 11:07 | |||||
Dit is wel iets om gelijk goed te doen, anders is het onwijs veel dubbel werk om achteraf alles na te gaan lopen, met bovendien de grote kans dat je ergens iets vergeet. Eén foutje is genoeg om je site hackbaar te maken. | ||||||
KomtTijd... | vrijdag 31 augustus 2012 @ 11:09 | |||||
precies, dit moet je gewoon direct doen. Het liefst gebruik je gelijk PDO of MySQLi, is nog makkelijker ook. | ||||||
Sitethief | vrijdag 31 augustus 2012 @ 11:17 | |||||
PDO betekent niet dat het meteen veilig is he... Alleen als je placeholders gebruikt in je queries en met bindParam of bindValue vult. Anders wordt er nog steeds niks geescaped van de data die je meestuurt.. Zie o.a. http://stackoverflow.com/(...)ta-even-if-not-bound en http://stackoverflow.com/(...)-prepared-statements | ||||||
WheeleE | vrijdag 31 augustus 2012 @ 11:27 | |||||
Gelukkig zit ik nog in de ontwerp- en probeerfase Echt iets bruikbaars en definitiefs heb/had ik nog niet. | ||||||
KomtTijd... | vrijdag 31 augustus 2012 @ 12:06 | |||||
Sja die fase hebben we natuurlijk allemaal gehad (of nog steeds af-en-toe). Maar het is wel echt belangrijk om jezelf dit gelijk goed aan te leren. Het gebeurt nog veel te vaak dat zelfs professionals hiermee volledig de mist in gaan. Voor je het weet sta je op tweakers.net met het zoveelste bericht over uitgelekte persoonsgegevens en gehackte accounts. | ||||||
WheeleE | vrijdag 31 augustus 2012 @ 14:29 | |||||
Ik zie het zo: ik had het al op de lijst staan, mijn project is nog niet echt van de grond en het wordt sowieso geen kritisch systeem. Dat alles bij elkaar zorgt dat ik me niet echt zorgen maak | ||||||
Light | vrijdag 31 augustus 2012 @ 18:28 | |||||
Alle mysql_* functies in php zijn deprecated, dus die moet je sowieso niet meer gebruiken voor een nieuw project. | ||||||
zyntex | vrijdag 31 augustus 2012 @ 18:30 | |||||
php:') dat deed ooit op t mbo, stage lopen bij zo interbouw met eigen "cms" ben nu druk bezig in visual studio met C# dat gebruiken ze namelijk in de echte industrie | ||||||
WheeleE | vrijdag 31 augustus 2012 @ 18:47 | |||||
Bedankt voor je opbouwende reactie he . Niet iedereen is een 'professional', en ook PHP is een prima product. Als ik ooit een professional denk te gaan worden zal ik je om raad komen vragen. | ||||||
henrivo | dinsdag 4 september 2012 @ 02:33 | |||||
Zijn er hier ook ervaren "framework-gebruikers"? Ik wil een wat grotere site op gaan zetten, en heb begrepen dat Zend Framework juist dan wat logger wordt / meer resources vreet. Misschien is dit iets van vroeger wat nu meer is opgelost? De andere keuze om te maken is Code Igniter, die is (een flink stuk?) lichter, maar de community daarvan is dan weer minder groot dan die van Zend Framework. Dus de vraag, gebruiken jullie een framework en zoja, waarom heb je voor specifiek dát framework gekozen? | ||||||
boem-dikkie | dinsdag 4 september 2012 @ 07:29 | |||||
!!! | ||||||
wipes66 | woensdag 5 september 2012 @ 20:09 | |||||
Wat je ook kan doen is alle frameworks goed bestuderen. Misschien kom iets tegen wat je bevalt, of je maakt zelf iets en gebruikt onderdelen en ideeen van verschillende frameworks. Ik zelf ben nog nooit echt een degelijke framework tegen gekomen voor php (5.3+). | ||||||
henrivo | woensdag 5 september 2012 @ 20:22 | |||||
Ik overweeg ook een eigen framework te schrijven. Er zit alleen een kleine maar aan vast. Ik ben nog lang geen volleerd php progrogrammeur, ik kom net kijken. Ik weet mn weg redelijk qua html(5)/css, maar kan met php nog met maar net een simpel login scriptje schrijven ( ). Net als veel anderen leer ik van tutorials, ebooks, gewone boeken en door "het gewoon te doen". Maar tot nu toe was / ben ik nog onbekend met OOP, classes, objecten, MVC's en daarom wil ik het wat beter begrijpen door "het gewoon te doen". Maar ik ben benieuwd naar de ervaringen van anderen, waarom zij voor specifiek dát framework hebben gekozen en wat de voor en tegens zijn. Zelf heb ik wat kleine dingetjes gemaakt (gekopieerd en aangepast) met Code Igniter dmv tutorials, maar ook daar hoor ik wat mindere verhalen over. Daarom heb ik iets meer vertrouwen in het Zend Framework, omdat dat van dezelfde makers is als PHP zelf. | ||||||
boem-dikkie | woensdag 5 september 2012 @ 21:08 | |||||
Ik heb met 3 klasgenoten vorig jaar een soort van Zend nagebouwd, alleen dan met wat puntjes die we zelf minder vonden bij Zend anders. Best leuk geworden maar voordat je het een volwaardig Framework kunt noemen moet het toepasbaar zijn voor een hoop verschillende soorten doelen en we hebben nu vooral het framework geschreven om het werkbaar te maken met ons CMS. Leuk om te doen maar op een gegeven moment waren we op behoorlijk wat punten wel het wiel opnieuw uitvinden, wat natuurlijk zonde is als er frameworks zijn die prima werken, ook al heeft natuurlijk elk framework zijn nadelen en minpuntjes. | ||||||
Scorpie | woensdag 5 september 2012 @ 21:14 | |||||
Een .NETter die PHPers minderwaardig acht, bwehehe. | ||||||
Scorpie | woensdag 5 september 2012 @ 21:15 | |||||
CakePHP, vooral door de lage drempel. | ||||||
Crutch | donderdag 6 september 2012 @ 10:53 | |||||
Hoe kun je checken of je huidige bezoeker een bot is of niet? Ik ben bang dat mijn site met de cookies-melding die ik moet plaatsen voortaan alleen maar op de inhoud van die melding wordt geïndexeerd. Of hoe kan ik ervoor zorgen dat zoekrobots daar omheen kijken? | ||||||
GlowMouse | donderdag 6 september 2012 @ 11:01 | |||||
kijk naar de user-agent
| ||||||
Crutch | donderdag 6 september 2012 @ 11:06 | |||||
Nice! Thanks again GM. | ||||||
wipes66 | zondag 9 september 2012 @ 22:50 | |||||
die melding kan je beter gewoon met javascript maken. content verbergen achter een cookiemelding is echt geen goed idee | ||||||
ursel | woensdag 19 september 2012 @ 10:10 | |||||
Voor vragen over pear installaties op Centos, moet ik dan hier zijn of in een linux topic? Ik probeer PHP_Depend te installeren op mijn Centos 5.8 machine. Netjes alle stappen uitgevoerd die gedaan dienen te worden : - pear upgrade - pear channel-discover pear.pdepend.org - pear install pdepend - pear install pdepend/PHP_Depend-beta - pear remote-list -c pdepend Maar krijg continue de melding : there are no release available for package "pear.pdepend.org/PHP_Depend" Idiote is, voer ik exact dezelfde stappen uit op mijn Ubuntu server, dan wordt de gehele mikmak wel geinstalleerd en zijn er blijkbaar toch wel releases available Zal ongetwijfeld ergens iets van een instelling zijn ofzo, maar welke? Overigens is het volgens mij niet een of andere port, want phpunit heb ik wel gewoon middels pear kunnen installeren. | ||||||
ursel | woensdag 19 september 2012 @ 17:44 | |||||
In ieder geval een stap verder. De url voor pear.pdepend.org resolves naar het juiste IP. Echter als ik een ping uitvoer hierheen heb ik een package loss of 100% Hier eindigt de tracert: xe-0-0-0.dr-master.r2.cgn3.hosteurope.de (176.28.4.42) Dat is buiten mijn eigen netwerk. | ||||||
GlowMouse | woensdag 19 september 2012 @ 17:54 | |||||
ping is onbetrouwbaar, http://pear.pdepend.org/ opent hier gewoon | ||||||
ursel | woensdag 19 september 2012 @ 17:59 | |||||
Op mijn PC en mijn Ubuntu server (die in een ander netwerk hangt) gaat ook alles goed. Op mijn werk, in hetzelfde netwerk als de Centos server kan ik ook gewoon daarheen browsen. Alleen de server zelf kan er niet bij komen. Maar komt dus met de traceroute wel verder buiten ons netwerk. Dan kan ping idd niet betrouwbaar zijn, feit is wel dat ik er niet bij kan komen. | ||||||
ursel | donderdag 20 september 2012 @ 12:30 | |||||
Waar zijn al die grote PHP guru's als je ze nodig hebt. Ben weer een klein stapje verder met problemen uitsluiten in ieder geval. Op mijn laptop (Windows 7, IIS7) in hetzelfde netwerk als de server krijg ik wel een lijst met beschikbare versies te zien. Verder staan beide versies ingesteld op preferred state "stable" en zie ik geen noemenswaardige verschillen in de config, buiten wat locatie instellingen die anders zijn. | ||||||
stefanhaan | donderdag 20 september 2012 @ 12:40 | |||||
Ik had eigenlijk een vraag met betrekking tot meerdere talen in een website. Om alle static tekst in je pagina in meerdere talen weer te geven is simpel. Maar de dynamic content heb ik nog niks fatsoenlijks voor kunnen vinden, want het lijkt me ook niet echt praktisch om voor elke taal die de website ondersteunt een extra veld in de tabel aan te maken voor die taal. Iemand hier al eerder tegenaan gelopen? | ||||||
remi1986 | donderdag 20 september 2012 @ 12:43 | |||||
je zou het met een koppeltabel kunnen doen ... iets met content id - language id - content | ||||||
Crutch | donderdag 20 september 2012 @ 12:46 | |||||
Even compleet offtopic: leuk design dat lompehaan. | ||||||
stefanhaan | donderdag 20 september 2012 @ 12:46 | |||||
Dankje, maar is niet mijn design Ik ben enkel een programmeur | ||||||
Crutch | donderdag 20 september 2012 @ 12:48 | |||||
Oh, nou. Anyway, tof man! | ||||||
stefanhaan | donderdag 20 september 2012 @ 12:50 | |||||
Mjah toch maar zoiets dan denk ik ja. Voordeel is iig wel dat ik de dynamic content zelf niet hoef te vertalen, dat probleem ligt gelukkig niet bij mij | ||||||
KomtTijd... | vrijdag 21 september 2012 @ 15:20 | |||||
Wat verrot onhandig als php.net down is. | ||||||
GlowMouse | vrijdag 21 september 2012 @ 21:25 | |||||
nl.php.net deed het wel | ||||||
Swetsenegger | zaterdag 29 september 2012 @ 12:57 | |||||
Hoi php vriendjes, even een wat meer zakelijke vraag... Wat is een redelijk salaris voor een junior PHP programmeur met goed analytisch inzicht en goed lineair kan scripten? In de randstad. | ||||||
Plankje55 | woensdag 3 oktober 2012 @ 11:43 | |||||
Ik heb een simpel shellscript dat uit een lokaal csv-bestand met maandgegevens alleen de gegevens van vandaag zoekt en dit via ftp wegschrijft naar m'n website. Dit script draait op m'n router.
Dit zelfde wil ik ook andersom kunnen doen en het volgende PHP-scriptje werkt
| ||||||
GlowMouse | woensdag 3 oktober 2012 @ 11:45 | |||||
je regexp zal wel fout zijn, maar je verstrekt veel te weinig informatie om er iets over te kunnen zeggen | ||||||
Scorpie | woensdag 3 oktober 2012 @ 11:49 | |||||
Hoeveel jaar werkervaring? HBO of MBO niveau? | ||||||
Swetsenegger | woensdag 3 oktober 2012 @ 11:55 | |||||
HBO kennis niveau, al jaren ervaring met php scripting op autodidactisch niveau, vele jaren werkervaring, maar dus niet als programmeur. | ||||||
Scorpie | woensdag 3 oktober 2012 @ 11:56 | |||||
2000-2400 ongeveer, ligt er een beetje aan wat diegene kan laten zien aan eigen werk. | ||||||
Sitethief | woensdag 3 oktober 2012 @ 12:09 | |||||
Ik vind dat altijd zeer lastig, eigen werk. In mijn geval kan ik dan alleen hobby projectjes laten zien (die ik nauwelijks heb) omdat de rest onder een geheimhoudingsverklaring etc van mijn werkgever valt. | ||||||
KomtTijd... | woensdag 3 oktober 2012 @ 12:12 | |||||
dan kun je toch alsnog wel vertellen wat je ongeveer gedaan hebt? Dan kun je in ieder geval een bepaalde verwachting scheppen. Vervolgens heb je een proeftijd om te kijken of die verwachting waargemaakt wordt. | ||||||
Swetsenegger | woensdag 3 oktober 2012 @ 12:14 | |||||
Hmz... | ||||||
Scorpie | woensdag 3 oktober 2012 @ 12:15 | |||||
Niet goed? | ||||||
boem-dikkie | woensdag 3 oktober 2012 @ 12:16 | |||||
Je kunt ook een referentie vragen van je oude werkgever, over werkhouding, professionalisme, kennis e.d. | ||||||
Tijn | woensdag 3 oktober 2012 @ 12:16 | |||||
Die geheimhoudingsverklaring betekent alleen dat je niks vertelt over de details, maar je kunt best globaal beschrijven wat je hebt gemaakt. Als je wat gegevens blurt kun je waarschijnlijk zelfs wel screenshots toevoegen. | ||||||
Swetsenegger | woensdag 3 oktober 2012 @ 12:17 | |||||
M'n ww uitkering is hoger Deze carriereswitch gaat het nog even niet worden. | ||||||
Tijn | woensdag 3 oktober 2012 @ 12:17 | |||||
Nogal weinig als je een gezin moet onderhouden. | ||||||
boem-dikkie | woensdag 3 oktober 2012 @ 12:24 | |||||
En parttime zo'n baan en 2 dagen ZZP? | ||||||
Sitethief | woensdag 3 oktober 2012 @ 12:28 | |||||
Ja ongeveer, ik weet niet of ze me kunnen verbieden te vertellen wat voor een product het ongeveer is, mijn baas kennend zou die dat zo doen als dat kan. Ja, dat is ook een goede. Klopt. | ||||||
Boze_Appel | woensdag 3 oktober 2012 @ 12:31 | |||||
Voor een juniorfunctie zal er niet zoveel te tonen zijn. | ||||||
#ANONIEM | woensdag 3 oktober 2012 @ 12:31 | |||||
lineair scripten is wel een no-no. Dan krijg je een stuk minder betaald als je al wordt aangenomen, 2000-2500 standaard is normaal als je gewoon goed in OOP bent. | ||||||
Scorpie | woensdag 3 oktober 2012 @ 12:57 | |||||
Niet echt relevant voor een werkgever natuurlijk. | ||||||
Farenji | woensdag 3 oktober 2012 @ 13:01 | |||||
Dan krijg je wel wat meer hoor, dan ga je al richting 3000. Vooropgesteld dat je echt OOP beheerst en niet lineair loopt te prutsen met overal "class BlablaController" eromheen... dat noem ik de boel neppen. Maar als je goed OOP wil kunnen dan zul je wel eerst lineair scripten goed moeten beheersen. | ||||||
#ANONIEM | woensdag 3 oktober 2012 @ 13:11 | |||||
Misschien in de huidige markt wel ja, nadeel is dat bijna elk bedrijf Zend gebruikt. Als je daar als programmeur goed in bent, ben je zo aan de bak tegen goed salaris natuurlijk. | ||||||
Boze_Appel | woensdag 3 oktober 2012 @ 13:12 | |||||
Een hoop werkgevers hebben geen idee. Het doet het aan de voorkant, dus zal de achterkant ook wel ok zijn. Vandaag nog wat werk van een ander beoordeeld en die heeft in drie maanden wat losse classes en functie's gemaakt zonder enig MVC-werk, OO of maar iets wat er op lijkt, daarbij nog allerlei deprecated dingen als shorttags door elkaar gebruiken en weet ik veel allemaal nog meer. Volledig kansloos in ieder geval. Daar kom je nooit mee weg in een IT-omgeving, maar er zijn genoeg bedrijven die een PHP'er los inhuren, zonder ooit de kennis van die persoon te testen. | ||||||
#ANONIEM | woensdag 3 oktober 2012 @ 13:14 | |||||
Hmm, ik ken dat soort bedrijven inderdaad, functionaliteit voor veiligheid Dat zijn het soort bedrijven wat je in het nieuws ziet als er weer ergens iets is gehackt doordat je makkelijke SQL inject kan doen |