1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | //checken of url bestaat in database if ($rowsurl == 0) { $query3=mysql_query("INSERT INTO `url` (`url_adres`) VALUES( '".$urlreal."' )"); $urlquery = mysql_query("SELECT `url_id` FROM `url` WHERE `url_adres` = ".$_POST['url']); $url= mysql_fetch_assoc($urlquery); } else { //als wel bestaat $urlreal = $urlresult; $urlquery = mysql_query("SELECT `url_id` FROM `url` WHERE `url_adres` = '".$urlreal."'"); $urlurl = mysql_fetch_assoc($urlreal); var_dump($urlreal); $url = $urlreal; } $urlquery = mysql_query("SELECT `url_id` FROM `url` WHERE `url_adres` = ".$_POST['url']); $query2 = mysql_query("INSERT INTO `marks` (`gebruiker_id`, `url_id`, `categorie_id`) VALUES( '".$gebruiker['gebruiker_id']."', '".$url."', '".$categorie."')") or die(mysql_error()); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //checken of url bestaat in database if($rowsurl == 0) { mysql_query("INSERT INTO `url` (`url_adres`) VALUES( '".$urlreal."' )"); $url_id = mysql_insert_id(); } else { //als wel bestaat $url_id = $urlresult['url_id']; } $query2 = mysql_query("INSERT INTO `marks` (`gebruiker_id`, `url_id`, `categorie_id`) VALUES( '".$gebruiker['gebruiker_id']."', '".$url_id."', '".$categorie."')") or die(mysql_error()); ?> |
1 2 3 | if(isset($_POST['submit']) && (isset($_POST['categorie'])) && (isset($_POST['url']))) ?> |
Nog niet helemaal, maar ik ga me er nu in verdiepen! Zeer bedankt!quote:Op maandag 12 april 2010 15:30 schreef captaintokyo het volgende:
Snap je nu ook wat er fout ging? En waarom het wel werkt zoals ik het gedaan heb?
Graag gedaan. Succes!quote:Op maandag 12 april 2010 15:31 schreef Kerol het volgende:
[..]
Nog niet helemaal, maar ik ga me er nu in verdiepen! Zeer bedankt!
sql injectie aaah ik wou nog op school langsgaan en zijn database crashenquote:Op maandag 12 april 2010 15:39 schreef captaintokyo het volgende:
[..]
Graag gedaan. Succes!
Enne... http://www.php.net/manual/en/function.mysql-real-escape-string.php
tip leer het verschil tussen een variabele en een array variabelequote:Op maandag 12 april 2010 17:49 schreef Kerol het volgende:
Ik had nog 1 vraagje
Ik wil graag alle bookmarks laten zien die bij een bepaalde user hoort.
http://pastebin.com/vt3thN0F
Alleen werkt het zo niet echt.. Ik kom er totaal niet uit hoe het dan wel zou moeten, ben al 2 uur van alles aan het proberen maar het lukt totaal niet.
Zou iemand me nog 1x kunnen helpen? Ben bijna klaar met alles behalve dit
Was je er al uit?quote:Op maandag 12 april 2010 17:49 schreef Kerol het volgende:
Ik had nog 1 vraagje
Ik wil graag alle bookmarks laten zien die bij een bepaalde user hoort.
http://pastebin.com/vt3thN0F
Alleen werkt het zo niet echt.. Ik kom er totaal niet uit hoe het dan wel zou moeten, ben al 2 uur van alles aan het proberen maar het lukt totaal niet.
Zou iemand me nog 1x kunnen helpen? Ben bijna klaar met alles behalve dit
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $query7 = mysql_query(" SELECT `url`.`url_id`, `url`.`url_adres` FROM `url` INNER JOIN `marks` ON `url`.`url_id` = `marks`.`url_id` INNER JOIN `gebruiker` ON `marks`.`gebruiker_id` = `gebruiker`.`gebruiker_id` WHERE `gebruiker`.`login` = '".mysql_real_escape_string($gebruiker)."' "); while ($row = mysql_fetch_array($query7)) { $urlid = $row['url_id']; // IS DIT NODIG?? WAAROM DOE JE DIT?? echo "<br />"; echo "<tr> <td>"; echo $row['url_adres']; echo "</td> "; echo "<td>"; } ?> |
1 2 3 4 5 6 7 | echo "<br />"; echo "<tr> <td>"; echo $row['url_adres']; echo "</td> "; echo "<td>"; ?> |
1 2 3 4 5 6 | echo '<br /> <tr> <td> '.$row['url_adres'].' </td> <td>'; ?> |
1 2 3 4 5 6 7 8 | if($a == 'a'){ echo $a; foreach($a as $k=>$v){ echo $b; } } ?> |
1 2 3 4 5 6 7 8 | if($a == 'a'){ echo $a; foreach($a as $k=>$v){ echo $b; } } ?> |
1 |
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 | include 'mysql.php'; //Mysql DATA selecteren $query="SELECT * FROM nieuws ORDER BY datum DESC"; if (!($temp = mysql_query($query,$connection))) showerror(); //mysql data weergeven $ophalen = mysql_query("SELECT * FROM nieuws") or die(mysql_error()); //while loop while ($gegevens = mysql_fetch_array($ophalen)) { echo " <span class='kop'> "; echo $gegevens['datum']; echo " </span> "; echo " <span class='med'> - "; echo $gegevens['bericht']; echo " @ "; echo $gegevens['sectie']; echo " </span> <br /> "; } ?> |
Die limit 10 plaats je bij DESC, SORT en dat zo? Is het zo simpel?quote:Op donderdag 15 april 2010 21:55 schreef boem-dikkie het volgende:
Je kunt gewoon een id toevoegen en die sorteren. En dan gewoon LIMIT 10.
Als je LIMIT 10 doet laat hij maar 10 resultaten zien. En ja, kan er gewoon achter.quote:Op donderdag 15 april 2010 22:03 schreef caerulean het volgende:
[..]
Die limit 10 plaats je bij DESC, SORT en dat zo? Is het zo simpel?
Ik had allerlei complexe formules verwacht Dank je wel!quote:Op donderdag 15 april 2010 22:04 schreef boem-dikkie het volgende:
[..]
Als je LIMIT 10 doet laat hij maar 10 resultaten zien. En ja, kan er gewoon achter.
Als je zoveel mogelijk selectie vooraf doet via een query scheelt dat een hoop scripting .quote:Op donderdag 15 april 2010 22:06 schreef caerulean het volgende:
[..]
Ik had allerlei complexe formules verwacht Dank je wel!
1 2 3 4 5 6 7 8 9 10 11 12 13 | function userInput($string){ if(get_magic_quotes_gpc()){ $string = stripslashes($string); } if (phpversion() >= '4.3.0'){ $string = mysql_real_escape_string($string); } else{ $string = mysql_escape_string($string); } return $string; } ?> |
Beter doe je:quote:Op zaterdag 17 april 2010 16:56 schreef Apebeer het volgende:
Trouwens voor de mensen die niet echt aan beveiliging denken:
[ code verwijderd ]
Simpel maar effectieve code
Gebruik:
$naam = userInput($_POST['naam']);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function escapeAllInput($boolXSS) { foreach(list($_POST, $_GET, $_COOKIE) as &$arrGlobal) { foreach($arrGlobal as $strKey => &$strValue) { if(get_magic_quotes_gpc()){ $strValue = stripslashes($strValue); } if($boolXSS) { $strValue = htmlspecialchars($strValue); } if(function_exists('mysql_real_escape_string')){ $strValue = mysql_real_escape_string($strValue); } elseif(function_exist('mysql_escape_string')){ $strValue = mysql_escape_string($strValue); } else { $strValue = addslashes($strValue); } } } } ?> |
Kan ook ja, maar soms wil je niet alles filterenquote:Op zaterdag 17 april 2010 17:01 schreef Trollface. het volgende:
[..]
Beter doe je:
[ code verwijderd ]
In het geval van user input wel, imo.quote:Op zaterdag 17 april 2010 17:02 schreef Apebeer het volgende:
[..]
Kan ook ja, maar soms wil je niet alles filteren
Klopt ja, had het even uit mijn kop getikt, bijgewerkt.quote:Op zaterdag 17 april 2010 17:03 schreef SinofEnvy het volgende:
is_function()? Nog nooit van gehoord, is ook niks te vinden op de PHP documentatie. Wel ken ik function_exists, bedoel je dat?
Truequote:Op zaterdag 17 april 2010 17:03 schreef Trollface. het volgende:
[..]
In het geval van user input wel, imo.
Het systeem verbeteren was veel minder werk dan hem opnieuw bouwenquote:Op zaterdag 17 april 2010 17:14 schreef SinofEnvy het volgende:
Klinkt sowieso dus niet als een goed systeem om verder op te bouwen...
Dat laatste is in verband met verwijzingen vanaf andere tabellen op basis van ID niet altijd een slecht idee. Soms wil je een complete historie behouden ondanks dat het op het zicht weg moet zijn. Een vlaggetje is daarvoor opzich geen ramp. Al zou ik dat dan niet letterlijk 'verwijderen' noemen in de applicatie, maar eeder iets in de trant van 'archiveren', en er dan een apart overzicht van maken, ofzo.quote:Op zaterdag 17 april 2010 17:09 schreef Apebeer het volgende:
Ik heb de halve week gewerkt aan een enorm systeem dat opeens niet meer werkte naar een overzet van < PHP 4.3 naar de nieuwste. Bleek dat de programmeur niet $_POST['naam'] gebruikte maar gewoon direct $naam(register_globals toch?) Kon ik alles gaan overzetten En natuurlijk geen controle op de userInput, en ipv een record deleten uit de database had hij verwijderd op 0 of op 1 Dus ipv deleten update hij een record
In de meeste gevallen was er geen link tussen de tabellen, en was er ook geen nut om ze te bewaren.quote:Op zaterdag 17 april 2010 18:03 schreef Intrepidity het volgende:
[..]
Dat laatste is in verband met verwijzingen vanaf andere tabellen op basis van ID niet altijd een slecht idee. Soms wil je een complete historie behouden ondanks dat het op het zicht weg moet zijn. Een vlaggetje is daarvoor opzich geen ramp. Al zou ik dat dan niet letterlijk 'verwijderen' noemen in de applicatie, maar eeder iets in de trant van 'archiveren', en er dan een apart overzicht van maken, ofzo.
Anyway, bij sommige systemen die ik voor mijn werk maak is het ook gewoon de policy dat er nevernooit wat verwijderd dient te worden en dat we gewoon een kolom 'active' op 0 zetten
ipv van notepad++ gebruik ik Zend Studio 6, maar xampp is perfect voor localhost ontwikkelomgeving.quote:Op maandag 19 april 2010 12:13 schreef Puala het volgende:
Ik gebruik xampp & notepad ++
hoe bedoel je verdergaan?quote:Op maandag 19 april 2010 12:02 schreef Joooo-pi het volgende:
Hoe kan ik het beste wat programmeren in PHP. De probeerselen die ik tot nu toe gedaan heb, heb ik als volgt gedaan. Ik heb een virtueel LAMP servertje draaien. Daar SSH ik heen met PuTTy en in de commandline schrijf ik de php bestanden met nano. Dit was even om te oefenen, maar nu wil ik er verder mee gaan.
Wat is een normale werkwijze?
draai een lokale LAMP server? en als het klaar is upload je het?quote:Op maandag 19 april 2010 16:13 schreef Joooo-pi het volgende:
Oké ik ga de tips bekijken. Het LAMP servertje blijft, maar het schrijven in nano is wat primitief.
Enige wat ik dan klote vind is dat je bij editen telkens moet copy-pasten naar de remote LAMP server.
Notepad++ heeft een plugin die lokale bestanden automagisch met die op een remote FTP-server synchroniseertquote:Op maandag 19 april 2010 16:13 schreef Joooo-pi het volgende:
Oké ik ga de tips bekijken. Het LAMP servertje blijft, maar het schrijven in nano is wat primitief.
Enige wat ik dan klote vind is dat je bij editen telkens moet copy-pasten naar de remote LAMP server.
FTP_Synchronize, wordt als het goed is standaard meegeīnstalleerd.quote:Op maandag 19 april 2010 17:42 schreef SinofEnvy het volgende:
Echt?! Dat zoek ik al een tijdje. Hoe heet die?
Nee kan niet. Ik ben dan op mijn werk op een standaard xp systeempje.quote:Op maandag 19 april 2010 16:19 schreef cablegunmaster het volgende:
[..]
draai een lokale LAMP server? en als het klaar is upload je het?
Dat lijkt me een goeie optie.quote:Op maandag 19 april 2010 17:22 schreef Trollface. het volgende:
[..]
Notepad++ heeft een plugin die lokale bestanden automagisch met die op een remote FTP-server synchroniseert
Dan via FTP met Dreamweaver verbinden en als je opslaat upload hij hem automatisch naar de serverquote:Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.5 with Suhosin-Patch mod_ssl/2.2.11 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |