Tegan | dinsdag 8 februari 2011 @ 17:50 | |||||
cd niet bijgeleverd Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt Vorige delen: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86 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 Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP | ||||||
MrNiles | dinsdag 8 februari 2011 @ 17:54 | |||||
hij faalt...hard...geen foutmelding dus.. | ||||||
Tegan | dinsdag 8 februari 2011 @ 17:56 | |||||
Zonder die $id werkt het wel? Dan ligt het dus aan de $id. | ||||||
Emery | dinsdag 8 februari 2011 @ 18:04 | |||||
Hoi! | ||||||
MrNiles | dinsdag 8 februari 2011 @ 18:05 | |||||
ligt niet aan de $id hij werkt helemaal niet | ||||||
ursel | dinsdag 8 februari 2011 @ 18:11 | |||||
Even nogmaals
Mja, daar was ik idd al bang voor. Zend Server kan op zich mooi informatie verder wel geven ten tijden van gebruik, maar die licentie voor de betaalde versie ga ik er niet op korte termijn doorheen krijgen Verwacht op zich bij 1 applicatie maar een bootleneck, maar dat betreft dan ook weer een redelijk complex scorings boekwerk. Daar is al redelijk wat weg geoptimaliseert. Misschien dat ik wat dat betreft misloop met OOP programmeren, maar als het wat complexer wordt vindt ik ut niet altijd even handig. Temeer omdat data ophalen via een object dan betekend dat je midden in een loop gaat querien | ||||||
GlowMouse | dinsdag 8 februari 2011 @ 19:33 | |||||
Als je dat soort dingen wilt afvangen dan gaat dat weer ten koste van je OOP, dat is altijd lastig.Hoe moeten optredens en optredens_gebruikers aan elkaar gekoppeld worden? Als je één optreden wilt, waarom gebruik je geen WHERE? | ||||||
KomtTijd... | woensdag 9 februari 2011 @ 00:01 | |||||
ok ik heb dus die kolom met starttijden (datetime). Nu wil ik een lijst met alle data die in die kolom voorkomen (dus iedere datum één keer). Watvoor query zou ik daarvoor kunnen gebruiken? Of althans wat typ ik in in google om daar achter te komen? -edit- Distinct. Helpt altijd, zo'n in-jezelf-denk-post [ Bericht 19% gewijzigd door KomtTijd... op 09-02-2011 00:29:52 ] | ||||||
Tegan | woensdag 9 februari 2011 @ 00:30 | |||||
Niet helemaal wat je zocht, maar toch. http://stackoverflow.com/(...)ue-on-certain-column
Dus. [ Bericht 12% gewijzigd door Tegan op 09-02-2011 00:35:33 ] | ||||||
KomtTijd... | woensdag 9 februari 2011 @ 00:35 | |||||
Jep ik was er al uit! Iets specifieker is het:
Kan ik morgen weer mee verder. nu burgerbedtijd | ||||||
erikkll | woensdag 9 februari 2011 @ 00:40 | |||||
Ik heb morgen echt een mooie sql query(zelf gemaakt!) waar ik iets aan toe wil voegen, waar ik niet uitkom Maar nu eerst naar bed! truste! | ||||||
Chandler | woensdag 9 februari 2011 @ 08:48 | |||||
tvp | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 08:55 | |||||
Ik wou individueel via een linkje een ander tr.onzichtbaarreageren laten tonen alleen dit laat ze allemaal tonen ipv een enkele. *aangezien het javascript topic haast overleden is * [ Bericht 3% gewijzigd door cablegunmaster op 09-02-2011 09:14:21 ] | ||||||
KomtTijd... | woensdag 9 februari 2011 @ 09:03 | |||||
Als je javascript in het PHP topic gaat posten wordt dat niet veel beter ja | ||||||
GlowMouse | woensdag 9 februari 2011 @ 09:08 | |||||
Haakjes kloppen al niet. | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 09:14 | |||||
komt omdat het de laatste was van de reeks | ||||||
GlowMouse | woensdag 9 februari 2011 @ 09:21 | |||||
$("tr") matcht al op alle tr's, niet op die waarop je klikt; werkt $(this)? | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 09:25 | |||||
Nee die werkt niet omdat er een stukje code tussen zit. wat simpel html dat er helaas niet tussen uit kan. vermoedelijk ook omdat this ".reply_show" voorstelt en niet tr. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 09:26 | |||||
$($this).next("tr").next(".onzichtbaarreageren")? | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 09:32 | |||||
helaas. het probleem is dat next ze blijkbaar allemaal definieert ipv een enkele. ik zat eerst aan :first te denken maar dan pakt hij de bovenste van het document. $($this).next("tr.onzichtbaarreageren").toggle(); //opent allemaal $($this, "tr").next(".onzichtbaarreageren").toggle(); //reageert niet een simpele oplossing die ik nog niet helemaal weet uit te werken in code is, iedere comment ding een ID geven +Val en deze door t geven aan de functie. alleen geen idee hoe ik dat doe . en dan een ID van te maken. dan kan elke knop aan een ID werken. ? | ||||||
GlowMouse | woensdag 9 februari 2011 @ 09:33 | |||||
het is this ipv $this. | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 09:34 | |||||
doet precies hetzelfde Finally solved Wat ik heb gedaan :
Note: onzichtbaarreageren heeft als CSS visible: none. Tijd: dagtijd om dit goed uit te werken moet sneller kunnen vind ik Dankje voor het meedenken Glowmouse [ Bericht 12% gewijzigd door cablegunmaster op 09-02-2011 10:01:51 ] | ||||||
MrNiles | woensdag 9 februari 2011 @ 10:03 | |||||
het begint nu echt lastig te worden om dingen te gaan combineren iets gaat er nu goed
hoe krijg ik nu de uitkomst van de left join op het scherm zo dus niet..want ik krijg een hoop: Notice: Undefined index: on line 24 en 25 en 26...niet goed dus | ||||||
Emery | woensdag 9 februari 2011 @ 10:06 | |||||
Wat houdt dan in? | ||||||
GlowMouse | woensdag 9 februari 2011 @ 10:07 | |||||
| ||||||
KomtTijd... | woensdag 9 februari 2011 @ 10:10 | |||||
Je echoed sowieso 3 velden die je helemaal niet selecteert. | ||||||
boem-dikkie | woensdag 9 februari 2011 @ 10:11 | |||||
Weet iemand hier trouwens waar het aan kan liggen dat ik heel vaak geen leden kan toevoegen met speciale tekens in hun naam? Nu weer iemand die niet in de database kan omdat hij een C met een circumflex is zijn naam heeft staan. Ledennaam heeft gewoon VARCHAR als type. | ||||||
erikkll | woensdag 9 februari 2011 @ 10:12 | |||||
Moet je even kijken naar de encoding. | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 10:12 | |||||
http://en.wikipedia.org/wiki/Character_encodings_in_HTML kreeg hierdoor vet veel fout meldingen omdat Utf-8 instond w3c validator. | ||||||
boem-dikkie | woensdag 9 februari 2011 @ 10:12 | |||||
Sorry, leek wat dat betreft. Encoding, wie, wat, waar? | ||||||
erikkll | woensdag 9 februari 2011 @ 10:13 | |||||
Het linkje van cablegunmaster kun je denk ik wel wat mee! | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 10:15 | |||||
daarnaast in phpmyadmin staat in elke tabel een collatie: latin1_swedish_ci Deze is zo standaard ingesteld. mogelijk wil je deze veranderen. | ||||||
erikkll | woensdag 9 februari 2011 @ 10:16 | |||||
Kijk in phpmyadmin hoe de collation op je database tabel is. Stel deze bijvoorbeeld in op utf8_general. Gebruik vervolgens als encoding voor je html ook UTF-8 en het zou goed moeten zijn. | ||||||
boem-dikkie | woensdag 9 februari 2011 @ 10:16 | |||||
Oh nevermind. Mijn encoding staat wel goed, de fout zit in de Google Maps API die ik gebruik denk ik. Hij geeft het lid wel goed weer in de ledenlijst maar op de ledenkaart kan hij 'm niet vinden. | ||||||
erikkll | woensdag 9 februari 2011 @ 10:19 | |||||
Deze 3 queries:
Heb ik gecombineerd tot deze query: Nu wil ik er graag nog een query bij joinen: Hoe kan ik dat als extra join toevoegen? | ||||||
boem-dikkie | woensdag 9 februari 2011 @ 10:23 | |||||
Dat heb je in principe toch ook al gedaan met die queries daarboven? | ||||||
GlowMouse | woensdag 9 februari 2011 @ 10:23 | |||||
Alleen de collation van het veld is belangrijk. | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 10:24 | |||||
Paradox in wat je vraagt. nee ... where actiontype = 12 and actiontype = 11 ? Wtf? | ||||||
GlowMouse | woensdag 9 februari 2011 @ 10:26 | |||||
Je moet queries niet combineren, je moet joinen. Je maakt nu 4 temporary tables en komt met een onleesbare brij. | ||||||
Scorpie | woensdag 9 februari 2011 @ 10:26 | |||||
Precies, actiontype = 11 OR actiontype = 12 should do the trick. Maar ik zou sowieso die query brij eens goed uit elkaar trekken, dit gaat nergens over | ||||||
erikkll | woensdag 9 februari 2011 @ 10:32 | |||||
Ja ik weet het. Maar hoe kan ik ze dan op een mooiere manier joinen? Ik snap niet hoe dat zou moeten als ze uit dezelfde table komen. Daarom maak ik nu van elke resultset eerst een tijdelijke tabel met een andere naam, om ze vervolgens te joinen... Dat kan vast mooier | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 10:32 | |||||
meer ANDS toevoegen of een OR . | ||||||
erikkll | woensdag 9 februari 2011 @ 10:34 | |||||
Nee, je zou het je zo voor moeten stellen: Tabel: ID | TICKETID | ACTION | TIME 1 | 1234 | 12 | 1296432000 2 | 1234 | 11 | 1293840000 Wat ik nu wil, is de tijden naast elkaar weergeven, gebaseerd op hetzelfde 'ticketid'. Daarom maak ik dus twee tijdelijke tabellen, gebaseerd op de 'action' om ze vervolgens te joinen | ||||||
GlowMouse | woensdag 9 februari 2011 @ 10:41 | |||||
| ||||||
cablegunmaster | woensdag 9 februari 2011 @ 10:41 | |||||
SELECT log.ticketid, log.dateline AS closetime, log.dateline AS opentime FROM `swauditlogs` log LEFT JOIN swtickets ON swauditlogs.ticketid = swtickets.id WHERE `log.actiontype` ='8' AND `log.actionmsg` LIKE '%Nog te factureren%' OR `log.actiontype =11 OR `log.actiontype` =12 AND `log.actionmsg` LIKE '%trinicom%' AND 'swtickets.ticketstatusid' =3 OR 'swtickets.ticketstatusid' =4 AND swtickets.email LIKE '%trinicom%' aah Glowmouse was me voor ik zelf heb geen flauw idee of me left join klopt Query lijkt prut van mij | ||||||
erikkll | woensdag 9 februari 2011 @ 10:42 | |||||
Ik zal jullie beide queries eens proberen Super! | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 10:43 | |||||
die van glowmouse is netter en de mijne is nog niet uitgepluist op AND en ORS wist niet eens dat dat kon dankje glowmouse weer iets geleerd . [ Bericht 9% gewijzigd door cablegunmaster op 09-02-2011 10:52:52 ] | ||||||
erikkll | woensdag 9 februari 2011 @ 10:52 | |||||
Jullie oplossingen werken allebei niet, maar het idee is me wel duidelijk hoe ik dit netter kan oplossen! | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 10:53 | |||||
succes | ||||||
erikkll | woensdag 9 februari 2011 @ 10:55 | |||||
Dankjewel! Als ik er uit ben post ik het hier (ik denk niet meer vandaag, maar sowieso deze week ga ik ermee verder.) | ||||||
GlowMouse | woensdag 9 februari 2011 @ 10:55 | |||||
Wat je in ON en wat je in WHERE zet maakt bij LEFT JOIN wel flink uit, maar het helpt om leesbaarheid te vergroten. | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 11:00 | |||||
Daarom was mijn oplossing ook niet te lezen . | ||||||
GlowMouse | woensdag 9 februari 2011 @ 11:01 | |||||
Jij mist al een join. | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 11:03 | |||||
Goed dat ik geen Ict studeer [ Bericht 11% gewijzigd door cablegunmaster op 09-02-2011 11:21:05 ] | ||||||
Scorpie | woensdag 9 februari 2011 @ 12:28 | |||||
Even voor de wat meer onderlegde personen onder ons; Ik draai een WAMPserver installatie op een windows bak, maar sommige van mijn scripts worden maar ten dele geserveerd: Dit stukje code:
Wordt:
Hij mist dus het ajax: gedeelte. Iemand enig idee of dat een setting is van WAMP of van het CMS dat ik gebruik? (ExpressionEngine) | ||||||
GlowMouse | woensdag 9 februari 2011 @ 12:31 | |||||
Dat lijkt me door het cms komen. Zet eens {literal} en {/literal} om je Javascript. | ||||||
Scorpie | woensdag 9 februari 2011 @ 13:12 | |||||
Nope, nothing. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 13:14 | |||||
Het komt in ieder geval door je template-engine, die { en } ziet als tags. Je kunt \{ en \} proberen te gebruiken. Kijk anders naar de handleiding van de template-engine die je gebruikt, of laad javascript uit een aparte .js-file. | ||||||
Scorpie | woensdag 9 februari 2011 @ 13:28 | |||||
Okidokie | ||||||
MrNiles | woensdag 9 februari 2011 @ 18:46 | |||||
Ik wil graag dat de query alleen een echo geeft met de $id uit tabel optredens waar moet ik m ergens bij zetten?
| ||||||
Emery | woensdag 9 februari 2011 @ 18:52 | |||||
WHERE 'optredens_id' = '$id'; | ||||||
MrNiles | woensdag 9 februari 2011 @ 18:53 | |||||
maar daar staat al 'aanwezig'='o' mag je daar nog een regel bij zetten of een and of?? | ||||||
Emery | woensdag 9 februari 2011 @ 18:55 | |||||
Probeer eens. | ||||||
MrNiles | woensdag 9 februari 2011 @ 18:57 | |||||
WHERE 'aanwezig'='o' AND 'id'=$id "; werkt niet of iig..ik krijg geen output te zien terwijl dat wel zou moeten maar ook geen foutmelding...dus helemaal fout kan het niet wezen | ||||||
Tegan | woensdag 9 februari 2011 @ 19:05 | |||||
'-en moeten weg. | ||||||
Emery | woensdag 9 februari 2011 @ 19:07 | |||||
Snap sowieso niet wat je precies wil doen met $id. Wil je met GET een id uit de url ophalen en alleen het optreden tonen wat overeenkomt met dat id? | ||||||
MrNiles | woensdag 9 februari 2011 @ 19:09 | |||||
ik wil weergeven wie er op een bepaald op optreden($id) er nog niet heeft gereageerd('o')
als ik de aanwezig='o' weghaal en hier optredens_gebruikers.id=$id neer zet dan werkt het wel dus iets gaat er niet goed met de combinatie | ||||||
Emery | woensdag 9 februari 2011 @ 19:11 | |||||
Zou moeten werken met WHERE. Wat heb je in de variabele $id staan? | ||||||
Tegan | woensdag 9 februari 2011 @ 19:11 | |||||
Haal alle single quotes weg.
| ||||||
MrNiles | woensdag 9 februari 2011 @ 19:13 | |||||
ok..laatste update WHERE aanwezig='o' AND optredens_gebruikers.id=$id "; gaat niet goed WHERE optredens_gebruikers.id=$id AND aanwezig='o' "; gaat wel goed kan iemand mij uitleggen waarom de volgorde belangrijk is...hij kijkt toch naar EN/EN | ||||||
themole | woensdag 9 februari 2011 @ 19:24 | |||||
Is normaliter niet belangrijk. | ||||||
mstx | woensdag 9 februari 2011 @ 20:22 | |||||
Ook niet als je indexes (op meerdere kolommen) gebruikt? | ||||||
MrNiles | woensdag 9 februari 2011 @ 20:46 | |||||
waarschijnlijk kijk ik erover heen maar waarom lukt dit niet?
| ||||||
Tegan | woensdag 9 februari 2011 @ 20:47 | |||||
PHP in PHP. | ||||||
Tegan | woensdag 9 februari 2011 @ 20:50 | |||||
Snap je waarom het niet kon nu? | ||||||
MrNiles | woensdag 9 februari 2011 @ 20:50 | |||||
never mind...het wordt al laat | ||||||
Tegan | woensdag 9 februari 2011 @ 20:56 | |||||
Dit mag ook.
Maar een combi niet. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 20:58 | |||||
Nee. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 21:12 | |||||
Er zijn wel wat tricky dingetjes, zo is WHERE col1=1 AND (col2=5 OR col2=6) ORDER BY col2 beter dan WHERE (col1=1 AND col2=5) OR (col1=1 AND col2=6) ORDER BY col2 [ Bericht 2% gewijzigd door GlowMouse op 09-02-2011 21:23:38 ] | ||||||
ralfie | woensdag 9 februari 2011 @ 21:25 | |||||
Ik weet niet hoe Mysql intern werkt met dergelijke AND's, maar ik weet dat in programmeertalen je het beste de eerste test het meest specifiek kunt maken, omdat als die faalt, de tweede test niet meer uitgevoerd wordt: if (kleinekansopwaar AND grotekansopwaar) (indien kleinekansopwaar onwaar oplevert, zal de test grotekansopwaar niet meer uitgevoerd hoeven worden. Indien beide omgedraaid worden zal het aantal keer dat de tweede test uitgevoerd wordt een stuk minder zijn) Maar, zoals gezegd, dit is 100% afhankelijk van hoe mysql dit soort queries uitvoert. En daar heb ik geen idee van. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 21:27 | |||||
Bij MySQL zit veel tijd in het ophalen van de data, dus hij kan tijd winnen door zelf te kijken welke clause een kleine kans op waar heeft. Het is daarom belangrijk om één selectieve index te hebben. Als MySQL zo'n index herkent zal hij die kiezen onafhankelijk van waar hij in je WHERE-clause staat. | ||||||
MrNiles | woensdag 9 februari 2011 @ 21:40 | |||||
hoe mag ik een url opbouwen waarin meerdere GET variabelen in worden gezet? ik heb nu dit
maar hoe kan ik er bijvoorbeeld id=".$array['id'] bijzetten? | ||||||
Tegan | woensdag 9 februari 2011 @ 21:42 | |||||
[ Bericht 16% gewijzigd door Tegan op 09-02-2011 21:48:56 ] | ||||||
GlowMouse | woensdag 9 februari 2011 @ 21:46 | |||||
En gebruik rawurlencode om een string. | ||||||
MrNiles | woensdag 9 februari 2011 @ 21:46 | |||||
da vind ie nie fijn | ||||||
GlowMouse | woensdag 9 februari 2011 @ 21:47 | |||||
Buiten dat je & in je html moet gebruiken, wat gaat er mis dan? | ||||||
MrNiles | woensdag 9 februari 2011 @ 21:47 | |||||
| ||||||
Tegan | woensdag 9 februari 2011 @ 21:48 | |||||
De meeste van jouw vragen kan je overigens met een simpele Google search vinden... | ||||||
GlowMouse | woensdag 9 februari 2011 @ 21:49 | |||||
$array['name'] zal een string zijn. Wat gebeurt er als voor iemand geldt $array['name'] = 'asdf&id=4'? | ||||||
MrNiles | woensdag 9 februari 2011 @ 21:50 | |||||
thanx...ergens wat " verkeerd of gemist denk ik...damn...ik ga slapen...zie er niet meer van | ||||||
MrNiles | woensdag 9 februari 2011 @ 21:52 | |||||
klopt waarschijnlijk maar het probleem is...welke woorden gebruik je om te zoeken had nu geprobeerd multiple get url, dat soort dingen, maar geen succes het is echt niet dat ik hier als eerste alles vraag...soms lijkt het er wel op...sorry maar ik probeer best wat uit..maar het is zo frustrerend als je een lege pagina krijgt | ||||||
Tegan | woensdag 9 februari 2011 @ 21:53 | |||||
http://www.google.com/#sc(...)&fp=7828c4946c5db268 | ||||||
GlowMouse | woensdag 9 februari 2011 @ 21:53 | |||||
Ze bedoelt dat als je met Google wat zoekt, je het antwoord uit de url kan halen: http://www.google.nl/search?hl=nl&source=hp&biw=1280&bih=865&q=hoi&aq=f&aqi=g2g-s1g7&aql=&oq= check al die ampersandjes. | ||||||
Emery | woensdag 9 februari 2011 @ 21:54 | |||||
Zet je error report aan. | ||||||
Tegan | woensdag 9 februari 2011 @ 21:54 | |||||
| ||||||
Tegan | woensdag 9 februari 2011 @ 21:55 | |||||
Dit en lees een fatsoenlijke PHP-tutorial voordat je iets probeert te maken. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 21:56 | |||||
Fatsoenlijke PHP-tutorials zijn heel lastig om te vinden. Heb je een linkje? | ||||||
Tegan | woensdag 9 februari 2011 @ 21:57 | |||||
http://www.w3schools.com/php/default.asp | ||||||
KomtTijd... | woensdag 9 februari 2011 @ 21:57 | |||||
Er bestaat altijd discussie over wat wel en niet fatsoenlijk is, maar volgens mij heeft hij nog geen een vraag gesteld die niet op www.w3schools.com beantwoord wordt. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 21:57 | |||||
http://www.w3schools.com/php/php_intro.aspHoe oud is die tutorial? | ||||||
MrNiles | woensdag 9 februari 2011 @ 21:58 | |||||
staat aan | ||||||
GlowMouse | woensdag 9 februari 2011 @ 21:58 | |||||
display errors ook? | ||||||
MrNiles | woensdag 9 februari 2011 @ 21:59 | |||||
klopt maar lezen en toepassen zijn hele verschillende dingen je loopt tegen hele andere problemen aan als je echt iets gaat maken dan blijken de tutors wel heeeel erg basic uitleg te geven | ||||||
Emery | woensdag 9 februari 2011 @ 21:59 | |||||
Ik gebruik alleen maar .phtml. | ||||||
Tegan | woensdag 9 februari 2011 @ 22:00 | |||||
Waarom krijg je dan een wit scherm zonder errors? | ||||||
MrNiles | woensdag 9 februari 2011 @ 22:00 | |||||
like this?
| ||||||
Emery | woensdag 9 februari 2011 @ 22:01 | |||||
Ach, ik snap MrNiles wel. Ik moest ook een paar keer kijken en vragen voor ik snapte hoe een JOIN werkt, terwijl ik al wel een paar tutorials had gelezen. Zodra iemand het je uitlegt of de code uit elkaar trekt en het één voor één duidelijk maakt is het veel makkelijker. Het is tenslotte ook het 'voor dummies'-topic. Dit topic is toch voor dat soort vragen. | ||||||
Tegan | woensdag 9 februari 2011 @ 22:02 | |||||
Maar als wij het voorkauwen leer je ook niets. Een simpel antwoord snap je ook niet. Nee, ik moet echt het toepassen op je code. Dus, zolang je dat niet kan moet je je niet aan dat project van je wagen. | ||||||
Emery | woensdag 9 februari 2011 @ 22:03 | |||||
Dit is wel zo. Vertellen wat er eventueel fout gaat en vervolgens een duw geven in de goede richting werkt beter dan dat mensen hier elke keer de codes voorkauwen. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:03 | |||||
Dat werkt niet als je een parse error hebt omdat dan die regels code ook niet worden uitgevoerd. Als het standaard uitstaat, moet je het via .htaccess (mits Apache) aanzetten. Waarom gebruik je ob_start()? | ||||||
themole | woensdag 9 februari 2011 @ 22:04 | |||||
Daarom heb je vaak ook goede boeken over php, hierin staan vaak voorbeelden. Natuurlijk moet je ook zelf inzicht ontwikkelen in het programmeren. | ||||||
MrNiles | woensdag 9 februari 2011 @ 22:05 | |||||
net als de rest...gelezen ergens op internet | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:06 | |||||
Niet doen, ob_start() is stom. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:06 | |||||
| ||||||
Tegan | woensdag 9 februari 2011 @ 22:06 | |||||
Goede boekentips? Ik vind vrijwel alle boeken te basic. Echt dingen waar ik mee zit, zoals hoe beveilig me voor injections, worden dan niet eens uitgelegd. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:10 | |||||
http://phpsecurity.org/ ? niet gelezen overigens. | ||||||
Tegan | woensdag 9 februari 2011 @ 22:12 | |||||
Klinkt goed. Thanks. | ||||||
themole | woensdag 9 februari 2011 @ 22:12 | |||||
Dat is idd het enige nadeel van de boeken. Thuis heb ik een oude versie van dit boek liggen. De versie die ik heb is zeer goed te doen voor beginnende programmeurs in php. Maar security wordt hier idd niet in besproken. Daar heb je wel goede tutorials voor op internet. | ||||||
Emery | woensdag 9 februari 2011 @ 22:13 | |||||
Kende ik ook niet! Thanks. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:14 | |||||
En stoeien met post #114 natuurlijk. | ||||||
Tegan | woensdag 9 februari 2011 @ 22:16 | |||||
Nee, ik weet hem niet. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:17 | |||||
Dan wordt hoi.phpxxxx aangemaakt, en niet hoi.php. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:18 | |||||
Je geeft veel te snel op. | ||||||
Tegan | woensdag 9 februari 2011 @ 22:19 | |||||
hoi.php, <integer> Zoiets? | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 22:19 | |||||
vraagje wat is de tegenhanger van SELECT * FROM `streambericht` GROUP BY streamid een group by? is daar een tegenhanger van ? dat ik alle post krijg die hier uitgefiltert worden ? | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:21 | |||||
Nee, het argument wordt altijd wel goed doorgegeven. Dat zou anders zijn als ik eval(substr($filename, -4)) zou gebruiken, maar eval is evil. En dan nog zou het bestand "hoi.php, <integer>" worden aangemaakt en niet hoi.php. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:22 | |||||
waarom is SELECT * FROM `streambericht` WHERE streamid =1 niet goed? | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 22:23 | |||||
die where hoorde er niet te staan . Komt erop neer ik wou een tabel met Streambericht maken hierop is dan de eerste post een soort van KOP en alles erop een reactie. als dat niet mogelijk is maak ik een reactie tabel erbij. maar dit leek me praktischer. Streambericht id streamid time userid text | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:24 | |||||
Sorteren op tijd en dan in je code de eerste anders weergeven. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:24 | |||||
Hint: http://en.wikipedia.org/wiki/C_string | ||||||
themole | woensdag 9 februari 2011 @ 22:24 | |||||
Ziet er goed uit. Komende tijd lezen. | ||||||
cablegunmaster | woensdag 9 februari 2011 @ 22:25 | |||||
Dankje . ik had het zelf moeten bedenken . | ||||||
Tegan | woensdag 9 februari 2011 @ 22:26 | |||||
hoi.php5 | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:27 | |||||
Dan wordt hoi.php5 aangemaakt, niet hoi.php | ||||||
Tegan | woensdag 9 februari 2011 @ 22:28 | |||||
Same thing. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:28 | |||||
Nee, de vraag was "Wie kiest $filename zodat het bestand 'hoi.php' wordt aangemaakt?". | ||||||
Tegan | woensdag 9 februari 2011 @ 22:31 | |||||
hoi.php<vier spaties> | ||||||
mstx | woensdag 9 februari 2011 @ 22:32 | |||||
Kleine tip: zorg dat apache uitstaat (en in iedergeval php aan) als je een backup terugzet op een live server zodat niet iedereen tussendoor je bestanden kan jatten. kwam er een beetje laat achter | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:33 | |||||
Jeej, volgende:
| ||||||
Tegan | woensdag 9 februari 2011 @ 22:35 | |||||
Wojo, en ik had niet eens geGoogled. | ||||||
Tegan | woensdag 9 februari 2011 @ 22:47 | |||||
hoi.php& #32; zonder spatie. | ||||||
KomtTijd... | woensdag 9 februari 2011 @ 22:48 | |||||
1337 h4x0r! Snel, meld je aan bij Anonymous! | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:49 | |||||
die maakt netjes hoi.php& #32; aan. | ||||||
Emery | woensdag 9 februari 2011 @ 22:51 | |||||
Perhaps a little explanation want ik snap er de ballen van. Zit al op Google te kijken, en die C wikipedia pagina van net, maar alsnog snap ik het niet. | ||||||
Tegan | woensdag 9 februari 2011 @ 22:51 | |||||
. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:52 | |||||
gesnapt? | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:52 | |||||
Die spatie heeft er weinig mee te maken nog. Denk nog maar verder, uitleg komt morgen. | ||||||
Emery | woensdag 9 februari 2011 @ 22:54 | |||||
Tof. | ||||||
Tegan | woensdag 9 februari 2011 @ 22:54 | |||||
Ik snap het gelukkig ook niet echt. Gewoon random dingen roepen. hoi.php<een spatie> had ook gewerkt bij #1 toch? Bedenk ik me net. | ||||||
Tegan | woensdag 9 februari 2011 @ 22:58 | |||||
Ik vind geen loophole op http://php.net/manual/en/function.trim.php . | ||||||
GlowMouse | woensdag 9 februari 2011 @ 22:58 | |||||
Ja, één spatie had ook gewerkt. De string die je moet maken begint met hoi.php, eindigt met een hoofdletter T (maar dat laatste mag ook wat anders zijn) | ||||||
princesselisah | woensdag 9 februari 2011 @ 23:03 | |||||
Jezus, begrijp hier helemaal niets van. Is dat dan alleen omdat ik een meisje ben? | ||||||
Emery | woensdag 9 februari 2011 @ 23:04 | |||||
Zie Tegan. | ||||||
GlowMouse | woensdag 9 februari 2011 @ 23:04 | |||||
| ||||||
Emery | woensdag 9 februari 2011 @ 23:06 | |||||
hoi.php\T | ||||||
KomtTijd... | woensdag 9 februari 2011 @ 23:06 | |||||
Ik snap dat ik het niet snap, en dat ik dus extreem voorzichtig moet zijn met iedere vorm van user input. Dat is genoeg. | ||||||
Tegan | woensdag 9 februari 2011 @ 23:30 | |||||
hoi.php\R hoi.php\N Dit zou wel flauw zijn. | ||||||
Emery | donderdag 10 februari 2011 @ 00:03 | |||||
Ik snap het nog steeds niet echt. | ||||||
Tegan | donderdag 10 februari 2011 @ 00:09 | |||||
Die eerste snap je toch wel? | ||||||
KomtTijd... | donderdag 10 februari 2011 @ 00:15 | |||||
Het is een demonstratie van een veelgebruikte hacktechniek. Iemand denkt: "Ik maak een website waar mensen bestanden kunnen uploaden, maar geen .php-bestanden, want het is natuurlijk niet de bedoeling dat iemand anders scripts uitvoert op mijn server" Maar glowmouse laat ziet dat het vrij eenvoudig is met wat ongebruikelijke tekens, toch een .php-bestand te uploaden wat dus gewoon uitvoerbaar is. Kortom de beveiliging deugt niet. | ||||||
themole | donderdag 10 februari 2011 @ 09:31 | |||||
Dus wat je beter kan doen is ervoor zorgen dat er geen scripts worden uitgevoerd in de map waar je de spullen upload. Daarnaast kan je voor de zekerheid nog steeds die beveiliging inbouwen in het uploadscript. | ||||||
mstx | donderdag 10 februari 2011 @ 09:37 | |||||
Of je maakt gewoon een whitelist van de extensies ipv een blacklist. | ||||||
Scorpie | donderdag 10 februari 2011 @ 10:16 | |||||
Dat, plus http://mysql-apache-php.com/fileupload-security.htm (behalve dan de blacklist gedeelte). | ||||||
KomtTijd... | donderdag 10 februari 2011 @ 10:51 | |||||
Nu we het hier toch over hebben, als je een bestand laat uploaden, maar niet opslaat maar direct vanaf de tmp locatie gebruikt. Dan kan iemand daar verder weinig mee doen toch? dit ivm die XML-functie die ik geschreven heb. Als het bestand geen XML is volgens het juiste schema, gebeurt er verder niets met het bestand. | ||||||
GlowMouse | donderdag 10 februari 2011 @ 12:39 | |||||
Als ik != '.php' in mijn script vervang door == '.jpg', dan is dat niet veiliger. De tekst op de pagina mist wat essentiële zaken. Hun blacklist faalt ook hard, en "Because your upload folder permission is 777, your site user are free to upload anything." suggereert een grote onwaarheid. Getimagesize geeft geen garantie dat er ook daadwerkelijk een plaatje geüpload is. Met het script zoals het daar staat, kan ik .php-files op de server krijgen | ||||||
GlowMouse | donderdag 10 februari 2011 @ 12:50 | |||||
Dat ligt er maar net aan. Tegenwoordig zijn remote file inclusions per configuratie uitgeschakeld, maar local file inclusions niet. Een slecht script kan daardoor lokale bestanden includen. Gedurende de looptijd van je script is het bestand op de tmp locatie beschikbaar. | ||||||
KomtTijd... | donderdag 10 februari 2011 @ 13:17 | |||||
Wat doe ik fout? | ||||||
KomtTijd... | donderdag 10 februari 2011 @ 13:22 | |||||
Maar dan moet iemand dus eerst al een script op je server planten wat 'm include... Als je zo ver bent heb je dat al niet meer nodig. | ||||||
GlowMouse | donderdag 10 februari 2011 @ 13:24 | |||||
Dit moet met een subquery: WHERE DATE(starttime)= (SELECT MAX(DATE(....Ik heb het daarom ook over een slecht script dat zich al op de server bevindt. Zeker in shared hosting situaties heb je het niet altijd voor het zeggen. | ||||||
KomtTijd... | donderdag 10 februari 2011 @ 13:27 | |||||
Hmm goed punt. | ||||||
remi1986 | donderdag 10 februari 2011 @ 14:11 | |||||
Kan je niet gewoon SELECT MAX(starttime) doen? | ||||||
GlowMouse | donderdag 10 februari 2011 @ 14:46 | |||||
Wat als je ook meer informatie wilt over wat er op die tijd is? Je kunt ook aflopend op starttijd sorteren icm limit 1, maar dat is minder snel als je geen index op starttijd hebt. | ||||||
KomtTijd... | donderdag 10 februari 2011 @ 14:56 | |||||
Nee, ik wil alle vluchten zien van de laatste vliegdag. Ik moet dus 1) weten welke dag de laatste vliegdag was, en 2) welke vluchten er toen zijn gemaakt. Bovendien is starttime een datetime veld, dus ik moet alleen de date hebben, anders vindt'ie alleen vluchten die op de seconde gelijk gestart zijn... | ||||||
GlowMouse | donderdag 10 februari 2011 @ 15:00 | |||||
Als je tabel heel veel vliegdagen gaat bevatten, zal het sneller zijn om met een index op starttime te doen starttime >= (SELECT F(MAX(DATE(starttime))) FROM ...) waarbij je even moet zoeken wat je voor F moet gebruiken om een datetime te krijgen met die datum en als tijdstip 00:00:00. | ||||||
KomtTijd... | donderdag 10 februari 2011 @ 15:13 | |||||
is 1000 veel of is 1.000.000 veel? | ||||||
GlowMouse | donderdag 10 februari 2011 @ 15:22 | |||||
Een miljoen verschillende dagen is erg veel, dan heb je het over minimaal 2739 jaar tussen de eerste en de laatste vliegdag. Wanneer het over vliegtuigen gaat en niet over diertjes, zul je op zijn vroegst in 1903 beginnen met tellen. De kans is klein dat je software in 4642 nog gebruikt wordt. Bij 1000 dagen zul je de optimalisatie al zeker merken. | ||||||
KomtTijd... | donderdag 10 februari 2011 @ 15:38 | |||||
Dat bedoel ik, als het pas vanaf een miljoen aan gaat tikken zou het in dit geval een zinloze micro-optimalisatie zijn. 't Hoeft sowieso geen high-performance applicatie te worden maar als de pageload tijden wat omlaag kunnen is natuurlijk altijd leuk... | ||||||
remi1986 | donderdag 10 februari 2011 @ 15:38 | |||||
Wat je natuurlijk wel kan hebben is meerdere vliegdata op één dag. Als je dan kijkt naar de where date= max(date) (met die subquery) heb je wel meer records | ||||||
GlowMouse | donderdag 10 februari 2011 @ 19:00 | |||||
Het aantal reacties valt tegen. Dan zal ik het maar verklappen. Pak dit stukje code:
Op http://mysql-apache-php.com/fileupload-security.htm staat dit stukje:
Dit kun je maar op één manier voorkomen. Je kunt het plaatje resizen, maar ondanks dat het een stuk lastiger om een plaatje te vinden dat na resizen de code <?php echo 'hoi'; ?> bevat, is het niet onmogelijk. De manier is daarom om plaatjes waar <?php in voorkomt gewoon te blokkeren. Als plaatjes 1MB zijn, kun je de kans p berekenen dat je een plaatje ten onrechte afkeurt (onder de aanname dat de 0/1'en willekeurig, onafhankelijk en identiek zijn verdeeld): <?php is vijf bytes. De kans dat vijf willekeurige bytes niet overeenkomen met <?php, is 1-(1/256)5. Je wilt dat in de file van 1MB alle vijf opvolgende bytes verschillend zijn. Er zijn ongeveer een miljoen opeenvolgende series van vijf bytes in een bestand van 1MB. De kans dat er geen <?php in je file zit, is ongeveer 1-p = (1-(1/256)5)1.000.000. Dit is lastig om nauwkeurig te berekenen, daarom pakken we de logaritme: log(1-p) = 1.000.000 log(1-(1/256)5) ~= -10-6. Omdat voor kleine p geldt dat log(1-p) = -p, weten we dat p = 10-6. Je keurt dus één op de miljoen files ten onrechte af. | ||||||
Tegan | donderdag 10 februari 2011 @ 19:19 | |||||
Hier raakte je me kwijt. Maar het is ook niet echt belangrijk dat je sommige files ten onrechte afkeurt, als je maar zeker weet dat er geen .php-bestanden op je server terecht komen . | ||||||
GlowMouse | donderdag 10 februari 2011 @ 19:23 | |||||
Ik gebruik log(ab) = b*log(a) en log(1+x)=x (voor kleine x). | ||||||
KomtTijd... | vrijdag 11 februari 2011 @ 01:15 | |||||
Kan dit efficienter?
| ||||||
GlowMouse | vrijdag 11 februari 2011 @ 01:17 | |||||
iets met imploden op AND? | ||||||
KomtTijd... | vrijdag 11 februari 2011 @ 01:23 | |||||
Thnx! | ||||||
GlowMouse | vrijdag 11 februari 2011 @ 01:25 | |||||
waarom keys gebruiken als [] volstaat? | ||||||
KomtTijd... | vrijdag 11 februari 2011 @ 01:31 | |||||
Omdat het laat is! | ||||||
ursel | vrijdag 11 februari 2011 @ 01:32 | |||||
held. Mooi stukje les in dit topic zeg. | ||||||
KomtTijd... | vrijdag 11 februari 2011 @ 01:35 | |||||
(dat het formulier verstuurd is betekent niet dat er ook wat ingevuld is) | ||||||
KomtTijd... | vrijdag 11 februari 2011 @ 02:10 | |||||
Hiervan heb ik ook het idee dat het efficienter kan Doel: de totale vlieguren van alle vluchten in een bepaalde selectie | ||||||
remi1986 | vrijdag 11 februari 2011 @ 09:40 | |||||
Just a thought, maar neem aan dat het veldtype DATETIME is ? Kan je dan niet met SUM en TIMEDIFF het verschil berekenen (of een totaal aantal uren) en met PHP de datum/tijd formatten met date() of mktime() ? | ||||||
Light | vrijdag 11 februari 2011 @ 09:49 | |||||
Je kunt beter DATE(MAX(starttime)) gebruiken. En voor zover ik weet wordt de tijdcomponent van een date-field op 0 gesteld als je gaat vergelijken met een datetime, dus daar heb je geen extra functie F voor nodig. | ||||||
KomtTijd... | vrijdag 11 februari 2011 @ 09:54 | |||||
SUM(TIMEDIFF(tijd,tijd) ging fout. Dan telt hij niet goed op (blijkbaar kan SUM niet echt tijden optellen. Vandaar eerst de conversie naar seconden en daarna weer terug naar time. En ja ergens moet je de tijd formatten, helaas kan ik dat in dit geval niet aan de template overlaten want dan moet het weer een geldig datetime object worden, terwijl een totale tijd van 48 uur nu gewoon als 48:00 wordt weergegeven. | ||||||
GlowMouse | vrijdag 11 februari 2011 @ 10:06 | |||||
http://dev.mysql.com/doc/(...)tml#function_addtime | ||||||
KomtTijd... | vrijdag 11 februari 2011 @ 10:08 | |||||
Die had ik gevonden, maar die doet twee variables optellen, niet een hele kolom... | ||||||
Tegan | vrijdag 11 februari 2011 @ 10:16 | |||||
Kan je ze niet in de database opslaan als timestamp. En dan alleen het verschil berekenen. Die kan je ook zo omzetten naar de datetime als je dat wil. [/newb] | ||||||
GlowMouse | vrijdag 11 februari 2011 @ 10:18 | |||||
Als je met timestamps wilt rekenen, is er nog unix_timestamp(col1) | ||||||
remi1986 | vrijdag 11 februari 2011 @ 10:23 | |||||
Heb ook even gepuzzeld (kan niet te lang, ben op werk), maar krijg met timediff de tijd terug in miliseconden denk ik. Nog iets geprobeerd daar een date_format omheen te gooien, maar zonder resultaat. Met timestamps zal het wel makkelijker worden inderdaad | ||||||
MrNiles | zaterdag 12 februari 2011 @ 09:52 | |||||
open sollicitatie voor anonymous hier ofzo -nee- [ Bericht 47% gewijzigd door smegmanus op 13-02-2011 18:34:10 ] | ||||||
Light | zaterdag 12 februari 2011 @ 10:36 | |||||
Je kunt het ook anders proberen: TIMEDIFF(SUM(eindtijd), SUM(begintijd)) | ||||||
themole | zaterdag 12 februari 2011 @ 13:12 | |||||
[knip]reactie op edit [/knip] [ Bericht 39% gewijzigd door smegmanus op 13-02-2011 18:34:49 ] | ||||||
GlowMouse | zaterdag 12 februari 2011 @ 13:39 | |||||
En je moet jezelf afvragen of het voordeel opweegt tegen de overlast die je anderen bezorgt en de gevangenisstraf die je ervoor kunt krijgen. | ||||||
Chandler | zaterdag 12 februari 2011 @ 21:05 | |||||
Ik heb een query op een tabel met een kleine 250.000 regels, nu wil ik daarin zoeken op tags met de volgende code
Explain:
Ik heb op deze tabel de volgende indexen;
Wat doe ik verkeerd of hoe kan ik zorgen dat deze query beter loopt? want 2 seconden op 250.000 items is volgens mij best veel | ||||||
GlowMouse | zaterdag 12 februari 2011 @ 21:06 | |||||
LIKE '%,cool%' moet je dan ook niet willen doen. | ||||||
Chandler | zaterdag 12 februari 2011 @ 21:12 | |||||
Goed, dat zou kunnen maar hoe moet ik het dan willen oplossen of moet ik een apart tabel gaan gebruiken om te zoeken op tags? | ||||||
GlowMouse | zaterdag 12 februari 2011 @ 21:13 | |||||
Voor tags heb ik een mooi naslagwerk gemaakt: http://gathering.tweakers.net/forum/list_messages/1429432 Je post #202 is onleesbaar trouwens. Zo geef je geen indices weer. | ||||||
Chandler | zaterdag 12 februari 2011 @ 21:16 | |||||
Ik ga je naslag werk eens lezen, maar hoe moet ik die dan weergeven? | ||||||
GlowMouse | zaterdag 12 februari 2011 @ 21:16 | |||||
(col1,col2), (col4), etc. | ||||||
Chandler | zaterdag 12 februari 2011 @ 21:24 | |||||
Ik ga je naslag werk uitprinten, dit moet ik even laten bezinken denk ik | ||||||
MrNiles | zondag 13 februari 2011 @ 10:09 | |||||
als ik het volgende uitvoer dan krijg op mijn scherm te staan optredens.id en ik zie eigenlijk ook wel dat het er staat..maar zonder quotes krijg ik de foutmelding: Use of undefined constant optredens - assumed 'optredens' ik zie m echt niet
| ||||||
cablegunmaster | zondag 13 februari 2011 @ 10:45 | |||||
[ Bericht 12% gewijzigd door cablegunmaster op 13-02-2011 11:05:59 ] | ||||||
Tegan | zondag 13 februari 2011 @ 10:54 | |||||
Wat wil je met die id's? Alleen alle id's echo-en? | ||||||
MrNiles | zondag 13 februari 2011 @ 11:04 | |||||
nee die echo is puur even een controle of het wel werkt wil met die id een nieuwe kolom in een andere tabel aanmaken | ||||||
Tegan | zondag 13 februari 2011 @ 11:50 | |||||
Dus, je query moet eigenlijk maar een id vinden? | ||||||
MrNiles | zondag 13 februari 2011 @ 11:57 | |||||
ja klopt maar die id is pas een paar regels hoger aangemaakt door
| ||||||
remi1986 | zondag 13 februari 2011 @ 12:05 | |||||
Je kan een laatst ingevoerde id krijgen met mysql_insert_id(); Dus je doet eerst je INSERT, en daarna $id = mysql_insert_id(); http://php.net/manual/en/function.mysql-insert-id.php | ||||||
GlowMouse | zondag 13 februari 2011 @ 12:15 | |||||
Kolomnamen en tabelnamen schrijf je zonder apostrof eromheen. | ||||||
Tegan | zondag 13 februari 2011 @ 18:30 | |||||
Dit had ik al een aantal keer gezegd . | ||||||
GlowMouse | zondag 13 februari 2011 @ 18:38 | |||||
Hij luistert niet . | ||||||
MrNiles | zondag 13 februari 2011 @ 19:27 | |||||
SORRY | ||||||
henkm | zondag 13 februari 2011 @ 21:28 | |||||
Alvast bedankt | ||||||
Tegan | zondag 13 februari 2011 @ 22:04 | |||||
- Integers moet je zonder apestrof schrijven. - If ($selfSecure) wat? - Je mist "; } } op het eind (en ?>). [ Bericht 8% gewijzigd door Tegan op 13-02-2011 22:09:59 ] | ||||||
henkm | zondag 13 februari 2011 @ 22:16 | |||||
| ||||||
Emery | zondag 13 februari 2011 @ 22:18 | |||||
Integer: $selfSecure = "1"; | ||||||
henkm | zondag 13 februari 2011 @ 22:19 | |||||
$selfSecure = 1; zo heb ik het ook geprobeerd, helaas herkend hij dan nog niet mijn naam en wachtwoord, hij blijft erom vragen. | ||||||
Tegan | zondag 13 februari 2011 @ 22:21 | |||||
Dat was ook niet de oplossing, maar wel een fout . Wat doe je hier checken?
Verder weet ik ook niet echt veel over email-scripts. | ||||||
GlowMouse | zondag 13 februari 2011 @ 22:23 | |||||
Daar wordt gekeken of $selfSecure true (of 1, of een string die niet met 0 begint) is. | ||||||
Tegan | zondag 13 februari 2011 @ 22:24 | |||||
Oh, doe dat altijd zo if ($var == true) . | ||||||
GlowMouse | zondag 13 februari 2011 @ 22:26 | |||||
dat moet zijn: if(isset($_SERVER['PHP_AUTH_USER'])){ En $HTTP_SERVER_VARS overal vervangen door $_SERVER. | ||||||
henkm | zondag 13 februari 2011 @ 22:34 | |||||
het mailgedeelte werkt nu wel door de veranderingen van GlowMouse. Maar helaas wordt mijn naam en wachtwoord nog niet herkend. deze code heb ik nu na alle aanpassingen. Bedankt voor de moeite!
| ||||||
GlowMouse | zondag 13 februari 2011 @ 22:36 | |||||
waarom de ene keer $PHP_AUTH_USER, de andere keer $_SERVER['PHP_AUTH_USER']? Alleen de laatste werkt nog. De eerste leer je alleen uit tutorials van 5 jaar oud. | ||||||
henkm | zondag 13 februari 2011 @ 22:41 | |||||
Beste GlowMouse, sorry voor mijn dommigheid. Ik heb gedaan wat je getypt heb maar helaas loopt hij nu helemaal vast. | ||||||
PiRANiA | zondag 13 februari 2011 @ 22:43 | |||||
"Loopt helemaal vast" is niet duidelijk. Wat verwacht je en wat gebeurt er? | ||||||
henkm | zondag 13 februari 2011 @ 22:45 | |||||
Hij loopt vast op regel 33, daar staat nu username used: $_SERVER['PHP_AUTH_USER'] foutmelding is Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/henk/domains/domein/public_html/p_protect.php on line 33 | ||||||
PiRANiA | zondag 13 februari 2011 @ 22:48 | |||||
Geef je hele regel eens? | ||||||
KomtTijd... | zondag 13 februari 2011 @ 22:48 | |||||
Ik weet niet helemaal of ik het het beste hier kan vragen of in het linux-topic, maar PHPMyAdmin zegt:
| ||||||
Tegan | zondag 13 februari 2011 @ 22:49 | |||||
username used: ".$_SERVER["PHP_AUTH_USER"]." password used: ".$_SERVER["PHP_AUTH_PW"]." | ||||||
henkm | zondag 13 februari 2011 @ 22:50 | |||||
| ||||||
GlowMouse | zondag 13 februari 2011 @ 22:52 | |||||
je /tmp map niet. | ||||||
Emery | zondag 13 februari 2011 @ 22:52 | |||||
; | ||||||
PiRANiA | zondag 13 februari 2011 @ 22:53 | |||||
Je doet je quotes echt grandioos mis. Zoek even een basistutorial op... | ||||||
henkm | zondag 13 februari 2011 @ 22:53 | |||||
Tegan, bedankt voor je tip, aangepast, foutmelding is weg maar login wordt nog niet herkend, | ||||||
KomtTijd... | zondag 13 februari 2011 @ 22:55 | |||||
david@david-laptop:~$ sudo chown -R root:root /tmp david@david-laptop:~$ sudo chmod -R 777 /tmp verandert niets heb 'm ook geprobeerd te chownen naar david:david maar dan doet'ie het ook niet. Zou ook niet logisch zijn, ik start lampp als root. | ||||||
GlowMouse | zondag 13 februari 2011 @ 22:59 | |||||
disk vol? kijk anders naar http://dev.mysql.com/doc/refman/5.0/en/cannot-create.html | ||||||
henkm | zondag 13 februari 2011 @ 23:06 | |||||
Overigens krijg ik deze mail: Iemand probeerde binnen te komen in het bangedeelte: http://www. en gebruikte de verkeerde naam en het verkeerde wachtwoord: Date: 2011-02-13 22:46:11 User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30618; InfoPath.2) username used: test password used: test1 Hij ziet dus wel mijn naam en wachtwoord goed, maar laat mij niet binnen, hij blijft die popup geven dat ik moet inloggen. Heel apart. Iemand nog een idee? Laatste keer de code die ik nu heb.
| ||||||
henkm | zondag 13 februari 2011 @ 23:06 | |||||
dubbel | ||||||
KomtTijd... | zondag 13 februari 2011 @ 23:07 | |||||
Ook niet. Ik installeer lampp even overnieuw. Misschien helpt dat... -edit- Wazigheid ten top, met een nieuwe lampp install gaat het allemaal weer goed. [ Bericht 7% gewijzigd door KomtTijd... op 14-02-2011 00:08:11 ] | ||||||
remi1986 | maandag 14 februari 2011 @ 09:29 | |||||
Edit.. keek ff verkeerd | ||||||
cablegunmaster | maandag 14 februari 2011 @ 09:34 | |||||
denk dat hier een fout in zit. | ||||||
remi1986 | maandag 14 februari 2011 @ 09:38 | |||||
Hier doe je een check op $PHP_AUTH_USER en $PHP_AUTH_PW, maar in de email doe je $_SERVER["PHP_AUTH_USER"]. Verander dat if statement eens naar de $_SERVER variabelen. | ||||||
cablegunmaster | maandag 14 februari 2011 @ 09:38 | |||||
Goed gezien nu nog wachten op reactie | ||||||
remi1986 | maandag 14 februari 2011 @ 09:39 | |||||
Haha en dat op maandagochtend | ||||||
Chandler | maandag 14 februari 2011 @ 14:09 | |||||
@GlowMouse; ben nu mijn database aan't omzetten en gebruik de paden (directories) als tags voor de plaatjes, had in een eerste test ruim 300.000 tags en ruim 1,5Miljoen links van plaatjes/tags. Nu opnieuw gestart ivm aanpassingen met tabellen dus eens kijken wat het oplevert! | ||||||
MrNiles | maandag 14 februari 2011 @ 14:24 | |||||
omdat ik zat te pielen met
heb ik toch nog een vraagje over het toevoegen van een kolom in een tabel is het volgende niet mogelijk of wel (want het lukt me niet)
| ||||||
GlowMouse | maandag 14 februari 2011 @ 14:29 | |||||
Zoiets kan ja, maar dat wil je niet. | ||||||
MrNiles | maandag 14 februari 2011 @ 14:32 | |||||
nouja..eigenlijk wel.. maar waarom niet? trouwens als ik het zo doe dan krijg ik een kolom met de naam "$kolomnaam" | ||||||
GlowMouse | maandag 14 februari 2011 @ 14:34 | |||||
Je moet je eerst in databases verdiepen voordat je zulke rare dingen doet. | ||||||
MrNiles | maandag 14 februari 2011 @ 14:46 | |||||
Tips waar te beginnen zijn welkom! | ||||||
GlowMouse | maandag 14 februari 2011 @ 14:49 | |||||
Elke databsetutorial zal helpen. Zodra je variabele kolomnamen gebruikt, doe je wat fout. | ||||||
MrNiles | maandag 14 februari 2011 @ 14:54 | |||||
ok..misschien dan wel een tipje welk hoek ik moet zoeken om een kolom toe te voegen met een bepaalde naam? | ||||||
GlowMouse | maandag 14 februari 2011 @ 14:55 | |||||
Dat wil je helemaal niet met een script doen. | ||||||
MrNiles | maandag 14 februari 2011 @ 14:57 | |||||
hoe dan | ||||||
Tegan | maandag 14 februari 2011 @ 14:58 | |||||
phpMyAdmin bijvoorbeeld. | ||||||
MrNiles | maandag 14 februari 2011 @ 15:02 | |||||
ja ok..maar voor mijn toepassing lijkt me dat niet handig of zit ik helemaal verkeerd te denken? mijn doel: ik wil per datum een kolom aanmaken waarin mensen hun aanwezigheid kunnen aangeven die kolom zou ik graag een unieknr geven Is dit dan niet de goede manier..want het lijkt me niet de bedoeling om met de hand kolommen toe te moeten voegen? | ||||||
KomtTijd... | maandag 14 februari 2011 @ 15:06 | |||||
Een database is geen spreadsheet! je kunt gewoon twee kolommen maken, <naam> | <datum_aanwezig>. Dat is toch genoeg? | ||||||
themole | maandag 14 februari 2011 @ 15:16 | |||||
Dit of elke datum een id meegeven, elke persoon een id meegeven en deze aan elkaar koppelen via een tabel. Zo kan een datum meerder personen hebben die aanwezig zijn. | ||||||
Scorpie | maandag 14 februari 2011 @ 15:17 | |||||
Inderdaad. 'Je moet van links naar rechts lezen, niet van boven naar beneden' zei mijn database leraar altijd. | ||||||
Tegan | maandag 14 februari 2011 @ 15:20 | |||||
Een kolom is niet gelijk aan een cel. http://www.w3schools.com/sql/sql_join_inner.asp | ||||||
KomtTijd... | maandag 14 februari 2011 @ 15:22 | |||||
Ja met <naam> bedoel ik natuurlijk een verwijzing naar een naam... Maar een derde koppeltabel lijkt me in dit geval een beetje overdreven, een datum is van zichzelf al herkenbaar, hoeft niet eerst een apart id te krijgen... | ||||||
MrNiles | maandag 14 februari 2011 @ 15:26 | |||||
ik begrijp wat jullie zeggen..denk ik maar ik was bang voor "vervuiling" van de datatbase Dus eigenlijk kan ik het best voor mijn toepassing voor elke datum een nieuwe tabel aanmaken waarin alle gebruikers in worden toegevoegd? Mijn gedachte om alle gebruikers in een database te hebben en dan elke keer een datum toevoegen...verkeerd om gedacht | ||||||
Tegan | maandag 14 februari 2011 @ 15:27 | |||||
Nee. Lees dit http://www.w3schools.com/sql/sql_join_inner.asp . | ||||||
remi1986 | maandag 14 februari 2011 @ 15:28 | |||||
Iedere gebruiker heeft een id. Dan kan je een koppeltabel maken met date,user_id,present Als je wil weten welke gebruikers er op een datum komen doe je SELECT WHERE date= Als je wil weten op welke datum een bepaalde gebruiker komt SELECT WHERE user_id = Zo hoef je geen kolommen of extra tabellen aan te maken | ||||||
Light | maandag 14 februari 2011 @ 15:34 | |||||
Dan heb je niet eens een kolom present nodig. Iedere rij in de database impliceert al dat de gebruiker op die dag aanwezig is. Als iemand niet aanwezig is op een bepaalde dag, komt die combinatie gewoon niet voor. | ||||||
remi1986 | maandag 14 februari 2011 @ 15:34 | |||||
De reden waarom je $kolomnaam krijgt, is omdat je gewoon $kolom in de string hebt staan. Als je de waarde van een php variabele wil, doe je
En wat ik zelf altijd doe, als extra veiligheid is PHP variablen escapen met mysql_real_escape_string(). | ||||||
remi1986 | maandag 14 februari 2011 @ 15:35 | |||||
Heb je helemaal gelijk in. Het was ff snel als idee. Met present kan je misschien nog aangeven of er meerdere personen komen. Maar inderdaad, in mijn uitleg daaronder is de present kolom niet nodig. Excuses... | ||||||
GlowMouse | maandag 14 februari 2011 @ 15:41 | |||||
Je vergeet de backticks. | ||||||
remi1986 | maandag 14 februari 2011 @ 15:43 | |||||
Backticks gebruik ik nooit http://www.pfz.nl/wiki/backticks/ | ||||||
GlowMouse | maandag 14 februari 2011 @ 15:50 | |||||
Ik zei dat mysql_real_escape_string in dit geval helemaal niks helpt. | ||||||
mstx | maandag 14 februari 2011 @ 17:52 | |||||
Ik snap niet helemaal wat de schrijver van die tekst bedoelt. In onderstaande voorbeeld bewijst hij juist toch dat je ze wel moet gebruiken? Tenzij hij bedoelt dat je geen reserved words als kolomnamen moet gebruiken, maar dan nog maakt het niet uit als je backticks gebruikt. Ik vind backticks altijd wel duidelijk, dan worden kolomnamen ook meteen ge-highlight als je een query in phpmyadmin uitvoert. | ||||||
remi1986 | maandag 14 februari 2011 @ 18:28 | |||||
Ik denk dat de schrijver bedoelt dat als je ze nooit gebruikt, je ook geen fouten kan maken met gereserveerde namen. Als ik een database maak, doe ik dat niet door alles één voor één in te voeren in phpmyadmin. Ik maak daar een PHP script van. Probeer maar eens in phpmyadmin
Dit zal niet goed gaan, aangezien group een reserved name is.
werkt dan weer wel... Wat ik eigenlijk niet snap is waarom mysql_real_escape_string niet zou werken als je geen backticks gebruikt? | ||||||
GlowMouse | maandag 14 februari 2011 @ 18:49 | |||||
Je had deze query:
daar doet mysql_real_escape_string niets tegen. | ||||||
Chandler | maandag 14 februari 2011 @ 21:23 | |||||
Ik ben ook voor backticks, maar de comma kun je het beste vooraan zetten (al doe ik dat zelf amper) om dan zeker te weten (snel zichtbaar) of je een , mist | ||||||
MrNiles | dinsdag 15 februari 2011 @ 10:47 | |||||
Remy1986...als je zegt dat dit werkt..leg me het volgende dan eens uit dit werkt wel, kolom zooi wordt aangemaakt
maar dit niet..terwijl de echo van $bla goed is
| ||||||
GlowMouse | dinsdag 15 februari 2011 @ 10:48 | |||||
remi1986 | dinsdag 15 februari 2011 @ 10:49 | |||||
Weet je zeker dat $bla goed is? Wat geeft die voor waarde dan? In de tabel van optredens, heb je daar een auto_increment field? Dan zou het goed moeten gaan.... Doe eens
Krijg je een foutmelding? [ Bericht 45% gewijzigd door remi1986 op 15-02-2011 10:55:14 ] | ||||||
MrNiles | dinsdag 15 februari 2011 @ 10:55 | |||||
glowmouse..ik weet het..maar ik wil het gewoon ff uitproberen is ook om te leren wat wel en niet kan.. sorry..maar kun je me wel uitleggen waarom het ene wel werkt en het andere niet en jaaaahaa..ik weet dat het niet mag | ||||||
GlowMouse | dinsdag 15 februari 2011 @ 10:57 | |||||
Je zult wel backticks moeten gebruiken bij een numerieke kolomnaam. | ||||||
MrNiles | dinsdag 15 februari 2011 @ 10:59 | |||||
is goed...de waarde komt van een auto_increment bijv 121 testje zal ik later doen..vergadering..en ik ben al te laat..shit | ||||||
remi1986 | dinsdag 15 februari 2011 @ 11:00 | |||||
Daar waar ik nooit numerieke waarden als kolomnaam zou gebruiken heeft GlowMouse gelijk. Je moet daarvoor wel backticks gebruiken. Zou ik toch een koppeltabel gebruiken. Want hier krijg je een heel onoverzichtelijke database van. | ||||||
KomtTijd... | dinsdag 15 februari 2011 @ 11:12 | |||||
MrNiles, wat begrijp je hier niet aan?
| ||||||
GlowMouse | dinsdag 15 februari 2011 @ 11:30 | |||||
Misschien wil hij zeker weten dat niemand per ongeluk een JOIN in zijn applicatie bouwt? | ||||||
remi1986 | dinsdag 15 februari 2011 @ 11:34 | |||||
Ik zou hier eens zon voorstel voor een databasestructuur moeten maken, waar ik op deze manier kolommen wil toevoegen. Denk dat ik dan op zoek kan naar ander werk | ||||||
GlowMouse | dinsdag 15 februari 2011 @ 11:49 | |||||
misschien iets voor over 6 weken en 3 dagen? | ||||||
cablegunmaster | dinsdag 15 februari 2011 @ 11:53 | |||||
Ik begreep die alter table ook al niet . De consistency van je hele database gaat eraan! . en duidelijkheid van gegevens is dan ver te zoeken. | ||||||
MrNiles | dinsdag 15 februari 2011 @ 11:57 | |||||
ik snap het wel...over het aanpassen van de database..en dat het geen spreadsheet is en ik begrijp ook dat het op een andere manier moet..en dat ga ik ook doen maar ik was gewoon nieuwsgierig waarom het ene wel lukt en het andere niet...de verklaring dat dat komt omdat het numeriek neem ik meteen voor waarheid aan... case closed.... | ||||||
cablegunmaster | dinsdag 15 februari 2011 @ 12:05 | |||||
Daarom mijn tip aan jou schrijf het in jip en janneke taal op zodat je laat weten wat je wil. (pseudo code). | ||||||
MrNiles | dinsdag 15 februari 2011 @ 12:40 | |||||
mail komt later deze middag | ||||||
remi1986 | dinsdag 15 februari 2011 @ 12:44 | |||||
ff iets anders...weet niet of dit überhaupt mogelijk is, maar jullie zijn slim . Ik heb voor het gemak 2 select boxen. Aan de hand van de eerste, wordt de tweede gevuld met AJAX (waarden uit database). Is het mogelijk om binnen de AJAX functie te controleren of het een AJAX call is? Met firebug kan je precies zien welk bestand er aangeroepen wordt, en wil dan indien mogelijk afschermen met een controle. Of misschien een suggestie hoe jullie dat zouden doen (of niet ) | ||||||
GlowMouse | dinsdag 15 februari 2011 @ 12:54 | |||||
Nee, dat is niet waterdicht te maken aangezien het om user-input gaat. | ||||||
remi1986 | dinsdag 15 februari 2011 @ 12:56 | |||||
Ik kwam dit nog tegen:
Zou dat ook niet werken? | ||||||
GlowMouse | dinsdag 15 februari 2011 @ 12:57 | |||||
Ja dat moet wel werken, HTTP_X_REQUESTED_WITH komt helemaal niet van een HTTP-request van een client, dus dat kan gewoon niet verkeerd zijn. | ||||||
remi1986 | dinsdag 15 februari 2011 @ 13:15 | |||||
Werkt inderdaad .. En mocht het niet waterdicht zijn, is dan jammer. Het is iig een extra controle. | ||||||
GlowMouse | dinsdag 15 februari 2011 @ 13:36 | |||||
[PHP/(My)SQL] voor dummies - deel 88 |