abonnement Unibet Coolblue Bitvavo
pi_92510363

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
pi_92510572
quote:
14s.gif Op dinsdag 8 februari 2011 17:50 schreef Tegan het volgende:
Probeer het, en als het faalt dan weet je waarom.
hij faalt...hard...geen foutmelding
dus.. :?
pi_92510656
Zonder die $id werkt het wel? Dan ligt het dus aan de $id.
  dinsdag 8 februari 2011 @ 18:04:20 #4
334357 Emery
Heavy Metal King!
pi_92510961
Hoi!
"My name is Emery and primarily I make noises - and ideas".
pi_92511015
quote:
1s.gif Op dinsdag 8 februari 2011 17:56 schreef Tegan het volgende:
Zonder die $id werkt het wel? Dan ligt het dus aan de $id.
ligt niet aan de $id
hij werkt helemaal niet
  dinsdag 8 februari 2011 @ 18:11:50 #6
63192 ursel
"Het Is Hier Fantastisch!
pi_92511259
Even nogmaals :7

quote:
1s.gif Op dinsdag 8 februari 2011 15:52 schreef ursel het volgende:
Ik vroeg me af of hier nog iemand mooie tooltjes weet die de performance van mijn applicatie kan testen.

De software draait nu wel stabiel, maar moet ook onder zwaardere load zometeen nog vlekkeloos kunnen draaien.

Hoe pakken jullie dit soort zaken aan?
quote:
1s.gif Op dinsdag 8 februari 2011 17:22 schreef GlowMouse het volgende:

[..]

Zorgen dat de belangrijkste onderdelen goed draaien. Apachebench kan een goede indicatie geven, maar is gevaarlijk omdat caches een grote rol spelen wanneer je steeds hetzelfde opvraagt. Het ligt er echt aan waar je bottlenecks verwacht, die kun je makkelijker afzonderlijk testen.
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 -O-

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 :{
  dinsdag 8 februari 2011 @ 19:33:18 #7
75592 GlowMouse
l'état, c'est moi
pi_92514847
Als je dat soort dingen wilt afvangen dan gaat dat weer ten koste van je OOP, dat is altijd lastig.
quote:
1s.gif Op dinsdag 8 februari 2011 17:33 schreef MrNiles het volgende:
foutje? mag die $id zo daar?
[code]
SELECT optredens.datum, optredens_gebruikers.name
FROM optredens
LEFT JOIN optredens_gebruikers ON '$id'=optredens_gebruikers.id
ORDER BY optredens_gebruikers.name[/code]
Hoe moeten optredens en optredens_gebruikers aan elkaar gekoppeld worden? Als je één optreden wilt, waarom gebruik je geen WHERE?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92529417
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 :7

[ Bericht 19% gewijzigd door KomtTijd... op 09-02-2011 00:29:52 ]
pi_92530643
Niet helemaal wat je zocht, maar toch.

http://stackoverflow.com/(...)ue-on-certain-column


1
2
SELECT DISTINCT "column_name"
FROM "table_name"

Dus.

[ Bericht 12% gewijzigd door Tegan op 09-02-2011 00:35:33 ]
pi_92530849
Jep ik was er al uit! Iets specifieker is het:
1SELECT DISTINCT DATE_FORMAT(starttime,"%Y-%m-%d")

Kan ik morgen weer mee verder. nu burgerbedtijd :Y)
pi_92530971
Ik heb morgen echt een mooie sql query(zelf gemaakt!) waar ik iets aan toe wil voegen, waar ik niet uitkom :P Maar nu eerst naar bed! truste!
pi_92534286
tvp
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_92534409
1
2
3
4
5
6
7
<?php
$(".reply_show").click(function(e){
        $(
"tr").next(".onzichtbaarreageren").toggle();
        
//$('.onzichtbaarreageren').show(); 
        
e.preventDefault();
        });
?>
iemand goed in Jquery ? :D
Ik wou individueel via een linkje een ander tr.onzichtbaarreageren laten tonen alleen dit laat ze allemaal tonen :P ipv een enkele.

*aangezien het javascript topic haast overleden is :{w *

[ Bericht 3% gewijzigd door cablegunmaster op 09-02-2011 09:14:21 ]
Redacted
pi_92534565
quote:
1s.gif Op woensdag 9 februari 2011 08:55 schreef cablegunmaster het volgende:

[ code verwijderd ]
*aangezien het javascript topic haast overleden is :{w *
Als je javascript in het PHP topic gaat posten wordt dat niet veel beter ja :')
  woensdag 9 februari 2011 @ 09:08:16 #15
75592 GlowMouse
l'état, c'est moi
pi_92534651
Haakjes kloppen al niet.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92534762
quote:
1s.gif Op woensdag 9 februari 2011 09:08 schreef GlowMouse het volgende:
Haakjes kloppen al niet.
komt omdat het de laatste was van de reeks :P
Redacted
  woensdag 9 februari 2011 @ 09:21:05 #17
75592 GlowMouse
l'état, c'est moi
pi_92534929
$("tr") matcht al op alle tr's, niet op die waarop je klikt; werkt $(this)?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92535043
quote:
1s.gif Op woensdag 9 februari 2011 09:21 schreef GlowMouse het volgende:
$("tr") matcht al op alle tr's, niet op die waarop je klikt; werkt $(this)?
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.
Redacted
  woensdag 9 februari 2011 @ 09:26:59 #19
75592 GlowMouse
l'état, c'est moi
pi_92535090
$($this).next("tr").next(".onzichtbaarreageren")?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92535223
quote:
1s.gif Op woensdag 9 februari 2011 09:26 schreef GlowMouse het volgende:
$($this).next("tr").next(".onzichtbaarreageren")?
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 :o. en dan een ID van te maken. dan kan elke knop aan een ID werken. :P ?
Redacted
  woensdag 9 februari 2011 @ 09:33:47 #21
75592 GlowMouse
l'état, c'est moi
pi_92535251
het is this ipv $this.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92535273
quote:
11s.gif Op woensdag 9 februari 2011 09:33 schreef GlowMouse het volgende:
het is this ipv $this.
doet precies hetzelfde :P

Finally solved :D
Wat ik heb gedaan :
1
2
3
4
5
6
7
8
function reagerenTonen(id){
    $("#onzichtbaarreageren-"+id).removeClass('.onzichtbaarreageren').toggle();
}

<a href="#" onclick="reagerenTonen(<?php echo $row['id']; ?>);">reageren</a>

<tr id="onzichtbaarreageren-<?php echo $row['id']; ?>" class="onzichtbaarreageren"></tr>

daarmee werkt het :). (versimpeld opgeschreven).

Note: onzichtbaarreageren heeft als CSS visible: none.
Tijd: dagtijd om dit goed uit te werken :P moet sneller kunnen vind ik :@

Dankje voor het meedenken Glowmouse ^O^

[ Bericht 12% gewijzigd door cablegunmaster op 09-02-2011 10:01:51 ]
Redacted
pi_92536064
het begint nu echt lastig te worden om dingen te gaan combineren :)

iets gaat er nu goed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$commando
="
SELECT optredens.datum, optredens_gebruikers.name
FROM optredens LEFT JOIN optredens_gebruikers
ON ('36'=optredens_gebruikers.id) "
;

$resultaat=mysql_query($commando);

while(
$array=mysql_fetch_array($resultaat)){
echo 
"G_id: " $array['G_id'] . "<br />";
echo 
"Naam: " $array['name'] . "<br />";
echo 
"id: " $array['id'] . "<br />";
echo 
"Aanwezig: " $array['aanwezig'] . "<br />"."<br />";
}
?>

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
  woensdag 9 februari 2011 @ 10:06:02 #24
334357 Emery
Heavy Metal King!
pi_92536128
1
2
3
<?php
ON 
('36'=optredens_gebruikers.id";
?>

Wat houdt dan in?
"My name is Emery and primarily I make noises - and ideas".
  woensdag 9 februari 2011 @ 10:07:00 #25
75592 GlowMouse
l'état, c'est moi
pi_92536162
quote:
1s.gif Op dinsdag 8 februari 2011 19:33 schreef GlowMouse het volgende:

[..]

Hoe moeten optredens en optredens_gebruikers aan elkaar gekoppeld worden? Als je één optreden wilt, waarom gebruik je geen WHERE?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92536236
quote:
1s.gif Op woensdag 9 februari 2011 10:03 schreef MrNiles het volgende:
het begint nu echt lastig te worden om dingen te gaan combineren :)

iets gaat er nu goed
[ code verwijderd ]

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
Je echoed sowieso 3 velden die je helemaal niet selecteert.
  woensdag 9 februari 2011 @ 10:11:38 #27
137776 boem-dikkie
Jedi Mind Baby!
pi_92536283
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.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_92536293
quote:
14s.gif Op woensdag 9 februari 2011 10:11 schreef boem-dikkie het volgende:
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.
Moet je even kijken naar de encoding.
pi_92536316
quote:
10s.gif Op woensdag 9 februari 2011 10:12 schreef erikkll het volgende:

[..]

Moet je even kijken naar de encoding.
http://en.wikipedia.org/wiki/Character_encodings_in_HTML
kreeg hierdoor vet veel fout meldingen omdat Utf-8 instond :P
w3c validator.
Redacted
  woensdag 9 februari 2011 @ 10:12:45 #30
137776 boem-dikkie
Jedi Mind Baby!
pi_92536318
quote:
10s.gif Op woensdag 9 februari 2011 10:12 schreef erikkll het volgende:

[..]

Moet je even kijken naar de encoding.
Sorry, leek wat dat betreft. Encoding, wie, wat, waar?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_92536328
quote:
7s.gif Op woensdag 9 februari 2011 10:12 schreef boem-dikkie het volgende:

[..]

Sorry, leek wat dat betreft. Encoding, wie, wat, waar?
Het linkje van cablegunmaster kun je denk ik wel wat mee!
pi_92536394
quote:
7s.gif Op woensdag 9 februari 2011 10:12 schreef boem-dikkie het volgende:

[..]

Sorry, leek wat dat betreft. Encoding, wie, wat, waar?
daarnaast in phpmyadmin staat in elke tabel een collatie: latin1_swedish_ci
Deze is zo standaard ingesteld. mogelijk wil je deze veranderen.
Redacted
pi_92536409
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.
  woensdag 9 februari 2011 @ 10:16:46 #34
137776 boem-dikkie
Jedi Mind Baby!
pi_92536424
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.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_92536497
Deze 3 queries:
quote:
SELECT ticketid, dateline AS opentime
FROM `swauditlogs`
WHERE `actiontype` =11
AND `actionmsg` LIKE '%trinicom%'
quote:
SELECT ticketid, dateline AS closetime
FROM `swauditlogs`
WHERE `actiontype` =8
AND `actionmsg` LIKE '%Nog te factureren%'
quote:
SELECT ticketid, subject FROM `swtickets` WHERE `ticketstatusid` =3 OR ticketstatusid =4 AND email LIKE '%trinicom%'
Heb ik gecombineerd tot deze query:
quote:
SELECT statusticketid, statussubject, opentime, MAX(closetime) as close_time, email
FROM
(SELECT email, ticketid AS statusticketid, subject AS statussubject FROM `swtickets` WHERE `dateline` < $closetime AND `dateline` > $opentime AND ( `ticketstatusid` =3 OR ticketstatusid =4) AND `email` LIKE '%trinicom%' ) AS TMP3
LEFT JOIN
(SELECT openticket, opentime, closetime FROM (SELECT ticketid AS openticket, dateline AS opentime FROM `swauditlogs` WHERE `dateline` > $opentime AND `dateline` < $closetime AND `actiontype` =11) as TMP1
LEFT JOIN
(SELECT ticketid AS closeticket, dateline AS closetime FROM `swauditlogs` WHERE `actiontype` =8 AND ( `dateline` > $opentime AND `dateline` < $closetime) AND `actionmsg` LIKE '%Nog te factureren%' ) as TMP2
ON openticket=closeticket) AS TMP4
ON openticket=statusticketid
WHERE email LIKE '%trinicom%'
GROUP BY statusticketid
";
Nu wil ik er graag nog een query bij joinen:
quote:
SELECT ticketid, dateline AS opentime
FROM `swauditlogs`
WHERE `actiontype` =12
AND `actionmsg` LIKE '%trinicom%'
Hoe kan ik dat als extra join toevoegen? :@
  woensdag 9 februari 2011 @ 10:23:02 #36
137776 boem-dikkie
Jedi Mind Baby!
pi_92536586
Dat heb je in principe toch ook al gedaan met die queries daarboven?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  woensdag 9 februari 2011 @ 10:23:20 #37
75592 GlowMouse
l'état, c'est moi
pi_92536597
quote:
10s.gif Op woensdag 9 februari 2011 10:16 schreef erikkll het volgende:
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.
Alleen de collation van het veld is belangrijk.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92536609
quote:
10s.gif Op woensdag 9 februari 2011 10:19 schreef erikkll het volgende:
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? :@
Paradox in wat je vraagt.

quote:
5s.gif Op woensdag 9 februari 2011 10:23 schreef boem-dikkie het volgende:
Dat heb je in principe toch ook al gedaan met die queries daarboven?
nee ... where actiontype = 12 and actiontype = 11 ? Wtf? :D
Redacted
  woensdag 9 februari 2011 @ 10:26:35 #39
75592 GlowMouse
l'état, c'est moi
pi_92536683
Je moet queries niet combineren, je moet joinen. Je maakt nu 4 temporary tables en komt met een onleesbare brij.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92536686
quote:
1s.gif Op woensdag 9 februari 2011 10:24 schreef cablegunmaster het volgende:

[..]

Paradox in wat je vraagt.

[..]

nee ... where actiontype = 12 and actiontype = 11 ? Wtf? :D

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 :X

[ Bericht 12% gewijzigd door #ANONIEM op 09-02-2011 10:27:33 ]
pi_92536824
quote:
1s.gif Op woensdag 9 februari 2011 10:26 schreef GlowMouse het volgende:
Je moet queries niet combineren, je moet joinen. Je maakt nu 4 temporary tables en komt met een onleesbare brij.
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 :P
pi_92536828
quote:
10s.gif Op woensdag 9 februari 2011 10:32 schreef erikkll het volgende:

[..]

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 :P
meer ANDS toevoegen of een OR :).
Redacted
pi_92536882
quote:
1s.gif Op woensdag 9 februari 2011 10:26 schreef Scorpie het volgende:

[..]

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 :X
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 :P
  woensdag 9 februari 2011 @ 10:41:32 #44
75592 GlowMouse
l'état, c'est moi
pi_92537090
1
2
3
4
5
SELECT t.ticketid AS statusticketid, subject AS statussubject,al1.ticketid as openticket, al1.dateline AS opentime, al2.ticketid as closeticket, al2.dateline AS closetime
FROM swtickets t
JOIN swauditlogs al1 ON(t.ticket=al1.ticket AND al1.actiontype =11 AND al1.actionmsg LIKE '%trinicom%');
JOIN swauditlogs al2 ON(t.ticket=al2.ticket AND al2.actiontype=8 AND al2.actionmsg LIKE '%Nog te factureren%')
WHERE t.ticketstatusid=3 OR t.ticketstatusid=4 AND email LIKE '%trinicom%'
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92537097
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 :D ik zelf heb geen flauw idee of me left join klopt :P
Query lijkt prut van mij :D
Redacted
pi_92537122
Ik zal jullie beide queries eens proberen :D Super!
pi_92537138
quote:
10s.gif Op woensdag 9 februari 2011 10:42 schreef erikkll het volgende:
Ik zal jullie beide queries eens proberen :D Super!
die van glowmouse is netter :P en de mijne is nog niet uitgepluist op AND en ORS :D
wist niet eens dat dat kon dankje glowmouse weer iets geleerd :).

[ Bericht 9% gewijzigd door cablegunmaster op 09-02-2011 10:52:52 ]
Redacted
pi_92537458
Jullie oplossingen werken allebei niet, maar het idee is me wel duidelijk hoe ik dit netter kan oplossen!
pi_92537488
quote:
10s.gif Op woensdag 9 februari 2011 10:52 schreef erikkll het volgende:
Jullie oplossingen werken allebei niet, maar het idee is me wel duidelijk hoe ik dit netter kan oplossen!
succes ^O^
Redacted
pi_92537538
quote:
1s.gif Op woensdag 9 februari 2011 10:53 schreef cablegunmaster het volgende:

[..]

succes ^O^
Dankjewel! Als ik er uit ben post ik het hier (ik denk niet meer vandaag, maar sowieso deze week ga ik ermee verder.)
  woensdag 9 februari 2011 @ 10:55:21 #51
75592 GlowMouse
l'état, c'est moi
pi_92537552
Wat je in ON en wat je in WHERE zet maakt bij LEFT JOIN wel flink uit, maar het helpt om leesbaarheid te vergroten.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92537744
quote:
1s.gif Op woensdag 9 februari 2011 10:55 schreef GlowMouse het volgende:
Wat je in ON en wat je in WHERE zet maakt bij LEFT JOIN wel flink uit, maar het helpt om leesbaarheid te vergroten.
Daarom was mijn oplossing ook niet te lezen :).
Redacted
  woensdag 9 februari 2011 @ 11:01:48 #53
75592 GlowMouse
l'état, c'est moi
pi_92537780
Jij mist al een join.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92537849
quote:
1s.gif Op woensdag 9 februari 2011 11:01 schreef GlowMouse het volgende:
Jij mist al een join.
:D Goed dat ik geen Ict studeer :P

[ Bericht 11% gewijzigd door cablegunmaster op 09-02-2011 11:21:05 ]
Redacted
pi_92540977
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:

1$(".lb").fancybox({ ajax:{ type:"POST" }, 'padding': 0 });

Wordt:

1$(".lb").fancybox(, 'padding': 0 }); 

Hij mist dus het ajax: gedeelte. Iemand enig idee of dat een setting is van WAMP of van het CMS dat ik gebruik? (ExpressionEngine)
  woensdag 9 februari 2011 @ 12:31:58 #56
75592 GlowMouse
l'état, c'est moi
pi_92541105
Dat lijkt me door het cms komen. Zet eens {literal} en {/literal} om je Javascript.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92542558
Nope, nothing.
  woensdag 9 februari 2011 @ 13:14:56 #58
75592 GlowMouse
l'état, c'est moi
pi_92542668
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92543160
quote:
1s.gif Op woensdag 9 februari 2011 13:14 schreef GlowMouse het volgende:
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.
Okidokie :P
pi_92556225
Ik wil graag dat de query alleen een echo geeft met de $id uit tabel optredens
waar moet ik m ergens bij zetten?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$commando
=
"SELECT optredens.id, optredens_gebruikers.name, optredens_gebruikers.aanwezig, optredens_gebruikers.G_id
FROM optredens
LEFT JOIN optredens_gebruikers
ON optredens.id=optredens_gebruikers.id
WHERE 'aanwezig'='o' "
;

$resultaat=mysql_query($commando);
echo 
"Deze mensen hebben nog niets laten weten";
while(
$array=mysql_fetch_array($resultaat)){
echo 
"<br />";
echo 
$array['name'] ;
}
?>
  woensdag 9 februari 2011 @ 18:52:35 #61
334357 Emery
Heavy Metal King!
pi_92556468
WHERE 'optredens_id' = '$id';
"My name is Emery and primarily I make noises - and ideas".
pi_92556517
quote:
5s.gif Op woensdag 9 februari 2011 18:52 schreef Emery het volgende:
WHERE 'optredens_id' = '$id';
maar daar staat al 'aanwezig'='o'
mag je daar nog een regel bij zetten of een and of??
  woensdag 9 februari 2011 @ 18:55:14 #63
334357 Emery
Heavy Metal King!
pi_92556600
Probeer eens.
"My name is Emery and primarily I make noises - and ideas".
pi_92556728
quote:
14s.gif Op woensdag 9 februari 2011 18:55 schreef Emery het volgende:
Probeer eens.
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
pi_92557099
'-en moeten weg.
  woensdag 9 februari 2011 @ 19:07:00 #66
334357 Emery
Heavy Metal King!
pi_92557182
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?
"My name is Emery and primarily I make noises - and ideas".
pi_92557286
quote:
5s.gif Op woensdag 9 februari 2011 19:07 schreef Emery het volgende:
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?
ik wil weergeven wie er op een bepaald op optreden($id) er nog niet heeft gereageerd('o')

quote:
Wil je met GET een id uit de url ophalen en alleen het optreden tonen wat overeenkomt met dat id?
:Y

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
  woensdag 9 februari 2011 @ 19:11:39 #68
334357 Emery
Heavy Metal King!
pi_92557409
Zou moeten werken met WHERE. Wat heb je in de variabele $id staan?
"My name is Emery and primarily I make noises - and ideas".
pi_92557420
Haal alle single quotes weg.

quote:
SQL uses single quotes around text values (most database systems will also accept double quotes).

Although, numeric values should not be enclosed in quotes.
pi_92557494
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
  woensdag 9 februari 2011 @ 19:24:39 #71
302853 themole
graaft totaal door.
pi_92558020
quote:
1s.gif Op woensdag 9 februari 2011 19:13 schreef MrNiles het volgende:
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
Is normaliter niet belangrijk.
Niet altijd serieus
  woensdag 9 februari 2011 @ 20:22:49 #72
91039 mstx
2x1/2 = 1/2 x 1/2
pi_92560658
quote:
14s.gif Op woensdag 9 februari 2011 19:24 schreef themole het volgende:

[..]

Is normaliter niet belangrijk.
Ook niet als je indexes (op meerdere kolommen) gebruikt?
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_92562080
waarschijnlijk kijk ik erover heen
maar waarom lukt dit niet?

1
2
echo "<a href=\"aanwezig_edit.php?name=".$array['name']."\">  <?php echo $array['name'] ; ?> </a>";
pi_92562169
PHP in PHP.
pi_92562347
1
2
3
<?php
echo "<a href='aanwezig_edit.php?name=".$array['name']."'>".$array['name']."</a>";
?>

