FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies - deel 87
Tegandinsdag 8 februari 2011 @ 17:50
php.jpg

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
MrNilesdinsdag 8 februari 2011 @ 17:54
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.. :?
Tegandinsdag 8 februari 2011 @ 17:56
Zonder die $id werkt het wel? Dan ligt het dus aan de $id.
Emerydinsdag 8 februari 2011 @ 18:04
Hoi!
MrNilesdinsdag 8 februari 2011 @ 18:05
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
urseldinsdag 8 februari 2011 @ 18:11
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 :{
GlowMousedinsdag 8 februari 2011 @ 19:33
Als je dat soort dingen wilt afvangen dan gaat dat weer ten koste van je OOP, dat is altijd lastig.
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?
KomtTijd...woensdag 9 februari 2011 @ 00:01
ok ik heb dus die kolom met starttijden (datetime). Nu wil ik een lijst met alle data die in die kolom voorkomen (dus iedere datum één keer). Watvoor query zou ik daarvoor kunnen gebruiken?

Of althans wat typ ik in in google om daar achter te komen?

-edit-
Distinct. Helpt altijd, zo'n in-jezelf-denk-post :7

[ Bericht 19% gewijzigd door KomtTijd... op 09-02-2011 00:29:52 ]
Teganwoensdag 9 februari 2011 @ 00:30
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 ]
KomtTijd...woensdag 9 februari 2011 @ 00:35
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)
erikkllwoensdag 9 februari 2011 @ 00:40
Ik heb morgen echt een mooie sql query(zelf gemaakt!) waar ik iets aan toe wil voegen, waar ik niet uitkom :P Maar nu eerst naar bed! truste!
Chandlerwoensdag 9 februari 2011 @ 08:48
tvp
cablegunmasterwoensdag 9 februari 2011 @ 08:55
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 ]
KomtTijd...woensdag 9 februari 2011 @ 09:03
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 :')
GlowMousewoensdag 9 februari 2011 @ 09:08
Haakjes kloppen al niet.
cablegunmasterwoensdag 9 februari 2011 @ 09:14
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
GlowMousewoensdag 9 februari 2011 @ 09:21
$("tr") matcht al op alle tr's, niet op die waarop je klikt; werkt $(this)?
cablegunmasterwoensdag 9 februari 2011 @ 09:25
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.
GlowMousewoensdag 9 februari 2011 @ 09:26
$($this).next("tr").next(".onzichtbaarreageren")?
cablegunmasterwoensdag 9 februari 2011 @ 09:32
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 ?
GlowMousewoensdag 9 februari 2011 @ 09:33
het is this ipv $this.
cablegunmasterwoensdag 9 februari 2011 @ 09:34
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 ]
MrNileswoensdag 9 februari 2011 @ 10:03
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
Emerywoensdag 9 februari 2011 @ 10:06
1
2
3
<?php
ON 
('36'=optredens_gebruikers.id";
?>

Wat houdt dan in?
GlowMousewoensdag 9 februari 2011 @ 10:07
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?
KomtTijd...woensdag 9 februari 2011 @ 10:10
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.
boem-dikkiewoensdag 9 februari 2011 @ 10:11
Weet iemand hier trouwens waar het aan kan liggen dat ik heel vaak geen leden kan toevoegen met speciale tekens in hun naam? Nu weer iemand die niet in de database kan omdat hij een C met een circumflex is zijn naam heeft staan. Ledennaam heeft gewoon VARCHAR als type.
erikkllwoensdag 9 februari 2011 @ 10:12
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.
cablegunmasterwoensdag 9 februari 2011 @ 10:12
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.
boem-dikkiewoensdag 9 februari 2011 @ 10:12
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?
erikkllwoensdag 9 februari 2011 @ 10:13
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!
cablegunmasterwoensdag 9 februari 2011 @ 10:15
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.
erikkllwoensdag 9 februari 2011 @ 10:16
Kijk in phpmyadmin hoe de collation op je database tabel is. Stel deze bijvoorbeeld in op utf8_general.

Gebruik vervolgens als encoding voor je html ook UTF-8 en het zou goed moeten zijn.
boem-dikkiewoensdag 9 februari 2011 @ 10:16
Oh nevermind. Mijn encoding staat wel goed, de fout zit in de Google Maps API die ik gebruik denk ik. Hij geeft het lid wel goed weer in de ledenlijst maar op de ledenkaart kan hij 'm niet vinden.
erikkllwoensdag 9 februari 2011 @ 10:19
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? :@
boem-dikkiewoensdag 9 februari 2011 @ 10:23
Dat heb je in principe toch ook al gedaan met die queries daarboven?
GlowMousewoensdag 9 februari 2011 @ 10:23
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.
cablegunmasterwoensdag 9 februari 2011 @ 10:24
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
GlowMousewoensdag 9 februari 2011 @ 10:26
Je moet queries niet combineren, je moet joinen. Je maakt nu 4 temporary tables en komt met een onleesbare brij.
Scorpiewoensdag 9 februari 2011 @ 10:26
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
erikkllwoensdag 9 februari 2011 @ 10:32
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
cablegunmasterwoensdag 9 februari 2011 @ 10:32
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 :).
erikkllwoensdag 9 februari 2011 @ 10:34
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
GlowMousewoensdag 9 februari 2011 @ 10:41
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%'
cablegunmasterwoensdag 9 februari 2011 @ 10:41
SELECT log.ticketid, log.dateline AS closetime, log.dateline AS opentime
FROM `swauditlogs` log
LEFT JOIN swtickets ON swauditlogs.ticketid = swtickets.id
WHERE `log.actiontype` ='8'
AND `log.actionmsg` LIKE '%Nog te factureren%'
OR `log.actiontype =11
OR `log.actiontype` =12
AND `log.actionmsg` LIKE '%trinicom%'
AND 'swtickets.ticketstatusid' =3 OR 'swtickets.ticketstatusid' =4 AND swtickets.email LIKE '%trinicom%'

aah Glowmouse was me voor :D ik zelf heb geen flauw idee of me left join klopt :P
Query lijkt prut van mij :D
erikkllwoensdag 9 februari 2011 @ 10:42
Ik zal jullie beide queries eens proberen :D Super!
cablegunmasterwoensdag 9 februari 2011 @ 10:43
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 ]
erikkllwoensdag 9 februari 2011 @ 10:52
Jullie oplossingen werken allebei niet, maar het idee is me wel duidelijk hoe ik dit netter kan oplossen!
cablegunmasterwoensdag 9 februari 2011 @ 10:53
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^
erikkllwoensdag 9 februari 2011 @ 10:55
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.)
GlowMousewoensdag 9 februari 2011 @ 10:55
Wat je in ON en wat je in WHERE zet maakt bij LEFT JOIN wel flink uit, maar het helpt om leesbaarheid te vergroten.
cablegunmasterwoensdag 9 februari 2011 @ 11:00
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 :).
GlowMousewoensdag 9 februari 2011 @ 11:01
Jij mist al een join.
cablegunmasterwoensdag 9 februari 2011 @ 11:03
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 ]
Scorpiewoensdag 9 februari 2011 @ 12:28
Even voor de wat meer onderlegde personen onder ons;

Ik draai een WAMPserver installatie op een windows bak, maar sommige van mijn scripts worden maar ten dele geserveerd:

Dit stukje code:

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)
GlowMousewoensdag 9 februari 2011 @ 12:31
Dat lijkt me door het cms komen. Zet eens {literal} en {/literal} om je Javascript.
Scorpiewoensdag 9 februari 2011 @ 13:12
Nope, nothing.
GlowMousewoensdag 9 februari 2011 @ 13:14
Het komt in ieder geval door je template-engine, die { en } ziet als tags. Je kunt \{ en \} proberen te gebruiken. Kijk anders naar de handleiding van de template-engine die je gebruikt, of laad javascript uit een aparte .js-file.
Scorpiewoensdag 9 februari 2011 @ 13:28
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
MrNileswoensdag 9 februari 2011 @ 18:46
Ik wil graag dat de query alleen een echo geeft met de $id uit tabel optredens
waar moet ik m ergens bij zetten?

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'] ;
}
?>
Emerywoensdag 9 februari 2011 @ 18:52
WHERE 'optredens_id' = '$id';
MrNileswoensdag 9 februari 2011 @ 18:53
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??
Emerywoensdag 9 februari 2011 @ 18:55
Probeer eens.
MrNileswoensdag 9 februari 2011 @ 18:57
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
Teganwoensdag 9 februari 2011 @ 19:05
'-en moeten weg.
Emerywoensdag 9 februari 2011 @ 19:07
Snap sowieso niet wat je precies wil doen met $id. Wil je met GET een id uit de url ophalen en alleen het optreden tonen wat overeenkomt met dat id?
MrNileswoensdag 9 februari 2011 @ 19:09
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
Emerywoensdag 9 februari 2011 @ 19:11
Zou moeten werken met WHERE. Wat heb je in de variabele $id staan?
Teganwoensdag 9 februari 2011 @ 19:11
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.
MrNileswoensdag 9 februari 2011 @ 19:13
ok..laatste update
WHERE aanwezig='o' AND optredens_gebruikers.id=$id "; gaat niet goed
WHERE optredens_gebruikers.id=$id AND aanwezig='o' "; gaat wel goed

kan iemand mij uitleggen waarom de volgorde belangrijk is...hij kijkt toch naar EN/EN
themolewoensdag 9 februari 2011 @ 19:24
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.
mstxwoensdag 9 februari 2011 @ 20:22
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?
MrNileswoensdag 9 februari 2011 @ 20:46
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>";
Teganwoensdag 9 februari 2011 @ 20:47
PHP in PHP.
Teganwoensdag 9 februari 2011 @ 20:50
1
2
3
<?php
echo "<a href='aanwezig_edit.php?name=".$array['name']."'>".$array['name']."</a>";
?>

Snap je waarom het niet kon nu?
MrNileswoensdag 9 februari 2011 @ 20:50
never mind...het wordt al laat
Teganwoensdag 9 februari 2011 @ 20:56
Dit mag ook.

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

Maar een combi niet.
GlowMousewoensdag 9 februari 2011 @ 20:58
quote:
1s.gif Op woensdag 9 februari 2011 20:22 schreef mstx het volgende:

[..]

Ook niet als je indexes (op meerdere kolommen) gebruikt?
Nee.
GlowMousewoensdag 9 februari 2011 @ 21:12
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 ]
ralfiewoensdag 9 februari 2011 @ 21:25
Ik weet niet hoe Mysql intern werkt met dergelijke AND's, maar ik weet dat in programmeertalen je het beste de eerste test het meest specifiek kunt maken, omdat als die faalt, de tweede test niet meer uitgevoerd wordt:

if (kleinekansopwaar AND grotekansopwaar)

(indien kleinekansopwaar onwaar oplevert, zal de test grotekansopwaar niet meer uitgevoerd hoeven worden. Indien beide omgedraaid worden zal het aantal keer dat de tweede test uitgevoerd wordt een stuk minder zijn)

Maar, zoals gezegd, dit is 100% afhankelijk van hoe mysql dit soort queries uitvoert. En daar heb ik geen idee van.
GlowMousewoensdag 9 februari 2011 @ 21:27
Bij MySQL zit veel tijd in het ophalen van de data, dus hij kan tijd winnen door zelf te kijken welke clause een kleine kans op waar heeft. Het is daarom belangrijk om één selectieve index te hebben. Als MySQL zo'n index herkent zal hij die kiezen onafhankelijk van waar hij in je WHERE-clause staat.
MrNileswoensdag 9 februari 2011 @ 21:40
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?
Teganwoensdag 9 februari 2011 @ 21:42
1&id=".$array['id']."


[ Bericht 16% gewijzigd door Tegan op 09-02-2011 21:48:56 ]
GlowMousewoensdag 9 februari 2011 @ 21:46
En gebruik rawurlencode om een string.
MrNileswoensdag 9 februari 2011 @ 21:46
quote:
1s.gif Op woensdag 9 februari 2011 21:42 schreef Tegan het volgende:

[ code verwijderd ]

da vind ie nie fijn
GlowMousewoensdag 9 februari 2011 @ 21:47
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?
MrNileswoensdag 9 februari 2011 @ 21:47
quote:
1s.gif Op woensdag 9 februari 2011 21:46 schreef GlowMouse het volgende:
En gebruik rawurlencode om een string.
:?
Teganwoensdag 9 februari 2011 @ 21:48
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...
GlowMousewoensdag 9 februari 2011 @ 21:49
$array['name'] zal een string zijn. Wat gebeurt er als voor iemand geldt $array['name'] = 'asdf&amp;id=4'?
MrNileswoensdag 9 februari 2011 @ 21:50
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 :)
MrNileswoensdag 9 februari 2011 @ 21:52
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
Teganwoensdag 9 februari 2011 @ 21:53
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
GlowMousewoensdag 9 februari 2011 @ 21:53
Ze bedoelt dat als je met Google wat zoekt, je het antwoord uit de url kan halen:

http://www.google.nl/search?hl=nl&source=hp&biw=1280&bih=865&q=hoi&aq=f&aqi=g2g-s1g7&aql=&oq=

check al die ampersandjes.
Emerywoensdag 9 februari 2011 @ 21:54
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.
Teganwoensdag 9 februari 2011 @ 21:54
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.
Teganwoensdag 9 februari 2011 @ 21:55
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.
GlowMousewoensdag 9 februari 2011 @ 21:56
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?
Teganwoensdag 9 februari 2011 @ 21:57
http://www.w3schools.com/php/default.asp
KomtTijd...woensdag 9 februari 2011 @ 21:57
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.
GlowMousewoensdag 9 februari 2011 @ 21:57
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?
MrNileswoensdag 9 februari 2011 @ 21:58
quote:
14s.gif Op woensdag 9 februari 2011 21:54 schreef Emery het volgende:

[..]

Zet je error report aan.
staat aan
GlowMousewoensdag 9 februari 2011 @ 21:58
quote:
16s.gif Op woensdag 9 februari 2011 21:58 schreef MrNiles het volgende:

[..]

staat aan
display errors ook?
MrNileswoensdag 9 februari 2011 @ 21:59
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
Emerywoensdag 9 februari 2011 @ 21:59
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.
Teganwoensdag 9 februari 2011 @ 22:00
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?
MrNileswoensdag 9 februari 2011 @ 22:00
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);
Emerywoensdag 9 februari 2011 @ 22:01
Ach, ik snap MrNiles wel. Ik moest ook een paar keer kijken en vragen voor ik snapte hoe een JOIN werkt, terwijl ik al wel een paar tutorials had gelezen. Zodra iemand het je uitlegt of de code uit elkaar trekt en het één voor één duidelijk maakt is het veel makkelijker. Het is tenslotte ook het 'voor dummies'-topic. Dit topic is toch voor dat soort vragen.
Teganwoensdag 9 februari 2011 @ 22:02
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.
Emerywoensdag 9 februari 2011 @ 22:03
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.
GlowMousewoensdag 9 februari 2011 @ 22:03
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()?
themolewoensdag 9 februari 2011 @ 22:04
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.
MrNileswoensdag 9 februari 2011 @ 22:05
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
GlowMousewoensdag 9 februari 2011 @ 22:06
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.
GlowMousewoensdag 9 februari 2011 @ 22:06
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?
Teganwoensdag 9 februari 2011 @ 22:06
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.
GlowMousewoensdag 9 februari 2011 @ 22:10
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.
Teganwoensdag 9 februari 2011 @ 22:12
quote:
1s.gif Op woensdag 9 februari 2011 22:10 schreef GlowMouse het volgende:

[..]

http://phpsecurity.org/ ? niet gelezen overigens.
Klinkt goed. Thanks.
themolewoensdag 9 februari 2011 @ 22:12
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.
Emerywoensdag 9 februari 2011 @ 22:13
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.
GlowMousewoensdag 9 februari 2011 @ 22:14
En stoeien met post #114 natuurlijk.
Teganwoensdag 9 februari 2011 @ 22:16
Nee, ik weet hem niet.
GlowMousewoensdag 9 februari 2011 @ 22:17
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.
GlowMousewoensdag 9 februari 2011 @ 22:18
Je geeft veel te snel op.
Teganwoensdag 9 februari 2011 @ 22:19
hoi.php, <integer>

Zoiets?
cablegunmasterwoensdag 9 februari 2011 @ 22:19
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 :)?
GlowMousewoensdag 9 februari 2011 @ 22:21
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.
GlowMousewoensdag 9 februari 2011 @ 22:22
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?
cablegunmasterwoensdag 9 februari 2011 @ 22:23
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
GlowMousewoensdag 9 februari 2011 @ 22:24
Sorteren op tijd en dan in je code de eerste anders weergeven.
GlowMousewoensdag 9 februari 2011 @ 22:24
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
themolewoensdag 9 februari 2011 @ 22:24
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.
cablegunmasterwoensdag 9 februari 2011 @ 22:25
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 :@ .
Teganwoensdag 9 februari 2011 @ 22:26
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
GlowMousewoensdag 9 februari 2011 @ 22:27
quote:
16s.gif Op woensdag 9 februari 2011 22:26 schreef Tegan het volgende:

[..]

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

[..]

Dan wordt hoi.php5 aangemaakt, niet hoi.php
Same thing.
GlowMousewoensdag 9 februari 2011 @ 22:28
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?".
Teganwoensdag 9 februari 2011 @ 22:31
hoi.php<vier spaties>
mstxwoensdag 9 februari 2011 @ 22:32
Kleine tip: zorg dat apache uitstaat (en in iedergeval php aan) als je een backup terugzet op een live server zodat niet iedereen tussendoor je bestanden kan jatten. :X kwam er een beetje laat achter
GlowMousewoensdag 9 februari 2011 @ 22:33
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?
Teganwoensdag 9 februari 2011 @ 22:35
Wojo, en ik had niet eens geGoogled.
Teganwoensdag 9 februari 2011 @ 22:47
hoi.php& #32; zonder spatie.
KomtTijd...woensdag 9 februari 2011 @ 22:48
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
GlowMousewoensdag 9 februari 2011 @ 22:49
die maakt netjes hoi.php& #32; aan.
Emerywoensdag 9 februari 2011 @ 22:51
Perhaps a little explanation want ik snap er de ballen van. :@

Zit al op Google te kijken, en die C wikipedia pagina van net, maar alsnog snap ik het niet.
Teganwoensdag 9 februari 2011 @ 22:51
quote:
14s.gif Op woensdag 9 februari 2011 22:48 schreef KomtTijd... het volgende:

[..]

1337 h4x0r! Snel, meld je aan bij Anonymous! 8-) :7
;( .
GlowMousewoensdag 9 februari 2011 @ 22:52
quote:
1s.gif Op woensdag 9 februari 2011 22:51 schreef Tegan het volgende:

[..]

;( .
gesnapt?
GlowMousewoensdag 9 februari 2011 @ 22:52
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.
Emerywoensdag 9 februari 2011 @ 22:54
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.
Teganwoensdag 9 februari 2011 @ 22:54
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.
Teganwoensdag 9 februari 2011 @ 22:58
Ik vind geen loophole op http://php.net/manual/en/function.trim.php .
GlowMousewoensdag 9 februari 2011 @ 22:58
Ja, één spatie had ook gewerkt. De string die je moet maken begint met hoi.php, eindigt met een hoofdletter T (maar dat laatste mag ook wat anders zijn)
princesselisahwoensdag 9 februari 2011 @ 23:03
Jezus, begrijp hier helemaal niets van. Is dat dan alleen omdat ik een meisje ben? ;)
Emerywoensdag 9 februari 2011 @ 23:04
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.
GlowMousewoensdag 9 februari 2011 @ 23:04
quote:
14s.gif Op woensdag 9 februari 2011 22:54 schreef Tegan het volgende:

[..]

Ik snap het gelukkig ook niet echt.
Emerywoensdag 9 februari 2011 @ 23:06
hoi.php\T
KomtTijd...woensdag 9 februari 2011 @ 23:06
Ik snap dat ik het niet snap, en dat ik dus extreem voorzichtig moet zijn met iedere vorm van user input. Dat is genoeg.
Teganwoensdag 9 februari 2011 @ 23:30
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.
Emerydonderdag 10 februari 2011 @ 00:03
Ik snap het nog steeds niet echt.
Tegandonderdag 10 februari 2011 @ 00:09
Die eerste snap je toch wel?
KomtTijd...donderdag 10 februari 2011 @ 00:15
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.
themoledonderdag 10 februari 2011 @ 09:31
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.
mstxdonderdag 10 februari 2011 @ 09:37
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.
Scorpiedonderdag 10 februari 2011 @ 10:16
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).
KomtTijd...donderdag 10 februari 2011 @ 10:51
Nu we het hier toch over hebben, als je een bestand laat uploaden, maar niet opslaat maar direct vanaf de tmp locatie gebruikt. Dan kan iemand daar verder weinig mee doen toch?

dit ivm die XML-functie die ik geschreven heb. Als het bestand geen XML is volgens het juiste schema, gebeurt er verder niets met het bestand.
GlowMousedonderdag 10 februari 2011 @ 12:39
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 :)
GlowMousedonderdag 10 februari 2011 @ 12:50
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.
KomtTijd...donderdag 10 februari 2011 @ 13:17
1WHERE (DATE(starttime) = MAX(DATE(starttime))

1FATAL SQL ERROR: Invalid use of group function

Wat doe ik fout? ;(
KomtTijd...donderdag 10 februari 2011 @ 13:22
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.
GlowMousedonderdag 10 februari 2011 @ 13:24
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.
KomtTijd...donderdag 10 februari 2011 @ 13:27
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.
remi1986donderdag 10 februari 2011 @ 14:11
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?
GlowMousedonderdag 10 februari 2011 @ 14:46
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.
KomtTijd...donderdag 10 februari 2011 @ 14:56
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...
GlowMousedonderdag 10 februari 2011 @ 15:00
Als je tabel heel veel vliegdagen gaat bevatten, zal het sneller zijn om met een index op starttime te doen starttime >= (SELECT F(MAX(DATE(starttime))) FROM ...)
waarbij je even moet zoeken wat je voor F moet gebruiken om een datetime te krijgen met die datum en als tijdstip 00:00:00.
KomtTijd...donderdag 10 februari 2011 @ 15:13
is 1000 veel of is 1.000.000 veel?
GlowMousedonderdag 10 februari 2011 @ 15:22
Een miljoen verschillende dagen is erg veel, dan heb je het over minimaal 2739 jaar tussen de eerste en de laatste vliegdag. Wanneer het over vliegtuigen gaat en niet over diertjes, zul je op zijn vroegst in 1903 beginnen met tellen. De kans is klein dat je software in 4642 nog gebruikt wordt.

Bij 1000 dagen zul je de optimalisatie al zeker merken.
KomtTijd...donderdag 10 februari 2011 @ 15:38
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...
remi1986donderdag 10 februari 2011 @ 15:38
Wat je natuurlijk wel kan hebben is meerdere vliegdata op één dag. Als je dan kijkt naar de where date= max(date) (met die subquery) heb je wel meer records
GlowMousedonderdag 10 februari 2011 @ 19:00
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.
Tegandonderdag 10 februari 2011 @ 19:19
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 :) .
GlowMousedonderdag 10 februari 2011 @ 19:23
Ik gebruik log(ab) = b*log(a) en log(1+x)=x (voor kleine x).
KomtTijd...vrijdag 11 februari 2011 @ 01:15
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 :')
GlowMousevrijdag 11 februari 2011 @ 01:17
iets met imploden op AND?
KomtTijd...vrijdag 11 februari 2011 @ 01:23
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!
GlowMousevrijdag 11 februari 2011 @ 01:25
waarom keys gebruiken als [] volstaat?
KomtTijd...vrijdag 11 februari 2011 @ 01:31
Omdat het laat is!
urselvrijdag 11 februari 2011 @ 01:32
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
KomtTijd...vrijdag 11 februari 2011 @ 01:35
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)
KomtTijd...vrijdag 11 februari 2011 @ 02:10
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
remi1986vrijdag 11 februari 2011 @ 09:40
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() ?
Lightvrijdag 11 februari 2011 @ 09:49
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.
KomtTijd...vrijdag 11 februari 2011 @ 09:54
SUM(TIMEDIFF(tijd,tijd) ging fout. Dan telt hij niet goed op (blijkbaar kan SUM niet echt tijden optellen. Vandaar eerst de conversie naar seconden en daarna weer terug naar time. En ja ergens moet je de tijd formatten, helaas kan ik dat in dit geval niet aan de template overlaten want dan moet het weer een geldig datetime object worden, terwijl een totale tijd van 48 uur nu gewoon als 48:00 wordt weergegeven.
GlowMousevrijdag 11 februari 2011 @ 10:06
http://dev.mysql.com/doc/(...)tml#function_addtime
KomtTijd...vrijdag 11 februari 2011 @ 10:08
quote:
Die had ik gevonden, maar die doet twee variables optellen, niet een hele kolom...
Teganvrijdag 11 februari 2011 @ 10:16
Kan je ze niet in de database opslaan als timestamp. En dan alleen het verschil berekenen. Die kan je ook zo omzetten naar de datetime als je dat wil.

[/newb]
GlowMousevrijdag 11 februari 2011 @ 10:18
Als je met timestamps wilt rekenen, is er nog unix_timestamp(col1)
remi1986vrijdag 11 februari 2011 @ 10:23
Heb ook even gepuzzeld (kan niet te lang, ben op werk), maar krijg met timediff de tijd terug in miliseconden denk ik. Nog iets geprobeerd daar een date_format omheen te gooien, maar zonder resultaat.

Met timestamps zal het wel makkelijker worden inderdaad
MrNileszaterdag 12 februari 2011 @ 09:52
open sollicitatie voor anonymous hier ofzo :)

-nee-

[ Bericht 47% gewijzigd door smegmanus op 13-02-2011 18:34:10 ]
Lightzaterdag 12 februari 2011 @ 10:36
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))
themolezaterdag 12 februari 2011 @ 13:12
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 ]
GlowMousezaterdag 12 februari 2011 @ 13:39
En je moet jezelf afvragen of het voordeel opweegt tegen de overlast die je anderen bezorgt en de gevangenisstraf die je ervoor kunt krijgen.
Chandlerzaterdag 12 februari 2011 @ 21:05
Ik heb een query op een tabel met een kleine 250.000 regels, nu wil ik daarin zoeken op tags met de volgende code

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 :*
GlowMousezaterdag 12 februari 2011 @ 21:06
LIKE '%,cool%' moet je dan ook niet willen doen.
Chandlerzaterdag 12 februari 2011 @ 21:12
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?
GlowMousezaterdag 12 februari 2011 @ 21:13
Voor tags heb ik een mooi naslagwerk gemaakt:
http://gathering.tweakers.net/forum/list_messages/1429432

Je post #202 is onleesbaar trouwens. Zo geef je geen indices weer.
Chandlerzaterdag 12 februari 2011 @ 21:16
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?
GlowMousezaterdag 12 februari 2011 @ 21:16
(col1,col2), (col4), etc.
Chandlerzaterdag 12 februari 2011 @ 21:24
Ik ga je naslag werk uitprinten, dit moet ik even laten bezinken denk ik :@
MrNileszondag 13 februari 2011 @ 10:09
als ik het volgende uitvoer dan krijg op mijn scherm te staan optredens.id
en ik zie eigenlijk ook wel dat het er staat..maar zonder quotes krijg ik de foutmelding:
Use of undefined constant optredens - assumed 'optredens'

ik zie m echt niet

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;
?>
cablegunmasterzondag 13 februari 2011 @ 10:45
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 ]
Teganzondag 13 februari 2011 @ 10:54
Wat wil je met die id's? Alleen alle id's echo-en?
MrNileszondag 13 februari 2011 @ 11:04
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
Teganzondag 13 februari 2011 @ 11:50
Dus, je query moet eigenlijk maar een id vinden?
MrNileszondag 13 februari 2011 @ 11:57
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
remi1986zondag 13 februari 2011 @ 12:05
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
GlowMousezondag 13 februari 2011 @ 12:15
Kolomnamen en tabelnamen schrijf je zonder apostrof eromheen.
Teganzondag 13 februari 2011 @ 18:30
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 ;(.
GlowMousezondag 13 februari 2011 @ 18:38
Hij luistert niet ;(.
MrNileszondag 13 februari 2011 @ 19:27
quote:
1s.gif Op zondag 13 februari 2011 18:38 schreef GlowMouse het volgende:
Hij luistert niet ;(.
SORRY
henkmzondag 13 februari 2011 @ 21:28
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
Teganzondag 13 februari 2011 @ 22:04
- Integers moet je zonder apestrof schrijven.
- If ($selfSecure) wat?
- Je mist "; } } op het eind (en ?>).

[ Bericht 8% gewijzigd door Tegan op 13-02-2011 22:09:59 ]
henkmzondag 13 februari 2011 @ 22:16
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.
Emeryzondag 13 februari 2011 @ 22:18
Integer: $selfSecure = "1";
henkmzondag 13 februari 2011 @ 22:19
$selfSecure = 1;
zo heb ik het ook geprobeerd, helaas herkend hij dan nog niet mijn naam en wachtwoord, hij blijft erom vragen.
Teganzondag 13 februari 2011 @ 22:21
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.
GlowMousezondag 13 februari 2011 @ 22:23
quote:
if ($selfSecure)
Daar wordt gekeken of $selfSecure true (of 1, of een string die niet met 0 begint) is.
Teganzondag 13 februari 2011 @ 22:24
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) ;( .
GlowMousezondag 13 februari 2011 @ 22:26
quote:
if(isset($PHP_AUTH_USER)){
dat moet zijn: if(isset($_SERVER['PHP_AUTH_USER'])){

En $HTTP_SERVER_VARS overal vervangen door $_SERVER.
henkmzondag 13 februari 2011 @ 22:34
het mailgedeelte werkt nu wel door de veranderingen van GlowMouse. Maar helaas wordt mijn naam en wachtwoord nog niet herkend.
deze code heb ik nu na alle aanpassingen. Bedankt voor de moeite!
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;

?>
GlowMousezondag 13 februari 2011 @ 22:36
waarom de ene keer $PHP_AUTH_USER, de andere keer $_SERVER['PHP_AUTH_USER']? Alleen de laatste werkt nog. De eerste leer je alleen uit tutorials van 5 jaar oud.
henkmzondag 13 februari 2011 @ 22:41
Beste GlowMouse, sorry voor mijn dommigheid. Ik heb gedaan wat je getypt heb maar helaas loopt hij nu helemaal vast.
PiRANiAzondag 13 februari 2011 @ 22:43
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?
henkmzondag 13 februari 2011 @ 22:45
Hij loopt vast op regel 33, daar staat nu

username used: $_SERVER['PHP_AUTH_USER']

foutmelding is Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/henk/domains/domein/public_html/p_protect.php on line 33
PiRANiAzondag 13 februari 2011 @ 22:48
Geef je hele regel eens?
KomtTijd...zondag 13 februari 2011 @ 22:48
Ik weet niet helemaal of ik het het beste hier kan vragen of in het linux-topic, maar PHPMyAdmin zegt:
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...
Teganzondag 13 februari 2011 @ 22:49
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"]."
henkmzondag 13 februari 2011 @ 22:50
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']
GlowMousezondag 13 februari 2011 @ 22:52
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.
Emeryzondag 13 februari 2011 @ 22:52
;
PiRANiAzondag 13 februari 2011 @ 22:53
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...
henkmzondag 13 februari 2011 @ 22:53
Tegan, bedankt voor je tip, aangepast, foutmelding is weg maar login wordt nog niet herkend,
KomtTijd...zondag 13 februari 2011 @ 22:55
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.
GlowMousezondag 13 februari 2011 @ 22:59
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
henkmzondag 13 februari 2011 @ 23:06
Overigens krijg ik deze mail:

Iemand probeerde binnen te komen in het bangedeelte: http://www. en gebruikte de verkeerde naam en het verkeerde wachtwoord:

Date: 2011-02-13 22:46:11
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30618; InfoPath.2) username used: test password used: test1

Hij ziet dus wel mijn naam en wachtwoord goed, maar laat mij niet binnen, hij blijft die popup geven dat ik moet inloggen. Heel apart. Iemand nog een idee? Laatste keer de code die ik nu heb.
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;

?>
henkmzondag 13 februari 2011 @ 23:06
dubbel
KomtTijd...zondag 13 februari 2011 @ 23:07
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 ]
remi1986maandag 14 februari 2011 @ 09:29
Edit.. keek ff verkeerd
cablegunmastermaandag 14 februari 2011 @ 09:34
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.
remi1986maandag 14 februari 2011 @ 09:38
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.
cablegunmastermaandag 14 februari 2011 @ 09:38
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
remi1986maandag 14 februari 2011 @ 09:39
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
Chandlermaandag 14 februari 2011 @ 14:09
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! :)
MrNilesmaandag 14 februari 2011 @ 14:24
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 " ;
?>
GlowMousemaandag 14 februari 2011 @ 14:29
Zoiets kan ja, maar dat wil je niet.
MrNilesmaandag 14 februari 2011 @ 14:32
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"
GlowMousemaandag 14 februari 2011 @ 14:34
Je moet je eerst in databases verdiepen voordat je zulke rare dingen doet.
MrNilesmaandag 14 februari 2011 @ 14:46
quote:
Je moet je eerst in databases verdiepen voordat je zulke rare dingen doet.
Tips waar te beginnen zijn welkom!
GlowMousemaandag 14 februari 2011 @ 14:49
Elke databsetutorial zal helpen. Zodra je variabele kolomnamen gebruikt, doe je wat fout.
MrNilesmaandag 14 februari 2011 @ 14:54
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?
GlowMousemaandag 14 februari 2011 @ 14:55
Dat wil je helemaal niet met een script doen.
MrNilesmaandag 14 februari 2011 @ 14:57
quote:
Dat wil je helemaal niet met een script doen.
hoe dan :?
Teganmaandag 14 februari 2011 @ 14:58
phpMyAdmin bijvoorbeeld.
MrNilesmaandag 14 februari 2011 @ 15:02
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?
KomtTijd...maandag 14 februari 2011 @ 15:06
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?
themolemaandag 14 februari 2011 @ 15:16
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.
Scorpiemaandag 14 februari 2011 @ 15:17
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.
Teganmaandag 14 februari 2011 @ 15:20
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
KomtTijd...maandag 14 februari 2011 @ 15:22
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...
MrNilesmaandag 14 februari 2011 @ 15:26
ik begrijp wat jullie zeggen..denk ik :)
maar ik was bang voor "vervuiling" van de datatbase
Dus eigenlijk kan ik het best voor mijn toepassing voor elke datum een nieuwe tabel aanmaken
waarin alle gebruikers in worden toegevoegd?
Mijn gedachte om alle gebruikers in een database te hebben en dan elke keer een datum toevoegen...verkeerd om gedacht
Teganmaandag 14 februari 2011 @ 15:27
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 .
remi1986maandag 14 februari 2011 @ 15:28
Iedere gebruiker heeft een id.

Dan kan je een koppeltabel maken met

date,user_id,present

Als je wil weten welke gebruikers er op een datum komen doe je

SELECT WHERE date=

Als je wil weten op welke datum een bepaalde gebruiker komt

SELECT WHERE user_id =

Zo hoef je geen kolommen of extra tabellen aan te maken
Lightmaandag 14 februari 2011 @ 15:34
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.
remi1986maandag 14 februari 2011 @ 15:34
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().
remi1986maandag 14 februari 2011 @ 15:35
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...
GlowMousemaandag 14 februari 2011 @ 15:41
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.
remi1986maandag 14 februari 2011 @ 15:43
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/
GlowMousemaandag 14 februari 2011 @ 15:50
Ik zei dat mysql_real_escape_string in dit geval helemaal niks helpt.
mstxmaandag 14 februari 2011 @ 17:52
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.
remi1986maandag 14 februari 2011 @ 18:28
Ik denk dat de schrijver bedoelt dat als je ze nooit gebruikt, je ook geen fouten kan maken met gereserveerde namen. Als ik een database maak, doe ik dat niet door alles één voor één in te voeren in phpmyadmin. Ik maak daar een PHP script van.

Probeer maar eens in phpmyadmin

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?
GlowMousemaandag 14 februari 2011 @ 18:49
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.
Chandlermaandag 14 februari 2011 @ 21:23
Ik ben ook voor backticks, maar de comma kun je het beste vooraan zetten (al doe ik dat zelf amper) om dan zeker te weten (snel zichtbaar) of je een , mist ;)
MrNilesdinsdag 15 februari 2011 @ 10:47
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);
?>
GlowMousedinsdag 15 februari 2011 @ 10:48
;(
remi1986dinsdag 15 februari 2011 @ 10:49
Weet je zeker dat $bla goed is? Wat geeft die voor waarde dan?

In de tabel van optredens, heb je daar een auto_increment field? Dan zou het goed moeten gaan....

Doe eens

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 ]
MrNilesdinsdag 15 februari 2011 @ 10:55
glowmouse..ik weet het..maar ik wil het gewoon ff uitproberen
is ook om te leren wat wel en niet kan.. sorry..maar kun je me wel uitleggen waarom het ene wel werkt en het andere niet
en jaaaahaa..ik weet dat het niet mag O-)
GlowMousedinsdag 15 februari 2011 @ 10:57
Je zult wel backticks moeten gebruiken bij een numerieke kolomnaam.
MrNilesdinsdag 15 februari 2011 @ 10:59
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
remi1986dinsdag 15 februari 2011 @ 11:00
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.
KomtTijd...dinsdag 15 februari 2011 @ 11:12
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?
GlowMousedinsdag 15 februari 2011 @ 11:30
Misschien wil hij zeker weten dat niemand per ongeluk een JOIN in zijn applicatie bouwt?
remi1986dinsdag 15 februari 2011 @ 11:34
Ik zou hier eens zon voorstel voor een databasestructuur moeten maken, waar ik op deze manier kolommen wil toevoegen. Denk dat ik dan op zoek kan naar ander werk -O-
GlowMousedinsdag 15 februari 2011 @ 11:49
misschien iets voor over 6 weken en 3 dagen?
cablegunmasterdinsdag 15 februari 2011 @ 11:53
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.
MrNilesdinsdag 15 februari 2011 @ 11:57
ik snap het wel...over het aanpassen van de database..en dat het geen spreadsheet is
en ik begrijp ook dat het op een andere manier moet..en dat ga ik ook doen
maar ik was gewoon nieuwsgierig waarom het ene wel lukt en het andere niet...de verklaring dat dat komt omdat het numeriek neem ik meteen voor waarheid aan...
case closed....
cablegunmasterdinsdag 15 februari 2011 @ 12:05
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).
MrNilesdinsdag 15 februari 2011 @ 12:40
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 :)
remi1986dinsdag 15 februari 2011 @ 12:44
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 )
GlowMousedinsdag 15 februari 2011 @ 12:54
Nee, dat is niet waterdicht te maken aangezien het om user-input gaat.
remi1986dinsdag 15 februari 2011 @ 12:56
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?
GlowMousedinsdag 15 februari 2011 @ 12:57
Ja dat moet wel werken, HTTP_X_REQUESTED_WITH komt helemaal niet van een HTTP-request van een client, dus dat kan gewoon niet verkeerd zijn.
remi1986dinsdag 15 februari 2011 @ 13:15
Werkt inderdaad ^O^ .. En mocht het niet waterdicht zijn, is dan jammer. Het is iig een extra controle.
GlowMousedinsdag 15 februari 2011 @ 13:36
[PHP/(My)SQL] voor dummies - deel 88