Het is een string, maar dat werkte eerst wel. Alleen de samenstelling van $bericht is verandert...quote:Op dinsdag 23 mei 2006 18:34 schreef JeRa het volgende:
@LeeHarveyOswald
Userid is hopelijk toch geen string? Geen quotes eromheen dan
Verder kun je dat oplossen door ' bericht = \'' . addslashes($bericht) . '\' te gebruiken.
mysql_real_escape_stringquote:Op dinsdag 23 mei 2006 18:34 schreef JeRa het volgende:
@LeeHarveyOswald
Userid is hopelijk toch geen string? Geen quotes eromheen dan
Verder kun je dat oplossen door ' bericht = \'' . addslashes($bericht) . '\' te gebruiken.
beterquote:
is het niet dat magic quotes aan staan, en dat op bericht na alle gegevens ook al uit de databse worden gehaald, en dus niet dmv user veldquote:Op dinsdag 23 mei 2006 19:07 schreef DionysuZ het volgende:
dat is toch precies hoe sql injecties werken? als je een variabele $test = "bla' or '1'='1"; hebt die je gebruikt in een sql query: "SELECT * FROM test WHERE veld = '{$test}'"; dan heb je toch gewoon een succesvolle manier van sql injectie? addslashes dus
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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | php include("config.php"); //error_reporting(E_ALL); php $i = '0'; $sql = 'SELECT * FROM `occasions` ORDER BY `ID` ASC'; $result = mysql_query($sql); while ($row = mysql_fetch_array($result)) { if($i / 2 == round($i / 2)) { $class = 'occasions_wrapper_even'; } else { $class = 'occasions_wrapper_oneven'; } $specificaties = nl2br($row['specificaties']); $specificaties = nl2br($row['specificaties']); $occasions = $occasions." <div class='occasions_wrapper'> <table> <tr> <td colspan='4' onClick='showEigenschappen(".$row[id].")'>Meer info</td> </tr> <tr> <td width='120' rowspan='2' ><img src='thumbs/".$row[foto]."' > <img src='thumbs/".$row[foto]."' width='50px' height='50px' > <img src='thumbs/".$row[foto]."' width='50px' height='50px' ></td> <td class='occasions_info'> Merk: <br /> Type: <br /> Kilometerstand: <br /> Vraagprijs: <br /> </td> <td class='occasions_inhoud'> $merk <br /> ".$row['type']." <br /> ".$row['kilometerstand']." <br /> € <font class='prijs'>".$row['vraagprijs'].",-</font> <br /> </td> <td class='occasions_info' valign='top'> Kleur: <br /> Brandstof: <br /> Bouwjaar: <br /> </td> <td class='occasions_inhoud'> ".$row['kleur']." <br /> ".$row['brandstof']." <br /> ".$row['bouwjaar']." <br /> </td> </tr> <tr> <td colspan='4' align='left' valign='top'><div class='specs_hidden' id='occasion$i' ><br /><p><b>Eigenschappen:</b></p><p>$specificaties</p></div></td> </tr> <tr> <td colspan='4'>bewerken | verwijderen | foto-toevoegen</td> </tr> </table> </div> <br /> "; $i++; } php $dag = date(D); $body = " <div class='MAIN_WRAPPER'> <div class='TOP'></div> <div class='TOP_SPLITTER'></div> <div class='MAIN'> <div class='TOP_CONTENT'></div> <div class='CONTENT'> <div class='CONTENT_TITEL'><p> </p><p><img src='site_images/plus.gif' alt=''/> occasion overzicht</p></div> <div class='CONTENT_TEXT'> $occasions </div> <div class='CONTENT_BOTTOM'>blaap.nl</div> <p> </p> </div> </div> <div class='BOTTOM'></div> </div> "; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link href="sessie.css" type="text/css" rel="stylesheet" /> <script language="javascript"> var i = 0; function showEigenschappen(nummer) { document.getElementById('occasion'+nummer).display = 'block'; } </script> </head> <body> php echo"$body"; </body> </html> ?> |
Ook hier weer, als je een écht complete oplossing wilt dan kun je beter met prepared statements werkenquote:
1 2 3 4 5 6 7 8 9 | $db = new PDO('mysql:host=server;dbname=database', 'user', 'pw'); $query = 'SELECT COUNT(id) AS num FROM tabel WHERE bericht = :bericht'; $stmt = $db->prepare($sql); $stmt->bindParam(':bericht', $bericht); $stmt->execute(); ?> |
'Je mag ook berichten met inhoud plaatsen hoor <img src = 'emoticons/tongue.gif'> 'quote:Op dinsdag 23 mei 2006 18:32 schreef LeeHarveyOswald het volgende:
Ik zit weer eens met een probleem...![]()
de volgende query levert problemen op:
[ code verwijderd ]
Iemand een idee wat er mis gaat? Tq:)
Dit deel heb ik nu werkend, alleen nu krijg ik:quote:Op dinsdag 23 mei 2006 19:47 schreef CraZaay het volgende:
[..]
'Je mag ook berichten met inhoud plaatsen hoor <img src = 'emoticons/tongue.gif'> '
Wat dacht je van het escapen van de single quotes in je string?
1 2 3 4 5 6 7 8 9 10 11 12 13 | $sql_query = "SELECT bericht FROM slowchat WHERE userid={$MemCookID} and bericht = {$bericht} and datumtijd >={$uurnu} "; $result = mysql_query($sql_query); if(mysql_num_rows($result) > 0) { // AFBREKEN! Echo "Anti Flood! je kan niet snel achter elkaar 2x hetzelfde bericht plaatsen! "; } ?> |
Waar precies?quote:Op dinsdag 23 mei 2006 19:59 schreef JeRa het volgende:
LHO, je moet nog quotes om je {$bericht} heen zetten
quote:Op dinsdag 23 mei 2006 20:07 schreef LeeHarveyOswald het volgende:
[..]
Waar precies?![]()
In mn vorige post staan ze nl. al...
1 |
1 |
Dat ziet er wel flink omslachtig uitquote:Op dinsdag 23 mei 2006 19:47 schreef JeRa het volgende:
[..]
Ook hier weer, als je een écht complete oplossing wilt dan kun je beter met prepared statements werken
[ code verwijderd ]
Dit houdt rekening met dat $bericht een string is en escapet de string, afhankelijk van de gebruikte connection character set met de MySQL-database
En nee, PDO is niet altijd beschikbaar(maar sinds PHP5 wel, mits geladen)
aangepast, maakt geen verschil. Result blijft trouwens leeg..quote:Op dinsdag 23 mei 2006 20:16 schreef JeRa het volgende:
[..]
[ code verwijderd ]
Dáár
[ code verwijderd ]
Is het ook wel op het eerste gezicht. Maar het zorgt ervoor dat je nooit ende nimmer meer SQL injections kunt creëerenquote:
Qua marktverhouding ligt 5 inmiddels rond de 30% en groeiende toch?quote:Op dinsdag 23 mei 2006 18:44 schreef JeRa het volgende:
[..]
Dát is natuurlijk helemaal waar. Ikzelf werk alleen in PHP5 en draai zo nu en dan PHP-cvs, dan denk je daar niet eens meer over na
Als je een query naar de server stuurt moet dat via de MySQL-backend voor PHP via een verbinding naar de MySQL-server, alwaar hij ingelezen, verwerkt en geoptimaliseert moet wordenquote:Op dinsdag 23 mei 2006 20:59 schreef fokME2 het volgende:
@JeRa hoe bedoel je al het parsewerk maar één keer uit te laten voeren?
Klopt ongeveer ja, een hoop webhosters zweren nog bij PHP4 omdat de klanten dat vaak ook nog doenquote:Op dinsdag 23 mei 2006 20:59 schreef Roönaän het volgende:
[..]
Qua marktverhouding ligt 5 inmiddels rond de 30% en groeiende toch?
Mogelijkerwijs ook omdat de "extra software" die ze aanbieden php4 zijn; plesk, phpnuke, phpbb, mambo. Maar dat zal met de tijd ook wel veranderen.quote:Op dinsdag 23 mei 2006 21:07 schreef JeRa het volgende:
Klopt ongeveer ja, een hoop webhosters zweren nog bij PHP4 omdat de klanten dat vaak ook nog doen
Ik wacht even af wat mijn hoster meldt over PHP5 support.quote:Op dinsdag 23 mei 2006 21:07 schreef JeRa het volgende:
[..]
Klopt ongeveer ja, een hoop webhosters zweren nog bij PHP4 omdat de klanten dat vaak ook nog doen
Ze kunnen best php4 en php5 naast elkaar draaien. En daarbij moeten ze geen phpbb aanbieden.quote:Op dinsdag 23 mei 2006 21:11 schreef Roönaän het volgende:
[..]
Mogelijkerwijs ook omdat de "extra software" die ze aanbieden php4 zijn; plesk, phpnuke, phpbb, mambo. Maar dat zal met de tijd ook wel veranderen.
Dat klinkt interessantquote:Het gaat leuk worden als zend framework geïntegreerd wordt bij de hosters en dat ik bij een webhoster via plesk mijn emailadres+gsm op kan geven waarnaar zend framework sms't en mailt over trage queries en stervende websites
Maar tot die tijd kun je toch al genoeg met PHP5 experimenteren, toch?quote:Op dinsdag 23 mei 2006 21:38 schreef Light het volgende:
[..]
Ik wacht even af wat mijn hoster meldt over PHP5 support.
Niet als Apache-module, dan moeten ze met mod_php4 en php5-cgi of iets in die richting gaan werken. En dat is qua opzet vaak niet echt wenselijk.quote:Op dinsdag 23 mei 2006 21:41 schreef Light het volgende:
[..]
Ze kunnen best php4 en php5 naast elkaar draaien.
Leek me ook, de meeste hosters doen aan mass hosting en dan wil je niet nog eens alle queries en websites monitoren, in het kader van performancequote:[..]
Dat klinkt interessantMaar dan kun je ook colocation overwegen natuurlijk.
True, maar dan is het nog niet inzetbaar op een sitequote:Op dinsdag 23 mei 2006 21:55 schreef JeRa het volgende:
[..]
Maar tot die tijd kun je toch al genoeg met PHP5 experimenteren, toch?
1 als apache module, de ander als cgi. Dat kan goed.quote:Niet als Apache-module, dan moeten ze met mod_php4 en php5-cgi of iets in die richting gaan werken. En dat is qua opzet vaak niet echt wenselijk.
quote:Op dinsdag 23 mei 2006 22:53 schreef Swetsenegger het volgende:
Al mijn hosters draaien nog op php4.
Kan ik bij de overgang van 4 naar 5 problemen verwachten bij gewone procedurele code?
Zoals ondertussen duidelijk mag zijn gebruiken mijn brouwsels geen OOP en de grootste wijzigen tussen 4 en 5 zijn toch OOP gerelateerd?
In de tijd dat ik bij mijn hoster nog geen PHP5 had, schreef ik al mijn sites alsnog in PHP5 en classes die de functionaliteit van PHP5 nabootsten in PHP4 die ik dan mee uploadde naar de hosterquote:Op dinsdag 23 mei 2006 22:14 schreef Light het volgende:
[..]
True, maar dan is het nog niet inzetbaar op een siteNiet dat ik nu wel iets serieus heb draaien, maar goed.
De CGI moet dan vaak gedraaid worden onder de rechten van de gebruiker, de module draait vaak onder de Apache-gebruiker. Vaak levert dat gezeik op met de bestanden, veiligheid op de server, etc. Meestal is het zo dat de hoster er tegen die tijd er al van afzietquote:[..]
1 als apache module, de ander als cgi. Dat kan goed.
Das helemaal niet leuk, want dan wordt je geacht opeens midden in de nacht wanneer er een aantal zware crons gaan draaien je aan optimalisatie gaat werkenquote:Op dinsdag 23 mei 2006 21:11 schreef Roönaän het volgende:
Het gaat leuk worden als zend framework geïntegreerd wordt bij de hosters en dat ik bij een webhoster via plesk mijn emailadres+gsm op kan geven waarnaar zend framework sms't en mailt over trage queries en stervende websites
Ja ik begrijp dat absolute functies niet meer werken, maar dat zijn er toch niet zo gek veel wanneer er geen OOP gebruikt wordt?quote:Op dinsdag 23 mei 2006 22:55 schreef c0nd0r het volgende:
[..]
Je moet bij PHP 5 wel aangeven dat ie dan backwards compatible is en sommige functies reageren anders of zijn er gewoon uit!
Raadpleeg ook even PHP manual hier staat het precies in!
Als het goed is niet neequote:Op dinsdag 23 mei 2006 22:59 schreef Swetsenegger het volgende:
[..]
Ja ik begrijp dat absolute functies niet meer werken, maar dat zijn er toch niet zo gek veel wanneer er geen OOP gebruikt wordt?
Dat dacht ik ook. Ik weet dat het OOP model aardig op de schop gegaan is (dus maar goed dat ik er nog niet aan begonnen benquote:
http://www.zend.com/php5/articles/engine2-php5-changes.phpquote:Op dinsdag 23 mei 2006 23:03 schreef Swetsenegger het volgende:
[..]
Dat dacht ik ook. Ik weet dat het OOP model aardig op de schop gegaan is (dus maar goed dat ik er nog niet aan begonnen ben) Is er op php.net een lijstje te vinden met de verschillen tussen 4 en 5?
Ik zoek me het lazurus op 'migration' enzo, maar vind niet echt wat ik zoek
PHP Platform, wat ik eerder PHP framework noemde.quote:Op woensdag 24 mei 2006 09:04 schreef Swetsenegger het volgende:
[..]
Hee cool
Is dat onderdeel van php5
A, ik begreep 'framework' al niet, omdat ik dat meer als ontwikkelomgeving interpreteerde nav het beta framework.quote:Op woensdag 24 mei 2006 09:16 schreef Roönaän het volgende:
[..]
PHP Platform, wat ik eerder PHP framework noemde.
Die monitort vanuit de php engine al je meuk. Dus dit is in pincipe ook nuttig voor grote hosters. Juist dáar wil je je scriptkiddies kunnen aanspreken op hun brakke queries.
framework was in het begin (voordat het platform heette) een combinatie van dat monitoren + zend optimizer + zend safecode (of hoe dat ding heet) en nog wat serverside tools.quote:Op woensdag 24 mei 2006 10:46 schreef Swetsenegger het volgende:
[..]
A, ik begreep 'framework' al niet, omdat ik dat meer als ontwikkelomgeving interpreteerde nav het beta framework.
werkt ook niet..quote:Op dinsdag 23 mei 2006 19:32 schreef DionysuZ het volgende:
het is document.getElementById('occasion'+nummer).style.display = 'block'en jah het is javascript
quote:Op woensdag 24 mei 2006 16:54 schreef Nevermind het volgende:
Klein vraagje: Hoe kan ik de totale grootte van een MySQL database (in kb) verkrijgen?
1 |
Hoop bruikbare informatiequote:Op woensdag 24 mei 2006 17:07 schreef JeRa het volgende:
[..]
[ code verwijderd ]
En dan wat dingetjes gaan optellen
Data_Lengh + Index_Length + Data_Free is het totale verbruik van een tabelquote:Op woensdag 24 mei 2006 17:13 schreef Nevermind het volgende:
[..]
Hoop bruikbare informatie
Data_Length + Index_Length is het totale verbruik lijkt me?
Super! Bedankt voor de informatiequote:Op woensdag 24 mei 2006 17:16 schreef JeRa het volgende:
[..]
Data_Lengh + Index_Length + Data_Free is het totale verbruik van een tabel
Data_Length = aantal bytes in gebruik door data
Index_Length = aantal bytes in gebruik door indices
Data_Free = aantal bytes dat niet gebruikt wordt door de tabel, maar wel ingenomen is op de harde schijf
1 |
1 2 3 4 5 6 7 8 | $x=file_get_contents($bestand); unlink($bestand); $h=fopen($bestand,"a"); fwrite($h,$x); fclose($h); unset($x); ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |