Script werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Remco van Akker

Remco van Akker

19/03/2012 18:46:41
Quote Anchor link
Hallo scripters,

Ik ben bezig met een cms voor een klant en daar bij heb ik een pagina nodig waar bij de GET functie word gebruikt. De GET functie doet het maar hij wil de tekst die ik invoer niet updaten in de database.
Weet iemand waar de fout is?

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
include('config.php'); // database connectie includen


$paginaid = $_GET['id'];

$query = mysql_query("SELECT * FROM `cms` WHERE `pagina-id`='".$_GET['id']."' ") or die(mysql_error());
$row = mysql_fetch_assoc($query);
?>

<html>
<head>
<title>RV - Pagina bewerken | Yoga-leeuwarden.nl</title>
<style>
body {
background-image: url('http://i43.tinypic.com/mhg0ud.png');
}

#footer {
position:absolute;
bottom:1px;
width:100%;
height:30px; /* Height of the footer */
font-family:Arial, Helvetica, sans-serif;
left: 0px;
text-align: center;
padding-top: 5px;
font-size: 14px;
}
</style>
</head>
<body>
<div id="cms" style="position:absolute; left:44px; top:208px; width:1000px; height:100px; z-index:13; padding:0;">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$array
= array('\\', '<script>', '</script>', '<script type="text/javascript">');
// variabels
$tekst = mysql_real_escape_string(str_replace($array, "", $_POST['tekst']));

// start upload proccess naar de database als op submit is gedrukt
if (isset($_POST['submit'])) {
    
//checken of de tekst langer is dan toegestaan
if(strlen($tekst)>1000)
{

echo "<p><div id='error'><center>Je mag niet meer dan 1000 tekens plaatsen! Dit is wegens spam tegen te houden!</center></div></p>";
}

else
{

    
$insert = mysql_query ("UPDATE `cms` SET tekst='".mysql_real_escape_string($tekst)."' WHERE `pagina-id`= '".mysql_real_escape_string(strip_tags($_GET['id']))."' ");
    echo ("<h4>Opgeslagen!</h4>");
}
}


?>

<script src="../nicEdit.js" type="text/javascript"></script>
<script type="text/javascript">
bkLib.onDomLoaded(function() {
new nicEditor({fullPanel : true}).panelInstance('tekst');
});
</script>
<form action="" method="post">
<textarea name="tekst" cols="50" rows="8" id="tekst" style="width: 100%;">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $row['tekst']; ?>
</textarea>
</p>
&nbsp;
<input type="submit" name="submit" id="submit" value="Opslaan" />
</form>
</div>
<div id="footer">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copyright 2012- RV Content Managment System - CMS - BEVDMEDIA
</div>
</body>
</html>
 
PHP hulp

PHP hulp

29/03/2024 16:11:04
 
- Ariën  -
Beheerder

- Ariën -

19/03/2012 18:56:45
Quote Anchor link
Je bent behoorlijk vatbaar voor SQL-injection:

Lees ook eens dit: http://tweakers.net/reviews/2531/sql-injectie-en-xss-de-beste-verdediging.html

Lijn 5 is ook onzinnig. En die ook een controle met isset() op je $_GET variabele.
Gewijzigd op 19/03/2012 18:57:49 door - Ariën -
 
Remco van Akker

Remco van Akker

19/03/2012 20:27:48
Quote Anchor link
Ik weet dat ik vatbaar ben voor sql injection.
Maar het is nog maar de basis.
Ik was het aan het testen.
Maar weet iemand hoe ik dit moet oplossen?
Hij wil de database niet updaten :S

Toevoeging op 19/03/2012 20:39:53:

Laat maar, opgelost!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.