De pagina's voor de site zijn er, en de $titel en $content staan in een database. De gebruiker kan vervolgens het content gedeelte zelf invullen. Dit gaat middels een wijzig-pagina met fckeditor in het form.
Mijn idee is als volgt:
admin-pagina / met inlog
op die pagina een lijst met links naar de te wijzigen pagina's
wijzigen kan op de pagina wijzig.php_1, 2, etc.
op die opagina wordt middels onderstaand script de $titel en $content opgehaald en door de gruiker aangepast en opgeslagen.
Ik heb middels onderstaand script het basis idee werkend.
Ik heb met mijn beperkte php kennis enkele scripts aan elkaar geknoopt (onder andere een stukje uit simpel cms van phphulp en een topic van webmastercity een oude tuttorial voor een gastenboek) Tevens heb ik de tuto van phphulp beterffende php & mysql gelezen.
Ik heb echter het idee dat er an de invoerkant nog wel iets verbetert kan worden kwa veiligheid? Ook denk ik dat de gebruikt scriptdelen wellicht niet helemaal goed in elkaar zaten / zitten.
Mijn vraag: is dit systeempje veilig genoeg? Er is maar een gebruiker.
Kan het admindeel nog wat beter opgezet worden (niet te ingewikkeld)
dit is wijzig.php
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
?>
<?php
// hier de eenvoudige pagina beveiliging
session_start();
if($_SESSION['login'] == 1 && $_SESSION['sid'] == session_id()){
?>
<?php // verbinden met de database
require_once("connect.php");?>
<?php
// hier de fckeditor invoegen
include_once("fckeditor/fckeditor.php") ;
?>
<html>
<head>
<title>Content pagina 1 wijzigen</title>
</head>
<body>
<h1>Kop en Inhoud van de pagina wijzigen</h1>
<?php // de aangepaste gegevens weer in de database zetten - updaten
if($_POST['submit']){
if ($_POST['titel'] == ""){
print("U hebt geen naam ingevuld, wat vereist is. Klik <a href=\"javascript:history.go(-1)\">hier</a> om terug te keren en uw naam in te vullen.<br>");
}
else if ($_POST['content'] == ""){
print("U heeft geen bericht ingevuld, wat vereist is. Klik <a href=\"javascript:history.go(-1)\">hier</a> om terug te keren en uw bericht in te vullen.<br>");
}
else{
$query="UPDATE content SET titel='".($_POST['titel'])."', content='".($_POST['content'])."' WHERE paginaid=1";
$wijzig=mysql_query($query) or die(mysql_error());
print("Pagina-inhoud gewijzigd<br>Klik <a href=\"admin_page.php\">hier</a> om terug te keren naar de admin_page.<br/> Of <a href=\"loguit.php\">hier</a> om uit te loggen");
}
}
// de gegevens uit de database ophalen om in het formulier te tonen
else{
$select = mysql_query("SELECT * FROM content WHERE paginaid=1");
$data = mysql_fetch_array($select);
?>
<form name="data" method="POST" enctype="multipart/form-data" action="wijzig.php?id=1">
<table class="main" cellspacing="0" width="800" hight="300" align="center">
<tr class="light">
<td class="main" width="200">Koptekst*:</td>
<td class="main" width="800"><input type="text" size="30" name="titel" value="<?php print($data['titel']);?>"></td>
</tr>
<tr class="dark">
<td class="main" width="100" valign="top">Pagina inhoud*:</td>
<td class="main" width="800" height="300">
<?php
$oFCKeditor = new FCKeditor('content') ;
$oFCKeditor->BasePath = '/fckeditor/' ;
//$oFCKeditor->CustomConfigurationsPath = '/pad naar mijn eigen_fckconfig.js' ; werkt nog niet nog uitzoeken.
$oFCKeditor->Value = $data['content']; // Hier komt dus de tekst in die geupdate kan worden.
$oFCKeditor->Width = "100%";
$oFCKeditor->Height = 500;
$oFCKeditor->Create() ;?>
</td>
</tr>
<tr class="title">
<td class="main" colspan="2">
<font size="3">* Hier moet altijd een tekst staan.</font>
<input type="submit" value="Voeg toe">
</td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>
<?php
}
else{
?>
<html>
<head>
<title>Verboden Toegang eerst inloggen</title>
<link rel="stylesheet" href="/tg.css">
</head>
<body>
<h1>Toegang gewijgerd</h1>
U bent niet gemachtigd om deze pagina te bekijken.</br>
Klik <a href="login.php">hier</a> om in te loggen.
</body>
</html>
<?php
}
?>