Snap je waarom het niet kon nu?
pi_92562394
never mind...het wordt al laat
pi_92562772
Dit mag ook.

1
2
<a href="aanwezig_edit.php?name=<?php echo $array['name']; ?>"><?php echo $array['name']; ?></a>

Maar een combi niet.
  woensdag 9 februari 2011 @ 20:58:40 #78
75592 GlowMouse
l'état, c'est moi
pi_92562938
quote:
1s.gif Op woensdag 9 februari 2011 20:22 schreef mstx het volgende:

[..]

Ook niet als je indexes (op meerdere kolommen) gebruikt?
Nee.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 21:12:04 #79
75592 GlowMouse
l'état, c'est moi
pi_92563910
quote:
1s.gif Op woensdag 9 februari 2011 20:22 schreef mstx het volgende:

[..]

Ook niet als je indexes (op meerdere kolommen) gebruikt?
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 ]
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 21:25:16 #80
85514 ralfie
!Yvan eht nioj
pi_92564893
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.
  woensdag 9 februari 2011 @ 21:27:51 #81
75592 GlowMouse
l'état, c'est moi
pi_92565050
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92565967
hoe mag ik een url opbouwen waarin meerdere GET variabelen in worden gezet?
ik heb nu dit
1
2
3
<?php
echo "<a href=\"aanwezig_edit.php?name=".$array['name']."\">  ".$array['name']." </a>";
?>

maar hoe kan ik er bijvoorbeeld id=".$array['id'] bijzetten?
pi_92566076
1&id=".$array['id']."


[ Bericht 16% gewijzigd door Tegan op 09-02-2011 21:48:56 ]
  woensdag 9 februari 2011 @ 21:46:33 #84
75592 GlowMouse
l'état, c'est moi
pi_92566414
En gebruik rawurlencode om een string.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92566434
quote:
1s.gif Op woensdag 9 februari 2011 21:42 schreef Tegan het volgende:

[ code verwijderd ]

da vind ie nie fijn
  woensdag 9 februari 2011 @ 21:47:30 #86
75592 GlowMouse
l'état, c'est moi
pi_92566486
quote:
1s.gif Op woensdag 9 februari 2011 21:46 schreef MrNiles het volgende:

[..]

da vind ie nie fijn
Buiten dat je & in je html moet gebruiken, wat gaat er mis dan?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92566502
quote:
1s.gif Op woensdag 9 februari 2011 21:46 schreef GlowMouse het volgende:
En gebruik rawurlencode om een string.
:?
pi_92566556
1
2
3
<?php
echo "<a href=\"aanwezig_edit.php?name=".$array['name']."&id=".$array['id']."\">".$array['name']."</a>";
?>

De meeste van jouw vragen kan je overigens met een simpele Google search vinden...
  woensdag 9 februari 2011 @ 21:49:00 #89
75592 GlowMouse
l'état, c'est moi
pi_92566613
$array['name'] zal een string zijn. Wat gebeurt er als voor iemand geldt $array['name'] = 'asdf&amp;id=4'?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92566692
quote:
1s.gif Op woensdag 9 februari 2011 21:48 schreef Tegan het volgende:

[ code verwijderd ]

De meeste van jouw vragen kan je overigens met een simpele Google search vinden...
thanx...ergens wat " verkeerd of gemist denk ik...damn...ik ga slapen...zie er niet meer van :)
pi_92566829
quote:
1s.gif Op woensdag 9 februari 2011 21:48 schreef Tegan het volgende:

[ code verwijderd ]

De meeste van jouw vragen kan je overigens met een simpele Google search vinden...
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
pi_92566943
quote:
1s.gif Op woensdag 9 februari 2011 21:52 schreef MrNiles het volgende:

[..]

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
http://www.google.com/#sc(...)&fp=7828c4946c5db268
  woensdag 9 februari 2011 @ 21:53:54 #93
75592 GlowMouse
l'état, c'est moi
pi_92566957
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 21:54:02 #94
334357 Emery
Heavy Metal King!
pi_92566967
quote:
1s.gif Op woensdag 9 februari 2011 21:52 schreef MrNiles het volgende:

[..]

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
Zet je error report aan.
"My name is Emery and primarily I make noises - and ideas".
pi_92567004
quote:
16s.gif Op woensdag 9 februari 2011 21:53 schreef GlowMouse het volgende:
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.
pi_92567143
quote:
14s.gif Op woensdag 9 februari 2011 21:54 schreef Emery het volgende:

[..]

Zet je error report aan.
Dit en lees een fatsoenlijke PHP-tutorial voordat je iets probeert te maken.
  woensdag 9 februari 2011 @ 21:56:24 #97
75592 GlowMouse
l'état, c'est moi
pi_92567184
quote:
1s.gif Op woensdag 9 februari 2011 21:55 schreef Tegan het volgende:

[..]

Dit en lees een fatsoenlijke PHP-tutorial voordat je iets probeert te maken.
Fatsoenlijke PHP-tutorials zijn heel lastig om te vinden. Heb je een linkje?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92567271
quote:
7s.gif Op woensdag 9 februari 2011 21:56 schreef GlowMouse het volgende:

[..]

Fatsoenlijke PHP-tutorials zijn heel lastig om te vinden. Heb je een linkje?
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.
  woensdag 9 februari 2011 @ 21:57:52 #100
75592 GlowMouse
l'état, c'est moi
pi_92567299
http://www.w3schools.com/php/php_intro.asp
quote:
PHP is a server-side scripting language, like ASP
PHP files have a file extension of ".php", ".php3", or ".phtml"
Hoe oud is die tutorial?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92567356
quote:
14s.gif Op woensdag 9 februari 2011 21:54 schreef Emery het volgende:

[..]

Zet je error report aan.
staat aan
  woensdag 9 februari 2011 @ 21:58:56 #102
75592 GlowMouse
l'état, c'est moi
pi_92567403
quote:
16s.gif Op woensdag 9 februari 2011 21:58 schreef MrNiles het volgende:

[..]

staat aan
display errors ook?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92567488
quote:
1s.gif Op woensdag 9 februari 2011 21:57 schreef KomtTijd... het volgende:

[..]

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.
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
  woensdag 9 februari 2011 @ 21:59:57 #104
334357 Emery
Heavy Metal King!
pi_92567498
quote:
1s.gif Op woensdag 9 februari 2011 21:57 schreef GlowMouse het volgende:
http://www.w3schools.com/php/php_intro.asp

[..]

Hoe oud is die tutorial?
Ik gebruik alleen maar .phtml.
"My name is Emery and primarily I make noises - and ideas".
pi_92567508
quote:
16s.gif Op woensdag 9 februari 2011 21:58 schreef MrNiles het volgende:

[..]

staat aan
Waarom krijg je dan een wit scherm zonder errors?
pi_92567549
quote:
1s.gif Op woensdag 9 februari 2011 21:58 schreef GlowMouse het volgende:

[..]

display errors ook?
like this?

1
2
3
<?php ob_start();
ini_set('display_errors''On');
error_reporting(E_ALL);
  woensdag 9 februari 2011 @ 22:01:04 #107
334357 Emery
Heavy Metal King!
pi_92567576
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.
"My name is Emery and primarily I make noises - and ideas".
pi_92567674
quote:
1s.gif Op woensdag 9 februari 2011 21:59 schreef MrNiles het volgende:

[..]

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
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.
  woensdag 9 februari 2011 @ 22:03:07 #109
334357 Emery
Heavy Metal King!
pi_92567736
quote:
7s.gif Op woensdag 9 februari 2011 22:02 schreef Tegan het volgende:

[..]

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.
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.
"My name is Emery and primarily I make noises - and ideas".
  woensdag 9 februari 2011 @ 22:03:16 #110
75592 GlowMouse
l'état, c'est moi
pi_92567748
quote:
1s.gif Op woensdag 9 februari 2011 22:00 schreef MrNiles het volgende:

[..]

like this?
[ code verwijderd ]

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()?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 22:04:32 #111
302853 themole
graaft totaal door.
pi_92567840
quote:
1s.gif Op woensdag 9 februari 2011 21:59 schreef MrNiles het volgende:

[..]

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
Daarom heb je vaak ook goede boeken over php, hierin staan vaak voorbeelden. Natuurlijk moet je ook zelf inzicht ontwikkelen in het programmeren.
Niet altijd serieus
pi_92567942
quote:
1s.gif Op woensdag 9 februari 2011 22:03 schreef GlowMouse het volgende:

[..]

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()?
net als de rest...gelezen ergens op internet
  woensdag 9 februari 2011 @ 22:06:16 #113
75592 GlowMouse
l'état, c'est moi
pi_92567965
quote:
1s.gif Op woensdag 9 februari 2011 22:05 schreef MrNiles het volgende:

[..]

net als de rest...gelezen ergens op internet
Niet doen, ob_start() is stom.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 22:06:49 #114
75592 GlowMouse
l'état, c'est moi
pi_92568009
1
2
3
4
5
<?php
$filename 
'vul maar in'
if(substr($filename, -4) == '.php') die();
touch($filename);
?>
Wie kiest $filename zodat het bestand 'hoi.php' wordt aangemaakt?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92568019
quote:
14s.gif Op woensdag 9 februari 2011 22:04 schreef themole het volgende:

[..]

Daarom heb je vaak ook goede boeken over php, hierin staan vaak voorbeelden. Natuurlijk moet je ook zelf inzicht ontwikkelen in het programmeren.
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.
  woensdag 9 februari 2011 @ 22:10:10 #116
75592 GlowMouse
l'état, c'est moi
pi_92568270
quote:
1s.gif Op woensdag 9 februari 2011 22:06 schreef Tegan het volgende:

[..]

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.
http://phpsecurity.org/ ? niet gelezen overigens.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92568477
quote:
1s.gif Op woensdag 9 februari 2011 22:10 schreef GlowMouse het volgende:

[..]

http://phpsecurity.org/ ? niet gelezen overigens.
Klinkt goed. Thanks.
  woensdag 9 februari 2011 @ 22:12:53 #118
302853 themole
graaft totaal door.
pi_92568506
quote:
1s.gif Op woensdag 9 februari 2011 22:06 schreef Tegan het volgende:

[..]

Goede boekentips? Ik vind vrijwel alle boeken te basic. Echt dingen waar ik me zit, zoals hoe beveilig me voor injections, worden dan niet eens uitgelegd.
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.
Niet altijd serieus
  woensdag 9 februari 2011 @ 22:13:10 #119
334357 Emery
Heavy Metal King!
pi_92568533
quote:
1s.gif Op woensdag 9 februari 2011 22:10 schreef GlowMouse het volgende:

[..]

http://phpsecurity.org/ ? niet gelezen overigens.
Kende ik ook niet! Thanks.
"My name is Emery and primarily I make noises - and ideas".
  woensdag 9 februari 2011 @ 22:14:19 #120
75592 GlowMouse
l'état, c'est moi
pi_92568609
En stoeien met post #114 natuurlijk.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92568767
Nee, ik weet hem niet.
  woensdag 9 februari 2011 @ 22:17:21 #122
75592 GlowMouse
l'état, c'est moi
pi_92568825
quote:
1s.gif Op woensdag 9 februari 2011 22:16 schreef Tegan het volgende:

[..]

hoi.phpxxxx?
Dan wordt hoi.phpxxxx aangemaakt, en niet hoi.php.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 22:18:18 #123
75592 GlowMouse
l'état, c'est moi
pi_92568889
Je geeft veel te snel op.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92568986
hoi.php, <integer>

Zoiets?
pi_92568992
vraagje wat is de tegenhanger van

SELECT *
FROM `streambericht`
GROUP BY streamid

een group by? :P is daar een tegenhanger van ? dat ik alle post krijg die hier uitgefiltert worden :)?
Redacted
  woensdag 9 februari 2011 @ 22:21:23 #126
75592 GlowMouse
l'état, c'est moi
pi_92569118
quote:
1s.gif Op woensdag 9 februari 2011 22:19 schreef Tegan het volgende:
hoi.php, <integer>

Zoiets?
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 22:22:13 #127
75592 GlowMouse
l'état, c'est moi
pi_92569190
quote:
1s.gif Op woensdag 9 februari 2011 22:19 schreef cablegunmaster het volgende:
vraagje wat is de tegenhanger van

SELECT *
FROM `streambericht`
WHERE streamid =1
GROUP BY streamid

een group by? :P is daar een tegenhanger van ? dat ik alle post krijg die hier uitgefiltert worden :)?
waarom is
SELECT *
FROM `streambericht`
WHERE streamid =1
niet goed?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92569325
quote:
1s.gif Op woensdag 9 februari 2011 22:22 schreef GlowMouse het volgende:

[..]

waarom is
SELECT *
FROM `streambericht`
WHERE streamid =1
niet goed?
die where hoorde er niet te staan :D .

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
Redacted
  woensdag 9 februari 2011 @ 22:24:39 #129
75592 GlowMouse
l'état, c'est moi
pi_92569385
Sorteren op tijd en dan in je code de eerste anders weergeven.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 22:24:54 #130
75592 GlowMouse
l'état, c'est moi
pi_92569409
quote:
1s.gif Op woensdag 9 februari 2011 22:21 schreef GlowMouse het volgende:

[..]

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.
Hint: http://en.wikipedia.org/wiki/C_string
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 22:24:58 #131
302853 themole
graaft totaal door.
pi_92569419
quote:
1s.gif Op woensdag 9 februari 2011 22:10 schreef GlowMouse het volgende:

[..]

http://phpsecurity.org/ ? niet gelezen overigens.
Ziet er goed uit. Komende tijd lezen.
Niet altijd serieus
pi_92569473
quote:
1s.gif Op woensdag 9 februari 2011 22:24 schreef GlowMouse het volgende:
Sorteren op tijd en dan in je code de eerste anders weergeven.
Dankje :). ik had het zelf moeten bedenken :@ .
Redacted
pi_92569580
quote:
1s.gif Op woensdag 9 februari 2011 22:21 schreef GlowMouse het volgende:

[..]

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.
hoi.php5
  woensdag 9 februari 2011 @ 22:27:22 #134
75592 GlowMouse
l'état, c'est moi
pi_92569612
quote:
16s.gif Op woensdag 9 februari 2011 22:26 schreef Tegan het volgende:

[..]

hoi.php5
Dan wordt hoi.php5 aangemaakt, niet hoi.php
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92569671
quote:
1s.gif Op woensdag 9 februari 2011 22:27 schreef GlowMouse het volgende:

[..]

Dan wordt hoi.php5 aangemaakt, niet hoi.php
Same thing.
  woensdag 9 februari 2011 @ 22:28:44 #136
75592 GlowMouse
l'état, c'est moi
pi_92569714
quote:
1s.gif Op woensdag 9 februari 2011 22:28 schreef Tegan het volgende:

[..]

Same thing.
Nee, de vraag was "Wie kiest $filename zodat het bestand 'hoi.php' wordt aangemaakt?".
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92569930
hoi.php<vier spaties>
  woensdag 9 februari 2011 @ 22:32:25 #138
91039 mstx
2x1/2 = 1/2 x 1/2
pi_92570016
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. :X kwam er een beetje laat achter
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  woensdag 9 februari 2011 @ 22:33:23 #139
75592 GlowMouse
l'état, c'est moi
pi_92570088
quote:
1s.gif Op woensdag 9 februari 2011 22:31 schreef Tegan het volgende:
hoi.php<vier spaties>
Jeej, volgende:
1
2
3
4
5
<?php
$filename 
trim('vul maar in');
if(
substr($filename, -4) == '.php') die();
touch($filename);
?>
Wie kiest $filename zodat het bestand 'hoi.php' wordt aangemaakt?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92570264
Wojo, en ik had niet eens geGoogled.
pi_92570936
hoi.php& #32; zonder spatie.
pi_92571002
quote:
6s.gif Op woensdag 9 februari 2011 22:35 schreef Tegan het volgende:
Wojo, en ik had niet eens geGoogled.
1337 h4x0r! Snel, meld je aan bij Anonymous! 8-) :7
  woensdag 9 februari 2011 @ 22:49:10 #143
75592 GlowMouse
l'état, c'est moi
pi_92571055
die maakt netjes hoi.php& #32; aan.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 22:51:11 #144
334357 Emery
Heavy Metal King!
pi_92571155
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.
"My name is Emery and primarily I make noises - and ideas".
pi_92571167
quote:
14s.gif Op woensdag 9 februari 2011 22:48 schreef KomtTijd... het volgende:

[..]

1337 h4x0r! Snel, meld je aan bij Anonymous! 8-) :7
;( .
  woensdag 9 februari 2011 @ 22:52:36 #146
75592 GlowMouse
l'état, c'est moi
pi_92571254
quote:
1s.gif Op woensdag 9 februari 2011 22:51 schreef Tegan het volgende:

[..]

;( .
gesnapt?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 22:52:49 #147
75592 GlowMouse
l'état, c'est moi
pi_92571273
quote:
9s.gif Op woensdag 9 februari 2011 22:51 schreef Emery het volgende:
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.
Die spatie heeft er weinig mee te maken nog. Denk nog maar verder, uitleg komt morgen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 22:54:21 #148
334357 Emery
Heavy Metal King!
pi_92571391
quote:
1s.gif Op woensdag 9 februari 2011 22:52 schreef GlowMouse het volgende:

[..]

Die spatie heeft er weinig mee te maken nog. Denk nog maar verder, uitleg komt morgen.
Tof.
"My name is Emery and primarily I make noises - and ideas".
pi_92571408
quote:
9s.gif Op woensdag 9 februari 2011 22:51 schreef Emery het volgende:
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.
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.
pi_92571648
Ik vind geen loophole op http://php.net/manual/en/function.trim.php .
  woensdag 9 februari 2011 @ 22:58:15 #151
75592 GlowMouse
l'état, c'est moi
pi_92571651
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)
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92571938
Jezus, begrijp hier helemaal niets van. Is dat dan alleen omdat ik een meisje ben? ;)
Beauty is in the eye of the beholder :-)
  woensdag 9 februari 2011 @ 23:04:24 #153
334357 Emery
Heavy Metal King!
pi_92572025
quote:
1s.gif Op woensdag 9 februari 2011 23:03 schreef princesselisah het volgende:
Jezus, begrijp hier helemaal niets van. Is dat dan alleen omdat ik een meisje ben? ;)
Zie Tegan.
"My name is Emery and primarily I make noises - and ideas".
  woensdag 9 februari 2011 @ 23:04:48 #154
75592 GlowMouse
l'état, c'est moi
pi_92572045
quote:
14s.gif Op woensdag 9 februari 2011 22:54 schreef Tegan het volgende:

[..]

Ik snap het gelukkig ook niet echt.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 9 februari 2011 @ 23:06:24 #155
334357 Emery
Heavy Metal King!
pi_92572152
hoi.php\T
"My name is Emery and primarily I make noises - and ideas".
pi_92572164
Ik snap dat ik het niet snap, en dat ik dus extreem voorzichtig moet zijn met iedere vorm van user input. Dat is genoeg.
pi_92573314
quote:
9s.gif Op woensdag 9 februari 2011 23:06 schreef Emery het volgende:
hoi.php\T
hoi.php\R
hoi.php\N

Dit zou wel flauw zijn.
  donderdag 10 februari 2011 @ 00:03:50 #158
334357 Emery
Heavy Metal King!
pi_92574815
Ik snap het nog steeds niet echt.
"My name is Emery and primarily I make noises - and ideas".
pi_92575086
Die eerste snap je toch wel?
pi_92575335
quote:
10s.gif Op donderdag 10 februari 2011 00:03 schreef Emery het volgende:
Ik snap het nog steeds niet echt.
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.
  donderdag 10 februari 2011 @ 09:31:31 #161
302853 themole
graaft totaal door.
pi_92579958
quote:
1s.gif Op donderdag 10 februari 2011 00:15 schreef KomtTijd... het volgende:

[..]

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.
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.
Niet altijd serieus
  donderdag 10 februari 2011 @ 09:37:34 #162
91039 mstx
2x1/2 = 1/2 x 1/2
pi_92580071
quote:
14s.gif Op donderdag 10 februari 2011 09:31 schreef themole het volgende:

[..]

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.
Of je maakt gewoon een whitelist van de extensies ipv een blacklist.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_92580904
quote:
14s.gif Op donderdag 10 februari 2011 09:37 schreef mstx het volgende:

[..]

Of je maakt gewoon een whitelist van de extensies ipv een blacklist.
Dat, plus http://mysql-apache-php.com/fileupload-security.htm (behalve dan de blacklist gedeelte).

[ Bericht 3% gewijzigd door #ANONIEM op 10-02-2011 10:17:14 ]
pi_92581911
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.
  donderdag 10 februari 2011 @ 12:39:21 #165
75592 GlowMouse
l'état, c'est moi
pi_92584958
quote:
14s.gif Op donderdag 10 februari 2011 09:37 schreef mstx het volgende:

[..]

Of je maakt gewoon een whitelist van de extensies ipv een blacklist.
Als ik != '.php' in mijn script vervang door == '.jpg', dan is dat niet veiliger.
quote:
1s.gif Op donderdag 10 februari 2011 10:16 schreef Scorpie het volgende:

[..]

Dat, plus http://mysql-apache-php.com/fileupload-security.htm (behalve dan de blacklist gedeelte).
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 :)
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 10 februari 2011 @ 12:50:14 #166
75592 GlowMouse
l'état, c'est moi
pi_92585336
quote:
2s.gif Op donderdag 10 februari 2011 10:51 schreef KomtTijd... het volgende:
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?
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92586211
1WHERE (DATE(starttime) = MAX(DATE(starttime))

1FATAL SQL ERROR: Invalid use of group function

Wat doe ik fout? ;(
pi_92586348
quote:
1s.gif Op donderdag 10 februari 2011 12:50 schreef GlowMouse het volgende:

[..]

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.
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.
  donderdag 10 februari 2011 @ 13:24:16 #169
75592 GlowMouse
l'état, c'est moi
pi_92586385
Dit moet met een subquery: WHERE DATE(starttime)= (SELECT MAX(DATE(....
quote:
1s.gif Op donderdag 10 februari 2011 13:22 schreef KomtTijd... het volgende:

[..]

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.
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92586481
quote:
1s.gif Op donderdag 10 februari 2011 13:24 schreef GlowMouse het volgende:
Dit moet met een subquery: WHERE DATE(starttime)= (SELECT MAX(DATE(....

*O*
quote:
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.
Hmm goed punt.
pi_92587668
quote:
1s.gif Op donderdag 10 februari 2011 13:17 schreef KomtTijd... het volgende:

[ code verwijderd ]

[ code verwijderd ]

Wat doe ik fout? ;(
Kan je niet gewoon SELECT MAX(starttime) doen?
  donderdag 10 februari 2011 @ 14:46:49 #172
75592 GlowMouse
l'état, c'est moi
pi_92589005
quote:
1s.gif Op donderdag 10 februari 2011 14:11 schreef remi1986 het volgende:

[..]

Kan je niet gewoon SELECT MAX(starttime) doen?
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92589325
quote:
Op donderdag 10 februari 2011 14:11 schreef remi1986 het volgende:

[..]

Kan je niet gewoon SELECT MAX(starttime) doen?
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...
  donderdag 10 februari 2011 @ 15:00:29 #174
75592 GlowMouse
l'état, c'est moi
pi_92589487
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92589959
is 1000 veel of is 1.000.000 veel?
  donderdag 10 februari 2011 @ 15:22:29 #176
75592 GlowMouse
l'état, c'est moi
pi_92590288
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92590911
quote:
Op donderdag 10 februari 2011 15:22 schreef GlowMouse het volgende:
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.
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...
pi_92590930
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
  donderdag 10 februari 2011 @ 19:00:07 #179
75592 GlowMouse
l'état, c'est moi
pi_92600087
Het aantal reacties valt tegen. Dan zal ik het maar verklappen. Pak dit stukje code:
1
2
3
4
5
6
<?php
$filename 
'hoi.php' chr(0) . '.txt';
$filename trim($filename);
if(
substr($filename, -4) != '.txt') die();
touch($filename);
?>
De check op regel4 wordt zonder problemen doorlopen: de laatste vier karakters zijn '.txt'. Bij touch wordt er een stukje C-code uitgevoerd, en in C houden strings op na een nul-byte.
Op http://mysql-apache-php.com/fileupload-security.htm staat dit stukje:
1
2
3
4
5
6
7
8
<?php
//check if its image file

if (!getimagesize($_FILES['imagefile']['tmp_name']))
{ echo 
"Invalid Image File...";
exit();
}
?>
Deze check voorkomt niet dat er php-code op de server komt. Een plaatje is een file, en een file is gewoon opgebouwd uit bytes. Ergens tussen die bytes kunnen best de volgende zitten: <?php echo 'hoi'; ?>. Een plaatje met die code kun je makkelijk zelf maken door met een hex-editor een plaatje te editten en wat bytes te overschrijven. Het resulterende plaatje ziet er niet uit, maar dat ziet de software niet :) Net als bij een html-file, wordt alles tussen <?php en ?> uitgevoerd als PHP-code (en de rest van de file wordt gewoon doorgegeven).
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92601229
quote:
9s.gif Op donderdag 10 februari 2011 19:00 schreef GlowMouse het volgende:
Het aantal reacties valt tegen. Dan zal ik het maar verklappen. Pak dit stukje code:

[ code verwijderd ]

De check op regel4 wordt zonder problemen doorlopen: de laatste vier karakters zijn '.txt'. Bij touch wordt er een stukje C-code uitgevoerd, en in C houden strings op na een nul-byte.
Op http://mysql-apache-php.com/fileupload-security.htm staat dit stukje:

[ code verwijderd ]

Deze check voorkomt niet dat er php-code op de server komt. Een plaatje is een file, en een file is gewoon opgebouwd uit bytes. Ergens tussen die bytes kunnen best de volgende zitten: <?php echo 'hoi'; ?>. Een plaatje met die code kun je makkelijk zelf maken door met een hex-editor een plaatje te editten en wat bytes te overschrijven. Het resulterende plaatje ziet er niet uit, maar dat ziet de software niet :) Net als bij een html-file, wordt alles tussen <?php en ?> uitgevoerd als PHP-code (en de rest van de file wordt gewoon doorgegeven).
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.
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 :) .
  donderdag 10 februari 2011 @ 19:23:00 #181
75592 GlowMouse
l'état, c'est moi
pi_92601405
Ik gebruik log(ab) = b*log(a) en log(1+x)=x (voor kleine x).
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92621537
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
<?php
if (isset($params['submit']) )
{
    
$filter='';
    
$test false;
    if (isset(
$params['select_date']) && $params['select_date'] != '')
    {
        if (
$test) {$filter .=' AND ';}
        
$filter .= '(DATE(starttime) = \''.$params['select_date'].'\')';
        
$test true;
    }
    if (isset(
$params['select_pilot']) && $params['select_pilot'] != '')
    {
        if (
$test) {$filter .=' AND ';}
        
$filter .= '(firstpilot_id = '.$params['select_pilot'].' or secondpilot_id = '.$params['select_pilot'].')';
        
$test true;
    }
    if (isset(
$params['select_airplane']) && $params['select_airplane'] != '')
    {
        if (
$test) {$filter .=' AND ';}
        
$filter .= '(airplane = \''.$params['select_airplane'].'\')';
        
$test true;
    }
}
?>

Kan dit efficienter?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
if (isset($params['submit']) )
{
    
$filter='1=1';
    
$test false;
    if (isset(
$params['select_date']) && $params['select_date'] != '')
    {
        
$filter .= ' AND (DATE(starttime) = \''.$params['select_date'].'\')';
    }
    if (isset(
$params['select_pilot']) && $params['select_pilot'] != '')
    {
        
$filter .= ' AND (firstpilot_id = '.$params['select_pilot'].' or secondpilot_id = '.$params['select_pilot'].')';
    }
    if (isset(
$params['select_airplane']) && $params['select_airplane'] != '')
    {
        
$filter .= ' AND (airplane = \''.$params['select_airplane'].'\')';
    }
}
?>
Dit leek me al makkelijker maar die 1=1 is natuurlijk wel soort van ranzig :')
  vrijdag 11 februari 2011 @ 01:17:19 #183
75592 GlowMouse
l'état, c'est moi
pi_92621594
iets met imploden op AND?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92621745
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if (isset($params['submit']) )
{
    
$filterarr=Array();
    if (isset(
$params['select_date']) && $params['select_date'] != '')
        
$filterarr[1] = '(DATE(starttime) = \''.$params['select_date'].'\')';
    if (isset(
$params['select_pilot']) && $params['select_pilot'] != '')
        
$filterarr[2] = '(firstpilot_id = '.$params['select_pilot'].' or secondpilot_id = '.$params['select_pilot'].')';
    if (isset(
$params['select_airplane']) && $params['select_airplane'] != '')
        
$filterarr[3] = '(airplane = \''.$params['select_airplane'].'\')';
    
$filter=implode(' AND ',$filterarr);
}
?>

Thnx!
  vrijdag 11 februari 2011 @ 01:25:23 #185
75592 GlowMouse
l'état, c'est moi
pi_92621782
waarom keys gebruiken als [] volstaat?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92621905
Omdat het laat is!
  vrijdag 11 februari 2011 @ 01:32:24 #187
63192 ursel
"Het Is Hier Fantastisch!
pi_92621932
quote:
9s.gif Op donderdag 10 februari 2011 19:00 schreef GlowMouse het volgende:
Het aantal reacties valt tegen. Dan zal ik het maar verklappen. Pak dit stukje code:

[ code verwijderd ]

De check op regel4 wordt zonder problemen doorlopen: de laatste vier karakters zijn '.txt'. Bij touch wordt er een stukje C-code uitgevoerd, en in C houden strings op na een nul-byte.
Op http://mysql-apache-php.com/fileupload-security.htm staat dit stukje:

[ code verwijderd ]

Deze check voorkomt niet dat er php-code op de server komt. Een plaatje is een file, en een file is gewoon opgebouwd uit bytes. Ergens tussen die bytes kunnen best de volgende zitten: <?php echo 'hoi'; ?>. Een plaatje met die code kun je makkelijk zelf maken door met een hex-editor een plaatje te editten en wat bytes te overschrijven. Het resulterende plaatje ziet er niet uit, maar dat ziet de software niet :) Net als bij een html-file, wordt alles tussen <?php en ?> uitgevoerd als PHP-code (en de rest van de file wordt gewoon doorgegeven).
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.
_O_ held.
Mooi stukje les in dit topic zeg. :Y
pi_92621985
1
2
3
<?php
if (count($filterarr) >> )
?>
is ook veel accurater dan
1
2
3
<?php
if (isset($params['submit']) )
?>

(dat het formulier verstuurd is betekent niet dat er ook wat ingevuld is)
pi_92622588
1
2
3
<?php
SELECT TIME_FORMAT
(SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(landingtime,starttime)))),"%k:%i") AS totaltime
?>

Hiervan heb ik ook het idee dat het efficienter kan :@
Doel: de totale vlieguren van alle vluchten in een bepaalde selectie
pi_92626120
quote:
10s.gif Op vrijdag 11 februari 2011 02:10 schreef KomtTijd... het volgende:

[ code verwijderd ]

Hiervan heb ik ook het idee dat het efficienter kan :@
Doel: de totale vlieguren van alle vluchten in een bepaalde selectie
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() ?
pi_92626341
quote:
1s.gif Op donderdag 10 februari 2011 15:00 schreef GlowMouse het volgende:
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.
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.
pi_92626466
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.
  vrijdag 11 februari 2011 @ 10:06:10 #193
75592 GlowMouse
l'état, c'est moi
pi_92626748
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92626814
quote:
Die had ik gevonden, maar die doet twee variables optellen, niet een hele kolom...
pi_92627064
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]
  vrijdag 11 februari 2011 @ 10:18:32 #196
75592 GlowMouse
l'état, c'est moi
pi_92627130
Als je met timestamps wilt rekenen, is er nog unix_timestamp(col1)
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92627295
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
pi_92670703
open sollicitatie voor anonymous hier ofzo :)

-nee-

[ Bericht 47% gewijzigd door smegmanus op 13-02-2011 18:34:10 ]
pi_92671424
quote:
1s.gif Op vrijdag 11 februari 2011 09:54 schreef KomtTijd... het volgende:
SUM(TIMEDIFF(tijd,tijd) ging fout.
Je kunt het ook anders proberen: TIMEDIFF(SUM(eindtijd), SUM(begintijd))
  zaterdag 12 februari 2011 @ 13:12:01 #200
302853 themole
graaft totaal door.
pi_92676300
quote:
1s.gif Op zaterdag 12 februari 2011 09:52 schreef MrNiles het volgende:
open sollicitatie voor anonymous hier ofzo :)

-nee-
[knip]reactie op edit [/knip]

[ Bericht 39% gewijzigd door smegmanus op 13-02-2011 18:34:49 ]
Niet altijd serieus
  zaterdag 12 februari 2011 @ 13:39:35 #201
