De meest voorkomende fouten zijn dit soort 'overheen gekeken' dingetjes bij programmnerenquote:Op woensdag 5 april 2006 21:13 schreef -calimero- het volgende:
[..]
hahaha, super bedankt !!![]()
Wat een stomme fout, ik heb er helemaal overheen gekeken, ik schaam me diep!!![]()
![]()
Headers kun je toch ook met het bericht meegeven?Dus die input moet je sowieso controlleren lijkt mij.quote:Op woensdag 5 april 2006 21:31 schreef Swetsenegger het volgende:
[..]
De meest voorkomende fouten zijn dit soort 'overheen gekeken' dingetjes bij programmneren
Maar doet je mail het nu ook goed?
Zoja, dan zal je toch wat aan userinput controlle moeten gaan doen, omdat ze nu je formuliertje kunnen misbruiken voor mail injection
Controlleer minstens $_POST['onderwerp'] op newlines.
-edit- hmz, bedenk me dat het meevalt aangezien er haast niets in je headers gaat.
Nou, nee dat valt nog mee lees ff die link uit mijn vorige bericht. Weet niet meer uit mijn hoofd hoe het zit.quote:Op woensdag 5 april 2006 21:40 schreef ikke_ook het volgende:
[..]
Headers kun je toch ook met het bericht meegeven?Dus die input moet je sowieso controlleren lijkt mij.
Voor mij speelt ook nog mee dat ik $_POST dingen als onbetrouwbaar beschouw, als ik daar iets uithaal ga ik het meteen controleren zodat het verderop veilig te gebruiken is.quote:Op woensdag 5 april 2006 20:42 schreef Swetsenegger het volgende:
[..]
Ik heb zelfs een keer van een 'php voor beginners' boek schrijver op phpfreakz een verhandeling gelezen dat het sneller is (lokale scoop versus global scoop).
Persoonlijk vind ik het rete irritant en doe ik het alleen daar waar nodig (om de reden welke jij geeft). Ik keur het dan ook niet af, ik vroeg of hij een reden had.
Het gebruik van eerst if en dan while is hier niet echt nuttig. Het wordt alleen nuttig als je de if met een else combineert, anders is die if overbodig (en dus die hele mysql_num_rows() aanroep).quote:Op woensdag 5 april 2006 08:21 schreef fokME2 het volgende:
@bleiblei
Als je bedoeld dat je wil checken of je resultaat wel rijen teruggeeft moet je dat zo doen:
[ code verwijderd ]
$array = array('foo' => 'bar', 'foo2' => ''bar2');
een array met mysql_fetch_array:
Array
(
[1] => bar
[foo] => bar
[2] => bar2
[foo2] => bar2
)
een array met mysql_fetch_assoc:
Array
(
[foo] => bar
[foo2] => bar2
)
& gt; is uiteraard >, thx replique
1 2 3 4 5 6 7 | //geeft het aantal rijen van de query terug if($rows > 0){ while(mysql_fetch_assoc($resultaat)){ //jij gebruikt mysql_fetch_array, assoc geeft ook een array } } |
Ja, maar dan blijftquote:Op woensdag 5 april 2006 22:05 schreef Light het volgende:
[..]
Voor mij speelt ook nog mee dat ik $_POST dingen als onbetrouwbaar beschouw, als ik daar iets uithaal ga ik het meteen controleren zodat het verderop veilig te gebruiken is.
Truequote:Op woensdag 5 april 2006 22:30 schreef Swetsenegger het volgende:
[..]
Ja, maar dan blijft
$huisnummer=$_POST['huisnummer'];
redelijk nutteloos.
Hoezo? Als $rows niet groter is dan 0 dan doet hij niks, of wat je in de else zet?quote:Op woensdag 5 april 2006 22:10 schreef Light het volgende:
[..]
Het gebruik van eerst if en dan while is hier niet echt nuttig. Het wordt alleen nuttig als je de if met een else combineert, anders is die if overbodig (en dus die hele mysql_num_rows() aanroep).
[ code verwijderd ]
Als $result->num_rows gelijk is aan 0, dan komt een aanroep naar $result->fetch_assoc() meteen terug met een waarde van null. Een if-constructie zonder else is dus overbodig aangezien de while() al op de conditie checktquote:Op donderdag 6 april 2006 09:43 schreef fokME2 het volgende:
[..]
Hoezo? Als $rows niet groter is dan 0 dan doet hij niks, of wat je in de else zet?
quote:Op donderdag 6 april 2006 12:46 schreef Heintje het volgende:
Is het mogelijk om met een PHP script bestanden download baar te maken die niet in je web dir staan? Ik weet dat PHP wel bestanden kan zien die buiten de web dir staan maar of die ook downloadbaar gemaakt kunnen worden weet ik niet.
1 2 3 | echo file_get_contents('../../map_buiten_webroot/php_bestand_naar_keuze.php'); ?> |
Wat ik wil hebben is een soort van open dir alleen dan van een map die niet in de webdir staat. Die functie die jij noemt is leuk voor text bestanden maar voor exe's werkt het niet.quote:
1 2 3 4 | $zoekstring = 'whatever'; $pagina = file_get_contents('http://www.google.nl/search?hl=nl&q=' . rawurlencode($zoekstring)); ?> |
Dan moet je dat ook zeggen, je had het over PHP-bestandenquote:Op donderdag 6 april 2006 13:18 schreef Heintje het volgende:
[..]
Wat ik wil hebben is een soort van open dir alleen dan van een map die niet in de webdir staat. Die functie die jij noemt is leuk voor text bestanden maar voor exe's werkt het niet.
Jera, dat is inderdaad ook een manier. Het probleem is natuurlijk dat je dan de google resultaten page terug krijgt en niet de inhoud achter die resultaten. Ik had een leuk idee, maar er zitten iets meer haken en ogen aan dan dat ik me in eerste instantie realiseerdequote:Op donderdag 6 april 2006 13:20 schreef JeRa het volgende:
@Swetsenegger
Als je iets zoekt met Google, dan krijg je dit in de adresbalk te zien (o.a.):
http://www.google.nl/search?hl=nl&q=zoekopdracht
Met PHP kun je simpelweg zo'n pagina opvragen:
[ code verwijderd ]
Vervolgens kun je bv. met preg_match() de boel analyseren
Je kunt ook readfile() gebruiken.quote:Op donderdag 6 april 2006 13:22 schreef JeRa het volgende:
[..]
Dan moet je dat ook zeggen, je had het over PHP-bestandenhet enige wat je dan moet doen is vóór de file_get_contents() nog een header meesturen waarmee je de Content-Type instelt. Genoeg informatie daarover is de vinden in de PHP Manual
Sterker nog, dat is veel slimmer om te gebruiken aangezien het vrijwel geen geheugen gebruikt terwijl file_get_contents() het hele bestand in het geheugen moet laten. En als je echt mierencopulatie wilt laten plaatsvinden met betrekking tot snelheid, dan is fpassthru() the way to goquote:
Ik had een tijdje geleden een vrij grote tabel in MySQL aangemaakt en sorteerde de gehele tabel op een niet-geïndexeerde kolom. Daar vond dus 0,0 caching plaats (alleen query cache bij herhaling van exact dezelfde query). Ik zal dadelijk eens een test uitvoeren met sortering op een geïndexeerde kolom, om te zien of MySQL daar wél iets cachet (al is het maar in de vorm van key positions oid).quote:Op donderdag 6 april 2006 18:32 schreef HuHu het volgende:
@ JeRa, volgens mij heb je daar wel een goed punt, met dat over die LIMIT.
De RDBMS moet eerst inderdaad de gehele query loslaten op de gehele dataset voordat hij kan bepalen wat er tussen 2 bepaalde rijen n en m zit.
Maar een goed RDBMS bewaard het resultaat van de query in zijn cache, zodat een volgende keer niet de gehele query opnieuw hoeft te worden uitgevoerd. Hij kan dan in 1 keer alles tussen rij p en q pakken, er van uitgaande dat het enige wat je veranderd aan de query de LIMIT is.
Als er echter tussentijds ook nog dingen worden toegevoegd aan de dataset, dan moet de query wel helemaal opnieuw worden uitgevoerd.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |