hmm vreemd, ga het thuis nog eens proberenquote:Op dinsdag 4 april 2006 14:01 schreef JeRa het volgende:
Hij lijkt het hier gewoon te doen zoals je bedoeld had
Ik weet het niet zeker, maar de instellingen m.b.t. het cookiebeleid lijkt me een goede start om te zoekenquote:Op dinsdag 4 april 2006 14:28 schreef mschol het volgende:
[..]
waar ligt het probleem en hoe ga ik het oplossen
Het is geen stomme vraag hoor, hoogstens onduidelijk. Wat bedoel je met een 'lege' array? Een array zonder elementen? Een array waarvan alle elementen een lege string zijn?quote:Op dinsdag 4 april 2006 23:51 schreef bleiblei het volgende:
Tis weer een echt heel stomme vraag, maar hoe check ik of een array die uit een query komt leeg is of niet?
empty(mysql_fetch_array($resAgenda)) deed het geheel volgens verwachting niet.
1 2 3 4 5 6 7 8 9 10 11 12 13 | php $sql = 'SELECT blabla'; $resultaat = mysql_query($sql); $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 } } ?> |
Ow ja, ghe, sorry... Ehm... De SQL query geeft niets terug omdat het gezochte niet in de database staat. Dus een array zonder elementen. Denk ik.quote:Op dinsdag 4 april 2006 23:53 schreef JeRa het volgende:
[..]
Het is geen stomme vraag hoor, hoogstens onduidelijk. Wat bedoel je met een 'lege' array? Een array zonder elementen? Een array waarvan alle elementen een lege string zijn?
Ik ga het eens proberen! Thxquote: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 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 | # Gegevens worden uitgevoerd voor tabel `cocktail` # INSERT INTO cocktail VALUES (1, 'Baco'); INSERT INTO cocktail VALUES (2, 'Blue Beer'); INSERT INTO cocktail VALUES (3, 'Jungle Power'); INSERT INTO cocktail VALUES (4, 'Sweet Bull'); INSERT INTO cocktail VALUES (5, 'The Passion Drink'); # # Gegevens worden uitgevoerd voor tabel `ingredienten` # INSERT INTO ingredienten VALUES (1, 'Passoa'); INSERT INTO ingredienten VALUES (2, 'Blue Curacao'); INSERT INTO ingredienten VALUES (3, 'Pisang Ambon'); INSERT INTO ingredienten VALUES (4, 'Red Bull'); INSERT INTO ingredienten VALUES (5, 'Cola'); INSERT INTO ingredienten VALUES (6, 'Bacardi'); INSERT INTO ingredienten VALUES (7, 'Sinaasappelsap'); INSERT INTO ingredienten VALUES (8, 'Bier'); # # Gegevens worden uitgevoerd voor tabel `mixed` # INSERT INTO mixed VALUES (1, 5); INSERT INTO mixed VALUES (1, 6); INSERT INTO mixed VALUES (2, 2); INSERT INTO mixed VALUES (2, 8); INSERT INTO mixed VALUES (3, 3); INSERT INTO mixed VALUES (3, 7); INSERT INTO mixed VALUES (4, 1); INSERT INTO mixed VALUES (4, 4); INSERT INTO mixed VALUES (5, 1); INSERT INTO mixed VALUES (5, 7); |
1 2 3 4 5 6 | SELECT c.naam FROM cocktail c INNER JOIN mixed m ON m.cocktail_id=c.cocktail_id WHERE m.ingredient_id=".$_POST['ingredienten']; ?> |
1 2 3 4 5 6 | SELECT c.naam FROM cocktail c INNER JOIN mixed m ON m.cocktail_id=c.cocktail_id WHERE m.ingredient_id IN (" . implode(', ',$_POST['zoek_sleutel']).")"; ?> |
Ow ja, wacht ff zoiets had SuperRembo al eens in elkaar gezet.quote:Op woensdag 5 april 2006 14:12 schreef Roönaän het volgende:
misschien iets met having count(m.ingredient_id) = 3
-r-
1 2 3 4 5 6 | FROM cocktail c INNER JOIN mixed m ON m.cocktail_id = c.cocktail_id WHERE m.ingredient_id IN (lijst_met_gezochte_ingrediënten) GROUP BY m.cocktail_id HAVING COUNT(m.ingredient_id) = aantal_gezochte_ingrediënten |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $voorvoegsel = $_POST['voorvoegsel']; $naam = $_POST['naam']; $email = $_POST['emailadres']; $telefoonnummer = $_POST['telefoonnummer']; $onderwerp = $_POST['onderwerp']; $bericht = $_POST['bericht']; $aanmelden=$_POST['aanmelden'] $bericht = " voorvoegsel: $voorvoegsel Naam = $naam Emailadres = $emailadres Telefoonnummer = $telefoonnummer Bericht: $bericht "; Mail("info@zwembaddezwoer.nl", "$onderwerp:", "$bericht"); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $voorvoegsel = $_POST['voorvoegsel']; //waarom doe je dit? $naam = $_POST['naam']; //waarom doe je dit? $email = $_POST['emailadres']; //waarom doe je dit? $telefoonnummer = $_POST['telefoonnummer']; //waarom doe je dit? $onderwerp = $_POST['onderwerp']; //waarom doe je dit? $bericht = $_POST['bericht']; //waarom doe je dit? $aanmelden=$_POST['aanmelden'] //waarom doe je dit? en waar is de ;? //eh... 3 regels terug heb je bericht ook al gedefinieerd. Dat overschrijf je nu weer? $bericht = " voorvoegsel: $voorvoegsel Naam = $naam //vars buiten quotes, plus dat er nu bergen whitespaces in $bericht staan Emailadres = $emailadres Telefoonnummer = $telefoonnummer Bericht: $bericht "; ?> |
1 2 3 4 5 6 7 8 9 10 | $bericht = " voorvoegsel: ". $_POST['voorvoegsel']; $bericht .= " Naam = ".$_POST['naam']; $bericht .= " Emailadres = ".$_POST['emailadres']; $bericht .= " Telefoonnummer = ".$_POST['telefoonnummer']; $bericht .= " Bericht: \r\n"; $bericht .= $_POST['bericht']; Mail("info@zwembaddezwoer.nl", $_POST['onderwerp'], $bericht); ?> |
Ik doe dat ook altijdquote:Op woensdag 5 april 2006 20:13 schreef Swetsenegger het volgende:
Waar zal ik beginnen...
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).quote:Op woensdag 5 april 2006 20:37 schreef JeRa het volgende:
[..]
Ik doe dat ook altijdik zet eerst alle $_POST-variabelen die ik nodig heb om naar variabelen in de lokale scope. Op die manier kan ik de inhoud van de variabelen wijzigen zonder dat ik de $_POST-variabelen wijzig, die ik wellicht ergens anders nog nodig heb.
Al vast bedankt voor het veranderen van het php script. Het vorige script heb ik eens op internet gevonden.quote:Op woensdag 5 april 2006 20:13 schreef Swetsenegger het volgende:
Waar zal ik beginnen...
[ code verwijderd ]
[ code verwijderd ]
Poe, dat is een hoop. Het is een gewone HTML pagina, met een php script er in.quote:Op woensdag 5 april 2006 20:56 schreef Swetsenegger het volgende:
Post bedankt.php dan eens
Daar zal waarschijnlijk een } of een ; verkeerd staan.
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 | <head> <title>Zwembad de Zwoer</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name='description' content='Zwembad & Sauna de Zwoer.' /> <script type='text/javascript' src='popup.js'></script> <link href="style-zwembad.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#007bbf"> <div align="center"> <table cellpadding="0" cellspacing="0" class="algemeen"> <tr class="boven"> <td height="150" colspan="2"> </td> </tr> <tr> <td width="146" rowspan="2" class="menu"><p><img src="zwembad.png" width="146" height="15"><br> <img src="drop5.gif" width="10" height="17"> <a href="index2.htm">Welkom</a><br> <img src="drop5.gif" width="10" height="17"> <a href="nieuws.htm">Nieuws</a><br> <img src="drop5.gif" width="10" height="17"> <a href="activiteiten.htm">Activiteiten</a><br> <img src="drop5.gif" width="10" height="17"> <a href="zwembad.htm">Het zwembad </a><br> <img src="drop5.gif" width="10" height="17"> <a href="geschiedenis.htm">Geschiedenis</a><br> <img src="drop5.gif" width="10" height="17"> <a href="fotoboek.htm">Fotoboek</a><br> <img src="drop5.gif" width="10" height="17"> <a href="openingstijden.htm">Openingstijden</a><br> <img src="drop5.gif" width="10" height="17"> <a href="prijzen.htm">Prijzen</a></p> <p><img src="zwemles3.png" width="146" height="15"> <img src="drop5.gif" width="10" height="17"> <a href="http://dezwoer.zwemscore.nl/index.asp" target="_blank">Zwemscores</a><br> <img src="drop5.gif" width="10" height="17"> <a href="zwanger.htm">Zwangerschap</a><br> <img src="drop5.gif" width="10" height="17"> <a href="baby.htm">Puppy / Guppy<br> </a><img src="drop5.gif" width="10" height="17"> <a href="diploma.htm">Diploma ABC</a><br> <img src="drop5.gif" width="10" height="17"> <a href="volwassenen.htm">Volwassenen</a><br> <img src="drop5.gif" width="10" height="17"> <a href="aquasport.htm">Aquasport</a> <hr> <img src="drop5.gif" width="10" height="17"> <a href="route.htm">Route</a><br> <img src="drop5.gif" width="10" height="17"> <a href="contact.htm">Contact</a><br> <img src="drop5.gif" width="10" height="17"> <a href="links.htm">Adverteren</a> <p></p> <p> </td> <td valign="top" class="main"> <div class="kop1">Uw bericht is verzonden</div> <blockquote> <p><font color="#000000">Bedankt voor uw reactie.<br> Wij nemen zo spoedig mogelijk contact met u op</font>.</p> <p align="left"></p> <?php <?php $bericht = " voorvoegsel: ". $_POST['voorvoegsel']; $bericht .= " Naam = ".$_POST['naam']; $bericht .= " Emailadres = ".$_POST['emailadres']; $bericht .= " Telefoonnummer = ".$_POST['telefoonnummer']; $bericht .= " Bericht: \r\n"; $bericht .= $_POST['bericht']; Mail("info@zwembaddezwoer.nl", $_POST['onderwerp'], $bericht); ?> ?> </blockquote></td> </tr> <tr> <td height="10" valign="bottom" bgcolor="" class="adresbalk"> <div align="right"> <p class="menu2">Zwembad & Sauna de Zwoer | Schellingerlaan 20 | 3971 BX | Driebergen-Rijsenburg | tel: 0343-516722</p> </div></td> </tr> </table> </div> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 | <?php $bericht = " voorvoegsel: ". $_POST['voorvoegsel']; $bericht .= " Naam = ".$_POST['naam']; $bericht .= " Emailadres = ".$_POST['emailadres']; $bericht .= " Telefoonnummer = ".$_POST['telefoonnummer']; $bericht .= " Bericht: \r\n"; $bericht .= $_POST['bericht']; Mail("info@zwembaddezwoer.nl", $_POST['onderwerp'], $bericht); ?> ?> |
1 2 3 4 5 6 7 8 9 10 | $bericht = " voorvoegsel: ". $_POST['voorvoegsel']; $bericht .= " Naam = ".$_POST['naam']; $bericht .= " Emailadres = ".$_POST['emailadres']; $bericht .= " Telefoonnummer = ".$_POST['telefoonnummer']; $bericht .= " Bericht: \r\n"; $bericht .= $_POST['bericht']; Mail("info@zwembaddezwoer.nl", $_POST['onderwerp'], $bericht); ?> |
hahaha, super bedankt !!quote:Op woensdag 5 april 2006 21:07 schreef Swetsenegger het volgende:
[ code verwijderd ]
hall eens 1 stel <?php en ?> weg
dus
[ code verwijderd ]
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: |