75592 GlowMouse
l'état, c'est moi
pi_92677251
En je moet jezelf afvragen of het voordeel opweegt tegen de overlast die je anderen bezorgt en de gevangenisstraf die je ervoor kunt krijgen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92693040
Ik heb een query op een tabel met een kleine 250.000 regels, nu wil ik daarin zoeken op tags met de volgende code

1
2
3
4
5
6
SELECT `pix`.*
FROM `pix`
WHERE `pix`.`tags` LIKE '%,cool%'
AND   `pix`.`accepted` = 'y' 
AND `pix`.`adult` = 'n'
LIMIT 0,20

Explain:
11    SIMPLE    pix    ref    accepted,adult    accepted    1    const    249142    Using where

Ik heb op deze tabel de volgende indexen;
1
2
3
4
5
6
7
8
9
10
11
12
13
Sleutelnaam    Type    Unieke waarde    Gecomprimeerd    Veld    Kardinaliteit    Collatie    
        PRIMARY    BTREE    Ja    Nee    id    249144    A        
        category    BTREE    Ja    Nee    category    0    A        
filetype    0    A    
filesize    0    A    
filex    0    A    
filey    0    A    
filecrc    249144    A    
        filedate    BTREE    Nee    Nee    filedate    1051    A        
        accepted    BTREE    Nee    Nee    accepted    1    A        
        tags    BTREE    Nee    Nee    tags    1    A        
        adult    BTREE    Nee    Nee    adult    1    A        
        category_2    BTREE    Nee    Nee    category    3663    A    

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 :*
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zaterdag 12 februari 2011 @ 21:06:43 #203
75592 GlowMouse
l'état, c'est moi
pi_92693072
LIKE '%,cool%' moet je dan ook niet willen doen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92693360
quote:
1s.gif Op zaterdag 12 februari 2011 21:06 schreef GlowMouse het volgende:
LIKE '%,cool%' moet je dan ook niet willen doen.
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?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zaterdag 12 februari 2011 @ 21:13:52 #205
75592 GlowMouse
l'état, c'est moi
pi_92693413
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92693547
quote:
1s.gif Op zaterdag 12 februari 2011 21:13 schreef GlowMouse het volgende:
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.
Ik ga je naslag werk eens lezen, maar hoe moet ik die dan weergeven?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zaterdag 12 februari 2011 @ 21:16:47 #207
75592 GlowMouse
l'état, c'est moi
pi_92693572
(col1,col2), (col4), etc.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92693957
Ik ga je naslag werk uitprinten, dit moet ik even laten bezinken denk ik :@
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_92708428
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

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$commando_id
=
"SELECT 'optredens.id'
FROM 'optredens'
WHERE datum= '
$aData[datum]'
AND dagdeel = '
$aData[dagdeel]'
AND wat = '
$aData[wat]'
AND waar = '
$aData[waar]' ";

mysql_query($commando_id);
$id='optredens.id';
echo 
$id;
?>
pi_92709062
quote:
1s.gif Op zondag 13 februari 2011 10:09 schreef MrNiles het volgende:
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
[ code verwijderd ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$commando_id
=
"SELECT 'optredens.id'
FROM 'optredens'
WHERE datum= '"
.$aData['datum']."'
AND dagdeel = '"
.$aData['dagdeel']."'
AND wat = '"
.$aData['wat']."'
AND waar = '"
.$aData['waar']."' ";

$result mysql_query($commando_id);

//$id='optredens.id'; ?????? je wilde dit veranderen? in $id? Waaruit? zomaar uit 'optredens.id?'
// Dit snapt PHP niet , je speelt nu met 2 talen door elkaar SQL en PHP.
// hierdoor is het beter om eerst het in  een $result te gooien en voor elke Rij een waarde op te //roepen.

While($row mysql_fetch_assoc($result)){

echo 
$row['id'];
}
?>


[ Bericht 12% gewijzigd door cablegunmaster op 13-02-2011 11:05:59 ]
Redacted
pi_92709228
Wat wil je met die id's? Alleen alle id's echo-en?
pi_92709453
quote:
1s.gif Op zondag 13 februari 2011 10:54 schreef Tegan het volgende:
Wat wil je met die id's? Alleen alle id's echo-en?
nee die echo is puur even een controle of het wel werkt
wil met die id een nieuwe kolom in een andere tabel aanmaken
pi_92710702
Dus, je query moet eigenlijk maar een id vinden?
pi_92710944
quote:
1s.gif Op zondag 13 februari 2011 11:50 schreef Tegan het volgende:
Dus, je query moet eigenlijk maar een id vinden?
ja klopt
maar die id is pas een paar regels hoger aangemaakt door
1
2
3
<?php
$sql
="INSERT INTO optredens(datum, dagdeel, wat, waar) VALUES ('$aData[datum]','$aData[dagdeel]','$aData[wat]','$aData[waar]')";
?>
die id wordt opgehoogd door auto_increment
pi_92711206
quote:
1s.gif Op zondag 13 februari 2011 11:57 schreef MrNiles het volgende:

[..]

ja klopt
maar die id is pas een paar regels hoger aangemaakt door
[ code verwijderd ]

die id wordt opgehoogd door auto_increment
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
  zondag 13 februari 2011 @ 12:15:34 #216
75592 GlowMouse
l'état, c'est moi
pi_92711552
Kolomnamen en tabelnamen schrijf je zonder apostrof eromheen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92727340
quote:
Op zondag 13 februari 2011 12:15 schreef GlowMouse het volgende:
Kolomnamen en tabelnamen schrijf je zonder apostrof eromheen.
Dit had ik al een aantal keer gezegd ;(.
  zondag 13 februari 2011 @ 18:38:20 #218
75592 GlowMouse
l'état, c'est moi
pi_92727660
Hij luistert niet ;(.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92729823
quote:
1s.gif Op zondag 13 februari 2011 18:38 schreef GlowMouse het volgende:
Hij luistert niet ;(.
SORRY
pi_92738832
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

$selfSecure = "1";
$shellUser  = "test";
$shellPswd  = "test1";

$adminEmail = "nietecht@ziggo.nl";
$fromEmail  = $HTTP_SERVER_VARS["SERVER_ADMIN"];

$Version = "Webmaster";
if($selfSecure){
    if (($PHP_AUTH_USER!=$shellUser)||($PHP_AUTH_PW!=$shellPswd)) {
       Header('WWW-Authenticate: Basic realm="login"');
       Header('HTTP/1.0 401 Unauthorized');
       echo "<html>
         <head>
         <title>Error - Access Denied</title>
         </head>
         <h1>Toegang geweigerd</h1>
Klein stukje script waar ik mee vastzit. Ik krijg geen foutcode maar als ik inlog blijft hij daarom vragen, hij loopt dus niet door, is er iemand die weet wat ik verkeerd doe?
Alvast bedankt
pi_92742145
- 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 ]
pi_92743346
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
<?php
$selfSecure = "1";
$shellUser  = "test";
$shellPswd  = "test1";
$adminEmail = "nietecht@ziggo.nl";
$fromEmail  = $HTTP_SERVER_VARS["SERVER_ADMIN"];
$Version = "Webmaster";if($selfSecure){    if (($PHP_AUTH_USER!=$shellUser)||($PHP_AUTH_PW!=$shellPswd)) {       Header('WWW-Authenticate: Basic realm="login"');       Header('HTTP/1.0 401 Unauthorized');       
echo "<html>         
<head>         
<title>Error - Access Denied</title>         
</head>         
<h1>Toegang geweigerd</h1><hr>
         <em>$Version</em>";
       if(isset($PHP_AUTH_USER)){
          $warnMsg ="
 Iemand probeerde binnen te komen in het bangedeelte: http://".$HTTP_SERVER_VARS["HTTP_HOST"]."$PHP_SELF
 en gebruikte de verkeerde naam en het verkeerde wachtwoord:
 
 Date: ".date("Y-m-d H:i:s")."
 IP: ".$HTTP_SERVER_VARS["REMOTE_ADDR"]."
 User Agent: ".$HTTP_SERVER_VARS["HTTP_USER_AGENT"]."
 username used: $PHP_AUTH_USER
 password used: $PHP_AUTH_PW
 
       ";
          mail($adminEmail,"Unauthorized Access",$warnMsg,
          "From: $fromEmail\nX-Mailer:$Version AutoWarn System");
       }
       exit;
    }
}

if(!$oCols)$oCols=$termCols;
if(!$oRows)$oRows=$termRows;

?>
Bedankt voor je antwoord, hier het complete scriptje om misverstanden te voorkomen. Ik snap niet wat je bedoeld met apostrof, die kan ik niet vinden hierin. Kun je deze "leek" helpen met een werkende code? Alvast bedankt.
  zondag 13 februari 2011 @ 22:18:13 #223
334357 Emery
Heavy Metal King!
pi_92743475
Integer: $selfSecure = "1";
"My name is Emery and primarily I make noises - and ideas".
pi_92743599
$selfSecure = 1;
zo heb ik het ook geprobeerd, helaas herkend hij dan nog niet mijn naam en wachtwoord, hij blijft erom vragen.
pi_92743771
quote:
1s.gif Op zondag 13 februari 2011 22:19 schreef henkm het volgende:
$selfSecure = 1;
zo heb ik het ook geprobeerd, helaas herkend hij dan nog niet mijn naam en wachtwoord, hij blijft erom vragen.
Dat was ook niet de oplossing, maar wel een fout :P .

Wat doe je hier checken?
1if ($selfSecure)
Bedoel je $_SERVER["PHP_AUTH_USER"] en $_SERVER["PHP_AUTH_PW"] ?

Verder weet ik ook niet echt veel over email-scripts.
  zondag 13 februari 2011 @ 22:23:21 #226
75592 GlowMouse
l'état, c'est moi
pi_92743898
quote:
if ($selfSecure)
Daar wordt gekeken of $selfSecure true (of 1, of een string die niet met 0 begint) is.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92744058
quote:
1s.gif Op zondag 13 februari 2011 22:23 schreef GlowMouse het volgende:

[..]

Daar wordt gekeken of $selfSecure true (of 1, of een string die niet met 0 begint) is.
Oh, doe dat altijd zo if ($var == true) ;( .
  zondag 13 februari 2011 @ 22:26:34 #228
75592 GlowMouse
l'état, c'est moi
pi_92744222
quote:
if(isset($PHP_AUTH_USER)){
dat moet zijn: if(isset($_SERVER['PHP_AUTH_USER'])){

En $HTTP_SERVER_VARS overal vervangen door $_SERVER.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92744840
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!
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
<?php

$selfSecure = 1;
$shellUser = "test";
$shellPswd = "test1";

$adminEmail = "blaaaa@ziggo.nl";
$fromEmail = $HTTP_SERVER_VARS["SERVER_ADMIN"];

$Version = "Webmaster";
if($selfSecure){
    if (($PHP_AUTH_USER!=$shellUser)||($PHP_AUTH_PW!=$shellPswd)) {
       Header('WWW-Authenticate: Basic realm="login"');
      
 Header('HTTP/1.0 401 Unauthorized');
       echo "<html>
         <head>
         <title>Error - Access Denied</title>
         </head>
         <h1>Toegang geweigerd</h1>
         
         <hr>
         <em>$Version</em>";
       if(isset($_SERVER['PHP_AUTH_USER'])){

          $warnMsg ="
 Iemand probeerde binnen te komen in het bangedeelte: http://".$_SERVER["HTTP_HOST"]."$PHP_SELF
 en gebruikte de verkeerde naam en het verkeerde wachtwoord:
 
 Date: ".date("Y-m-d H:i:s")."
 IP: ".$_SERVER["REMOTE_ADDR"]."
 User Agent: ".$_SERVER["HTTP_USER_AGENT"]."
 username used: $PHP_AUTH_USER
 password used: $PHP_AUTH_PW
 
       ";
          mail($adminEmail,"Unauthorized Access",$warnMsg,
          "From: $fromEmail\nX-Mailer:$Version AutoWarn System");
       }
       exit;
    }
}

if(!$oCols)$oCols=$termCols;
if(!$oRows)$oRows=$termRows;

?>
  zondag 13 februari 2011 @ 22:36:36 #230
75592 GlowMouse
l'état, c'est moi
pi_92745065
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92745459
Beste GlowMouse, sorry voor mijn dommigheid. Ik heb gedaan wat je getypt heb maar helaas loopt hij nu helemaal vast.
  zondag 13 februari 2011 @ 22:43:40 #232
136730 PiRANiA
All thinking men are atheists.
pi_92745580
quote:
1s.gif Op zondag 13 februari 2011 22:41 schreef henkm het volgende:
Beste GlowMouse, sorry voor mijn dommigheid. Ik heb gedaan wat je getypt heb maar helaas loopt hij nu helemaal vast.
"Loopt helemaal vast" is niet duidelijk. Wat verwacht je en wat gebeurt er?
pi_92745724
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
  zondag 13 februari 2011 @ 22:48:21 #234
136730 PiRANiA
All thinking men are atheists.
pi_92745870
Geef je hele regel eens?
pi_92745889
Ik weet niet helemaal of ik het het beste hier kan vragen of in het linux-topic, maar PHPMyAdmin zegt:
1#1005 - Can't create table '#sql-1e2c_174' (errno: 13) 
als ik een tabel aan wil passen... Het enige wat ik kan vinden is dat er ergens rechten niet goed zouden staan maar mijn hele Lampp-map is gewoon toegankelijk...
pi_92745961
quote:
1s.gif Op zondag 13 februari 2011 22:45 schreef henkm het volgende:
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
username used: ".$_SERVER["PHP_AUTH_USER"]."
password used: ".$_SERVER["PHP_AUTH_PW"]."
pi_92746054
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
<?php

$selfSecure = 1;
$shellUser = "test";
$shellPswd = "test1";

$adminEmail = "blaat@ziggo.nl";
$fromEmail = $HTTP_SERVER_VARS["SERVER_ADMIN"];

$Version = "Webmaster";
if($selfSecure){
    if (($PHP_AUTH_USER!=$shellUser)||($PHP_AUTH_PW!=$shellPswd)) {
       Header('WWW-Authenticate: Basic realm="login"');
      
 Header('HTTP/1.0 401 Unauthorized');
       echo "<html>
         <head>
         <title>Error - Access Denied</title>
         </head>
         <h1>Toegang geweigerd</h1>
         
         <hr>
         <em>$Version</em>";
       if(isset($_SERVER['PHP_AUTH_USER'])){

          $warnMsg ="
 Iemand probeerde binnen te komen in het bangedeelte: http://".$_SERVER["HTTP_HOST"]."$PHP_SELF
 en gebruikte de verkeerde naam en het verkeerde wachtwoord:
 
 Date: ".date("Y-m-d H:i:s")."
 IP: ".$_SERVER["REMOTE_ADDR"]."
 User Agent: ".$_SERVER["HTTP_USER_AGENT"]."
 username used: $_SERVER['PHP_AUTH_USER']
 password used: $PHP_AUTH_PW
 
       ";
          mail($adminEmail,"Unauthorized Access",$warnMsg,
          "From: $fromEmail\nX-Mailer:$Version AutoWarn System");
       }
       exit;
    }
}

if(!$oCols)$oCols=$termCols;
if(!$oRows)$oRows=$termRows;

?>
ik heb echt het idee dat hij echt stuk is nu. hij zegt dus nu regel 33 stuk dat is username used: $_SERVER['PHP_AUTH_USER']
  zondag 13 februari 2011 @ 22:52:00 #238
75592 GlowMouse
l'état, c'est moi
pi_92746141
quote:
1s.gif Op zondag 13 februari 2011 22:48 schreef KomtTijd... het volgende:
Ik weet niet helemaal of ik het het beste hier kan vragen of in het linux-topic, maar PHPMyAdmin zegt:

[ code verwijderd ]

als ik een tabel aan wil passen... Het enige wat ik kan vinden is dat er ergens rechten niet goed zouden staan maar mijn hele Lampp-map is gewoon toegankelijk...
je /tmp map niet.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zondag 13 februari 2011 @ 22:52:21 #239
334357 Emery
Heavy Metal King!
pi_92746158
;
"My name is Emery and primarily I make noises - and ideas".
  zondag 13 februari 2011 @ 22:53:31 #240
136730 PiRANiA
All thinking men are atheists.
pi_92746252
quote:
1s.gif Op zondag 13 februari 2011 22:50 schreef henkm het volgende:

[ code verwijderd ]

ik heb echt het idee dat hij echt stuk is nu. hij zegt dus nu regel 33 stuk dat is username used: $_SERVER['PHP_AUTH_USER']
Je doet je quotes echt grandioos mis. Zoek even een basistutorial op...
pi_92746260
Tegan, bedankt voor je tip, aangepast, foutmelding is weg maar login wordt nog niet herkend,
pi_92746421
quote:
1s.gif Op zondag 13 februari 2011 22:52 schreef GlowMouse het volgende:

[..]

je /tmp map niet.
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.
  zondag 13 februari 2011 @ 22:59:25 #243
75592 GlowMouse
l'état, c'est moi
pi_92746692
quote:
9s.gif Op zondag 13 februari 2011 22:55 schreef KomtTijd... het volgende:

[..]

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.
disk vol? kijk anders naar http://dev.mysql.com/doc/refman/5.0/en/cannot-create.html
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92747178
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.
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
<?php

$selfSecure = 1;
$shellUser = "test";
$shellPswd = "test1";

$adminEmail = "blaaaa@ziggo.nl";
$fromEmail = $HTTP_SERVER_VARS["SERVER_ADMIN"];

$Version = "Webmaster";
if($selfSecure){
    if (($PHP_AUTH_USER!=$shellUser)||($PHP_AUTH_PW!=$shellPswd)) {
       Header('WWW-Authenticate: Basic realm="login"');
      
 Header('HTTP/1.0 401 Unauthorized');
       echo "<html>
         <head>
         <title>Error - Access Denied</title>
         </head>
         <h1>Toegang geweigerd</h1>
         
         <hr>
         <em>$Version</em>";
       if(isset($_SERVER['PHP_AUTH_USER'])){

          $warnMsg ="
 Iemand probeerde binnen te komen in het bangedeelte: http://".$_SERVER["HTTP_HOST"]."$PHP_SELF
 en gebruikte de verkeerde naam en het verkeerde wachtwoord:
 
 Date: ".date("Y-m-d H:i:s")."
 IP: ".$_SERVER["REMOTE_ADDR"]."
 User Agent: ".$_SERVER["HTTP_USER_AGENT"]."
 username used: ".$_SERVER["PHP_AUTH_USER"]."
password used: ".$_SERVER["PHP_AUTH_PW"]."
 
       ";
          mail($adminEmail,"Unauthorized Access",$warnMsg,
          "From: $fromEmail\nX-Mailer:$Version AutoWarn System");
       }
       exit;
    }
}

if(!$oCols)$oCols=$termCols;
if(!$oRows)$oRows=$termRows;

?>
pi_92747201
dubbel
pi_92747249
quote:
1s.gif Op zondag 13 februari 2011 22:59 schreef GlowMouse het volgende:

[..]

disk vol? kijk anders naar http://dev.mysql.com/doc/refman/5.0/en/cannot-create.html
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 ]
pi_92757014
Edit.. keek ff verkeerd
pi_92757119
1
2
3
<?php
if (($PHP_AUTH_USER!=$shellUser)||($PHP_AUTH_PW!=$shellPswd)) {
?>
echo je waarde eens van al deze 4 onderelkaar?
denk dat hier een fout in zit.
Redacted
pi_92757196
quote:
if (($PHP_AUTH_USER!=$shellUser)||($PHP_AUTH_PW!=$shellPswd)) {
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.
pi_92757210
quote:
1s.gif Op maandag 14 februari 2011 09:38 schreef remi1986 het volgende:

[..]

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.
Goed gezien ^O^
nu nog wachten op reactie :D
Redacted
pi_92757231
quote:
1s.gif Op maandag 14 februari 2011 09:38 schreef cablegunmaster het volgende:

[..]

Goed gezien ^O^
nu nog wachten op reactie :D
Haha en dat op maandagochtend :O :Y
pi_92767046
quote:
15s.gif Op zaterdag 12 februari 2011 21:24 schreef Chandler het volgende:
Ik ga je naslag werk uitprinten, dit moet ik even laten bezinken denk ik :@
@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! :)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_92767690
omdat ik zat te pielen met
1
2
3
<?php
$id
='optredens.id';
?>
en door de opmerking van cablegunmaster over dat php en sql niet door elkaar te gebruiken is (logisch natuurlijk)

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)

1
2
3
<?php
ALTER TABLE tabelnaam ADD $kolomnaam VARCHAR
) DEFAULT 'o' NOT NULL " ;
?>
  maandag 14 februari 2011 @ 14:29:52 #254
75592 GlowMouse
l'état, c'est moi
pi_92767885
Zoiets kan ja, maar dat wil je niet.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92767996
1
2
3
<?php
Zoiets kan ja
maar dat wil je niet.
?>

nouja..eigenlijk wel..
maar waarom niet?

trouwens als ik het zo doe dan krijg ik een kolom met de naam "$kolomnaam"
  maandag 14 februari 2011 @ 14:34:55 #256
75592 GlowMouse
l'état, c'est moi
pi_92768085
Je moet je eerst in databases verdiepen voordat je zulke rare dingen doet.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92768624
quote:
Je moet je eerst in databases verdiepen voordat je zulke rare dingen doet.
Tips waar te beginnen zijn welkom!
  maandag 14 februari 2011 @ 14:49:18 #258
75592 GlowMouse
l'état, c'est moi
pi_92768782
Elke databsetutorial zal helpen. Zodra je variabele kolomnamen gebruikt, doe je wat fout.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92769014
quote:
Elke databsetutorial zal helpen. Zodra je variabele kolomnamen gebruikt, doe je wat fout.
ok..misschien dan wel een tipje welk hoek ik moet zoeken om een kolom toe te voegen met een bepaalde naam?
  maandag 14 februari 2011 @ 14:55:04 #260
75592 GlowMouse
l'état, c'est moi
pi_92769029
Dat wil je helemaal niet met een script doen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92769129
quote:
Dat wil je helemaal niet met een script doen.
hoe dan :?
pi_92769178
phpMyAdmin bijvoorbeeld.
pi_92769350
1
2
3
<?php
phpMyAdmin bijvoorbeeld
.
?>

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?
pi_92769528
quote:
1s.gif Op maandag 14 februari 2011 15:02 schreef MrNiles het volgende:

[ code verwijderd ]

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?
Een database is geen spreadsheet!
je kunt gewoon twee kolommen maken, <naam> | <datum_aanwezig>. Dat is toch genoeg?
  maandag 14 februari 2011 @ 15:16:20 #265
302853 themole
graaft totaal door.
pi_92770008
quote:
1s.gif Op maandag 14 februari 2011 15:06 schreef KomtTijd... het volgende:

[..]

Een database is geen spreadsheet!
je kunt gewoon twee kolommen maken, <naam> | <datum_aanwezig>. Dat is toch genoeg?
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.
Niet altijd serieus
pi_92770071
quote:
14s.gif Op maandag 14 februari 2011 15:16 schreef themole het volgende:

[..]

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.
Inderdaad. 'Je moet van links naar rechts lezen, niet van boven naar beneden' zei mijn database leraar altijd.
pi_92770173
quote:
1s.gif Op maandag 14 februari 2011 15:02 schreef MrNiles het volgende:

[ code verwijderd ]

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?
Een kolom is niet gelijk aan een cel.

http://www.w3schools.com/sql/sql_join_inner.asp
pi_92770221
quote:
14s.gif Op maandag 14 februari 2011 15:16 schreef themole het volgende:

[..]

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.
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...
pi_92770397
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
pi_92770459
quote:
1s.gif Op maandag 14 februari 2011 15:26 schreef MrNiles het volgende:
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
Nee. Lees dit http://www.w3schools.com/sql/sql_join_inner.asp .
pi_92770485
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
pi_92770777
quote:
1s.gif Op maandag 14 februari 2011 15:28 schreef remi1986 het volgende:
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
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.
pi_92770810
quote:
1s.gif Op maandag 14 februari 2011 14:24 schreef MrNiles het volgende:
omdat ik zat te pielen met
[ code verwijderd ]

en door de opmerking van cablegunmaster over dat php en sql niet door elkaar te gebruiken is (logisch natuurlijk)

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)
[ code verwijderd ]

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

1ALTER TABLE tabelnaam ADD ".$kolomnaam." VARCHAR( 3 ) DEFAULT 'o' NOT NULL " ;

En wat ik zelf altijd doe, als extra veiligheid is PHP variablen escapen met mysql_real_escape_string().
pi_92770851
quote:
1s.gif Op maandag 14 februari 2011 15:34 schreef Light het volgende:

[..]

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.
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...
  maandag 14 februari 2011 @ 15:41:53 #275
75592 GlowMouse
l'état, c'est moi
pi_92771144
quote:
1s.gif Op maandag 14 februari 2011 15:34 schreef remi1986 het volgende:

[..]

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

[ code verwijderd ]

En wat ik zelf altijd doe, als extra veiligheid is PHP variablen escapen met mysql_real_escape_string().
Je vergeet de backticks.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92771224
quote:
1s.gif Op maandag 14 februari 2011 15:41 schreef GlowMouse het volgende:

[..]

Je vergeet de backticks.
Backticks gebruik ik nooit

http://www.pfz.nl/wiki/backticks/
  maandag 14 februari 2011 @ 15:50:19 #277
75592 GlowMouse
l'état, c'est moi
pi_92771531
Ik zei dat mysql_real_escape_string in dit geval helemaal niks helpt.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 14 februari 2011 @ 17:52:51 #278
91039 mstx
2x1/2 = 1/2 x 1/2
pi_92777697
quote:
1s.gif Op maandag 14 februari 2011 15:43 schreef remi1986 het volgende:

[..]

Backticks gebruik ik nooit

http://www.pfz.nl/wiki/backticks/
Ik snap niet helemaal wat de schrijver van die tekst bedoelt. In onderstaande voorbeeld bewijst hij juist toch dat je ze wel moet gebruiken? :?
quote:
Maar het kan nog veel erger. Gereserveerde woorden hebben in SQL een betekenis. Woorden zoals DELETE en DROP hebben zelfs een gevaarlijke betekenis.

SELECT
`delete`
FROM
tabel;

Dit selecteert de kolom 'delete' uit de tabel.

SELECT
delete
FROM
tabel;

Zonder backticks selecteert dit de uitkomst van de DELETE query die zojuist je tabel heeft geleegd.
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.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_92779386
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

1
2
3
4
CREATE TABLE group (
'group' INT NOT NULL ,
'tekst' INT NOT NULL
) ENGINE = MYISAM 

Dit zal niet goed gaan, aangezien group een reserved name is.

1
2
3
4
CREATE TABLE group1 (
'group1' INT NOT NULL ,
'group2' INT NOT NULL
) ENGINE = MYISAM 

werkt dan weer wel...

Wat ik eigenlijk niet snap is waarom mysql_real_escape_string niet zou werken als je geen backticks gebruikt?
  maandag 14 februari 2011 @ 18:49:46 #280
75592 GlowMouse
l'état, c'est moi
pi_92780364
Je had deze query:
1ALTER TABLE tabelnaam ADD ".$kolomnaam." VARCHAR( 3 ) DEFAULT 'o' NOT NULL 
Ik kan nu kolomnaam kiezen als: extrazooi INT NOT NULL, waaaaa
daar doet mysql_real_escape_string niets tegen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92790747
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 ;)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_92810446
quote:
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


[code]ALTER TABLE tabelnaam ADD ".$kolomnaam." VARCHAR( 3 ) DEFAULT 'o' NOT NULL " ; [/code]En wat ik zelf altijd doe, als extra veiligheid is PHP variablen escapen met mysql_real_escape_string().
Remy1986...als je zegt dat dit werkt..leg me het volgende dan eens uit

dit werkt wel, kolom zooi wordt aangemaakt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
ini_set
('display_errors''On');
error_reporting(E_ALL);

$con mysql_connect("localhost","login","");
if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }

mysql_select_db("login"$con);

$id "zooi";

$commando="ALTER TABLE optredens_gebruikers ADD ".$id." VARCHAR( 3 ) DEFAULT 'o' NOT NULL " ;
mysql_query($commando);

mysql_close($con);
?>

maar dit niet..terwijl de echo van $bla goed is
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
<?php
ini_set
('display_errors''On');
error_reporting(E_ALL);

$con mysql_connect("localhost","login","");
if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }

mysql_select_db("login"$con);

$datum=$_POST['datum'];
$dagdeel=$_POST['dagdeel'];
$wat=$_POST['wat'];
$waar=$_POST['waar'];

$sql="INSERT INTO optredens(datum, dagdeel, wat, waar) VALUES ('$datum','$dagdeel','$wat','$waar')";
mysql_query($sql);

        
// Formulier succes!
echo '<p>Je hebt het optreden succesvol toegevoegd!</p>'.'<br />';
echo 
" Datum: $datum <br />";
echo 
" Dagdeel: $dagdeel<br />";
echo 
" Wat: $wat<br />";
echo 
" Waar: $waar<br />";

$bla mysql_insert_id();
echo 
$bla;

$id $bla;

$commando="ALTER TABLE optredens_gebruikers ADD ".$id." VARCHAR( 3 ) DEFAULT 'o' NOT NULL " ;
mysql_query($commando);

echo 
"1 record added";

mysql_close($con);
?>
  dinsdag 15 februari 2011 @ 10:48:31 #283
75592 GlowMouse
l'état, c'est moi
pi_92810467
;(
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92810518
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

1
2
3
<?php
$query
=mysql_query($commando) or die(mysql_error());
?>

Krijg je een foutmelding?

[ Bericht 45% gewijzigd door remi1986 op 15-02-2011 10:55:14 ]
pi_92810729
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 O-)
  dinsdag 15 februari 2011 @ 10:57:39 #286
75592 GlowMouse
l'état, c'est moi
pi_92810796
Je zult wel backticks moeten gebruiken bij een numerieke kolomnaam.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92810854
quote:
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....
is goed...de waarde komt van een auto_increment
bijv 121
testje zal ik later doen..vergadering..en ik ben al te laat..shit
pi_92810911
quote:
1s.gif Op dinsdag 15 februari 2011 10:59 schreef MrNiles het volgende:

[..]

is goed...de waarde komt van een auto_increment
bijv 121
testje zal ik later doen..vergadering..en ik ben al te laat..shit
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.
pi_92811328
MrNiles, wat begrijp je hier niet aan?

quote:
1s.gif Op maandag 14 februari 2011 15:06 schreef KomtTijd... het volgende:

[..]

Een database is geen spreadsheet!
je kunt gewoon twee kolommen maken, <naam> | <datum_aanwezig>. Dat is toch genoeg?
  dinsdag 15 februari 2011 @ 11:30:10 #290
75592 GlowMouse
l'état, c'est moi
pi_92811932
Misschien wil hij zeker weten dat niemand per ongeluk een JOIN in zijn applicatie bouwt?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92812079
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 -O-
  dinsdag 15 februari 2011 @ 11:49:27 #292
75592 GlowMouse
l'état, c'est moi
pi_92812605
misschien iets voor over 6 weken en 3 dagen?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92812751
quote:
1s.gif Op dinsdag 15 februari 2011 11:34 schreef remi1986 het volgende:
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 -O-
_O- Ik begreep die alter table ook al niet . :P De consistency van je hele database gaat eraan! :o. en duidelijkheid van gegevens is dan ver te zoeken.
Redacted
pi_92812897
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....
pi_92813136
quote:
1s.gif Op dinsdag 15 februari 2011 11:57 schreef MrNiles het volgende:
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....
Daarom mijn tip aan jou schrijf het in jip en janneke taal op zodat je laat weten wat je wil. :P (pseudo code).
Redacted
pi_92814345
quote:
Daarom mijn tip aan jou schrijf het in jip en janneke taal op zodat je laat weten wat je wil. (pseudo code).
mail komt later deze middag :)
pi_92814474
ff iets anders...weet niet of dit überhaupt mogelijk is, maar jullie zijn slim ^O^ .

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 :P )
  dinsdag 15 februari 2011 @ 12:54:35 #298
75592 GlowMouse
l'état, c'est moi
pi_92814854
Nee, dat is niet waterdicht te maken aangezien het om user-input gaat.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92814924
Ik kwam dit nog tegen:

1
2
3
<?php
if (isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && $_SERVER["HTTP_X_REQUESTED_WITH"] == "XMLHttpRequest")
?>

Zou dat ook niet werken?
  dinsdag 15 februari 2011 @ 12:57:46 #300
75592 GlowMouse
l'état, c'est moi
pi_92814986
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92815668
Werkt inderdaad ^O^ .. En mocht het niet waterdicht zijn, is dan jammer. Het is iig een extra controle.
  dinsdag 15 februari 2011 @ 13:36:22 #302
75592 GlowMouse
l'état, c'est moi
pi_92816512
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')