abonnement Unibet Coolblue Bitvavo
  FOK!-Schrikkelbaas woensdag 5 april 2006 @ 21:31:52 #226
1972 Swetsenegger
Egocentrische Narcist
pi_36689334
quote:
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!!
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.
pi_36689703
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.
Headers kun je toch ook met het bericht meegeven?Dus die input moet je sowieso controlleren lijkt mij.
  FOK!-Schrikkelbaas woensdag 5 april 2006 @ 21:41:33 #228
1972 Swetsenegger
Egocentrische Narcist
pi_36689769
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.
Nou, nee dat valt nog mee lees ff die link uit mijn vorige bericht. Weet niet meer uit mijn hoofd hoe het zit.

-edit- maar sowieso is userinput controleren een goed idee
pi_36690731
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 .
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.
pi_36690885
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
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).
1
2
3
4
5
6
7
$rows = mysql_num_rows($resultaat);
//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
}
}
  FOK!-Schrikkelbaas woensdag 5 april 2006 @ 22:30:14 #231
1972 Swetsenegger
Egocentrische Narcist
pi_36691675
quote:
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.
Ja, maar dan blijft
$huisnummer=$_POST['huisnummer'];
redelijk nutteloos.
pi_36692517
quote:
Op woensdag 5 april 2006 22:30 schreef Swetsenegger het volgende:

[..]

Ja, maar dan blijft
$huisnummer=$_POST['huisnummer'];
redelijk nutteloos.
True Daarom is het ook 1 van de overwegingen. En als ik $_POST['huisnummer'] vaker dan 1 keer nodig heb dan is $huisnummer al makkelijker. Nog even afgezien van het feit dat je controles kunt doen en dan kunt zorgen dat er geen vage quotjes in $huisnummer staan
pi_36699313
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 ]
Hoezo? Als $rows niet groter is dan 0 dan doet hij niks, of wat je in de else zet?
pi_36699460
quote:
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?
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 checkt
pi_36703955
Even een vraagje m.b.t. grote datasets en SQL-databases. SQL staat het toe om een LIMIT toe te passen op een data- of resultset waarmee je gemakkelijk je resultset kunt limiteren tot een bepaald aantal rows vanaf een bepaalde offset. Dit wordt gebruikt om een hoop items in te delen in pagina's door middel van LIMIT (pagina_nummer - 1) * aantal_items_per_pagina, aantal_items_per_pagina.

Stel dat ik een gastenboek heb met vele tienduizenden records (of bijvoorbeeld het FOK!fotoboek met soms enorm veel reacties op één pagina). Stel dat ik een ingewikkelde query heb met veel dataconversies en condities en daar een LIMIT 20150, 50 op doe. Hoe weet een RDBMS dan welke records er tussen 20150 en 20200 zitten? Daarvoor moet hij toch éérst op de records 1 - 20149 alle conversies en condities (voor zover ze van toepassing zijn) uitvoeren? Dat lijkt me vrij dodelijk voor de performance. Zijn hier oplossingen voor?
  donderdag 6 april 2006 @ 12:46:50 #236
35662 Heintje
Gears of War.
pi_36704543
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.
Op vrijdag 1 juni 2007 11:29 schreef Tain het volgende:
Deze uitspraak mag hier ook wel staan
Spel- en typefouten voorbehouden.
pi_36704600
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
<?php
echo file_get_contents('../../map_buiten_webroot/php_bestand_naar_keuze.php');
?>
  FOK!-Schrikkelbaas donderdag 6 april 2006 @ 13:15:24 #238
1972 Swetsenegger
Egocentrische Narcist
pi_36705394
JeRa, ik heb geen antwoord op je vraag

Ik heb een vraag. Is het mogelijk vanuit een php script een zoekopdracht in google te geven. En zoja, hoe zou je de gevonden data kunnen analyseren?
Of zou je zelf een zoekspider kunnen schrijven? Waar moet ik beginnen?

-edit- mijn eerste vraag heb ik opgelost:
http://www.jeroenwijering.com/?item=PHP_Google_Search
  donderdag 6 april 2006 @ 13:18:36 #239
35662 Heintje
Gears of War.
pi_36705515
quote:
Op donderdag 6 april 2006 12:48 schreef JeRa het volgende:

[..]
[ code verwijderd ]
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.
Op vrijdag 1 juni 2007 11:29 schreef Tain het volgende:
Deze uitspraak mag hier ook wel staan
Spel- en typefouten voorbehouden.
pi_36705605
@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:
1
2
3
4
<?php
$zoekstring
= 'whatever';
$pagina = file_get_contents('http://www.google.nl/search?hl=nl&q=' . rawurlencode($zoekstring));
?>


Vervolgens kun je bv. met preg_match() de boel analyseren
pi_36705660
quote:
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.
Dan moet je dat ook zeggen, je had het over PHP-bestanden het 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
  FOK!-Schrikkelbaas donderdag 6 april 2006 @ 13:23:52 #242
1972 Swetsenegger
Egocentrische Narcist
pi_36705713
quote:
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
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 realiseerde .
pi_36714527
CAlimero pas in godsnaam je code eens aan na 'meta'
pi_36715073
quote:
Op donderdag 6 april 2006 13:22 schreef JeRa het volgende:

[..]

Dan moet je dat ook zeggen, je had het over PHP-bestanden het 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
Je kunt ook readfile() gebruiken.
pi_36715272
quote:
Op donderdag 6 april 2006 18:20 schreef Light het volgende:

[..]

Je kunt ook readfile() gebruiken.
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 go
pi_36715501
@ 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.
pi_36715864
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.
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).
pi_36718419
tvp
PS4 online: micro_nl
pi_36723900
Weet iemand hier toevallig of het mogelijk is om te voorkomen dat mensen te vaak op een submit knop gaan rammen? Ik heb namelijk een script geschreven dat een gif-plaatje bewerkt, het uitvoeren van het script kost enige tijd, en als er nog een keer op de submit knop geklikt wordt terwijl het script nog bezig is dan wordt het plaatje niet goed gegenereerd.

Ik had zelf in gedachten om de tijd van uitvoeren in een bestandje op te slaan, en dan zorgen dat het script pas opnieuw uitgevoerd kan worden na een bepaalde tijd. Het is vast wel mogelijk, maar ik zou niet weten hoe ik zoiets moet maken...

Iemand een idee?
pi_36724221
Niet meteen na de POST het al verwerken?
POST >> nieuwe pagina met refresh iets, stuurt info door >> lang ladende pagina
Zoiets?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')