switch($action){
case "1": include "pagina1.php" ; break;
case "2": include "pagina2.php" ; break;
case "3": include "pagina3.php" ; break;
case "4": include "pagina4.php" ; break;
}
Link gekopieerd
<?PHP
if($_GET['action'] == 'add') {
header("location: gastenboek.php?action=add");
}
?>
Link gekopieerd
Eigenlijk hebben we te weinig info voor gerichte tips. Ik neem aan dat je een hoofdpagina hebt, index.php
Hoeveel subpagina's heb je? Moet het menu op elke pagina te zien zijn? Welke links moeten naar welke pagina's verwijzen?
Link gekopieerd
bedankt, maar ik hou hetzelfde probleem. Als ik bv. teken gastenboek doe dan gaat ie naar de defaultpagina.
Link gekopieerd
volgende is aan de hand:
index.php
gastenboek.php
mailform.php
home.php
images
includes
config php
functions.php
de bestanden in map includes worden alleen geinclude door gastenboek.php
script: gastenboek.php
<html>
<head>
<link href="includes/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
include('includes/functions.php');
////////////////////////////////////// Navigatie menu weergeven ///////////////////////////////
// Query SELECT maken en uitvoeren
$query = 'SELECT * FROM gastenboek';
$result = mysql_query($query);
$paantalb = mysql_num_rows($result);
// Datum en tijd genereren
$datetime = date("j-n-Y H:i");
// Menu header weergeven
echo " <table width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td class='titel'>".$titel."</td>
</tr>
<tr>
<td class='info'>
".$datetime."<br>
Aantal berichten: ".$paantalb." Berichten per pagina: ".$aantalpp."
</td>
</tr>
<tr>
<td height='15'></td>
</tr>
<tr>
<td bgcolor='".$cnavmenu."'>
<table width='100%' border='0' cellspacing='0' cellpadding='4'>
<tr>".show_admin_menu()."</tr>
</table>
</td>
</tr>
<tr>
<td height='15'></td>
</tr>
</table>";
//////////////////////////////////////////// Login beheer ///////////////////////////////////////
// =========================================== Inloggen =========================================
if ($_GET['action'] == "login")
{
// Menu content header weergeven
echo show_content_header("Admin inloggen",$ccontentheader,$ccontent);
// Controleren of formulier gepost is
if (isset($_POST['submit']))
{
// Post variabelen opslaan
$pusername = strip_tags($_POST['username']);
$ppassword = strip_tags($_POST['password']);
// Controleren of alle verplichte velden zijn ingevuld
if (!empty($pusername) || !empty($ppassword))
{
// Query SELECT maken en uitvoeren
$query = 'SELECT id, password, rank FROM admins WHERE username = "'.$pusername.'"';
$result = mysql_query($query);
$record = mysql_fetch_object($result);
// Controleren of er een gebruiker gevonden is
if(mysql_num_rows($result) > 0 )
{
// Wachtwoord hash uit de database halen
$key = $record->password;
// $key controleren met de hash geven via het formulier of cookie
if (md5($ppassword) == $key)
{
// Sessie vars aanmaken
$_SESSION['login'] = true;
$_SESSION['rank'] = $record->rank;
$_SESSION['id'] = $record->id;
// Info message weergeven
echo show_info_message("U bent ingelogd.","$PHP_SELF?");
}
// Wachtwoord ongeldig
else
{
// Error message weergeven
echo show_error_message("Dit password is niet geldig bij deze username!");
// Login form weergeven
echo show_login_form();
}
}
// Gebruiker niet gevonden
else
{
// Error message weergeven
echo show_error_message("Username komt niet voor in onze database!");
// Login form weergeven
echo show_login_form();
}
}
// Velden niet ingevuld
else
{
// Error message weergeven
echo show_error_message("Vul alle verplichte velden in!");
// Login form weergeven
echo show_login_form();
}
}
else
{
// Login form weergeven
echo show_login_form();
}
// Menu content footer weergeven
echo show_content_footer();
}
// =========================================== Uitloggen ========================================
elseif ($_GET['action'] == "logout")
{
// Menu content header weergeven
echo show_content_header("Admin uitloggen",$ccontentheader,$ccontent);
// Session verwijderen
session_destroy();
// Info message weergeven
echo show_info_message("U bent uitgelogd.","$PHP_SELF?");
// Menu content footer weergeven
echo show_content_footer();
}
// ======================================== Password vergeten ===================================
elseif ($_GET['action'] == "lostpassword")
{
// Menu content header weergeven
echo show_content_header("Password vergeten",$ccontentheader,$ccontent);
if (isset($_POST['submit']))
{
// Post variabelen opslaan
$pemail = $_POST['email'];
// Controleren of alle velden zijn ingevuld
if (!empty($pusername) || !empty($pemail))
{
// Controleren of email geldig is
if (valid_email($pemail))
{
// Query SELECT maken en uitvoeren
$query = 'SELECT username FROM admins WHERE email = "'.$pemail.'"';
$result = mysql_query($query);
$record = mysql_fetch_object($result);
// Controleren of er een gebruiker gevonden is en email gelijk is aan email in database
if(mysql_num_rows($result) > 0)
{
// Email versturen met link reset of behoud
send_lostpassword_email($record->username, $pemail, $path, $titel);
// Info message weergeven
echo show_info_message("Er is een email verstuurd met informatie hoe je een nieuw password kan aanvragen.","$PHP_SELF?");
}
else
{
// Error message weergeven
echo show_error_message("Email adres komt niet voor in onze database!");
// Lostpassword form weergeven
echo show_lostpassword_form();
}
}
else
{
// Error message weergeven
echo show_error_message("Email adres is niet geldig!");
// Lostpassword form weergeven
echo show_lostpassword_form();
}
}
else
{
// Error message weergeven
echo show_error_message("Vul alle verplichte velden in!");
// Lostpassword form weergeven
echo show_lostpassword_form();
}
}
elseif (isset($_GET['reset']))
{
// Query SELECT maken en uitvoeren
$query = 'SELECT username FROM admins WHERE email = "'.$_GET['email'].'"';
$result = mysql_query($query);
$record = mysql_fetch_object($result);
// Nieuw password genereren
$newpassword = mt_rand(1,100000);
// Hash aanmaken
$hash = md5($newpassword);
// Account nieuw password toekennen en actief maken
$query = 'UPDATE admins SET password = "'.$hash.'" WHERE email = "'.$_GET['email'].'"';
$result = mysql_query($query);
// Email versturen met nieuwe password
send_resetpassword_email($record->username, $newpassword, $_GET['email'], $titel);
// Info message weergeven
echo show_info_message("Er is een email verstuurd met je nieuwe password.","$PHP_SELF?");
}
else
{
// Lostpassword form weergeven
echo show_lostpassword_form();
}
// Menu content footer weergeven
echo show_content_footer();
}
//////////////////////////////////////////// Beheerder beheer ///////////////////////////////////
elseif ($_GET['action'] == "admins")
{
// Menu content header weergeven
echo show_content_header("Admin beheer",$ccontentheader,$ccontent);
// Controleren of ingelogd true is
if (login() && (rank() == "admin"))
{
// Get variabelen opslaan
$id = $_GET['id'];
$add = $_GET['add'];
$edit = $_GET['edit'];
$delete = $_GET['delete'];
$confirm = $_GET['confirm'];
// =============================== Beheerder toevoegen ===================================
if ($add == 1)
{
// Controleren of formulier gepost is
if (isset($_POST['submit']))
{
// Post variabelen opslaan
$pusername = ucwords(strip_tags($_POST['username']));
$ppassword = strip_tags($_POST['password']);
$ppasswordb = strip_tags($_POST['passwordb']);
$pemail = strip_tags($_POST['email']);
$prank = $_POST['rank'];
// Goede waarde maken voor in de database
if ($prank == "Admin")
{
$prank = 1;
}
// Controleren of alle verplichte velden zijn ingevuld
if (!empty($pusername) && !empty($ppassword) && !empty($ppasswordb) && !empty($pemail))
{
// Controleren of passwords gelijk zijn aan elkaar
if ($ppassword == $ppasswordb)
{
// Controleren of geldig email adres in ingevuld
if (valid_email($pemail))
{
// Query SELECT maken en uitvoeren
$query = 'SELECT * FROM admins WHERE email = "'.$pemail.'"';
$result = mysql_query($query);
$record = mysql_fetch_object($result);
// Controleren of email adres al in database staat
if (mysql_num_rows($result) == 0)
{
// Password coderen
$ppassword = md5($ppassword);
// Query INSERT maken en uitvoeren
$query = "INSERT INTO admins (username, password, email, rank)
VALUES ('".$pusername."','".$ppassword."','".$pemail."','".$prank."')";
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft succesvol een nieuwe beheerder toegevoegd.","?action=admins");
}
else
{
// Error message weergeven
echo show_error_message("Email adres wordt al gebruikt door ".$record->username."!");
// Beheerder toevoegen form weergeven
echo show_add_admin_form();
}
}
else
{
// Error message weergeven
echo show_error_message("Email adres is niet geldig!");
// Beheerder toevoegen form weergeven
echo show_add_admin_form();
}
}
// Passwords zijn niet gelijk
else
{
// Error message weergeven
echo show_error_message("De passwords die u heeft ingevuld zijn niet gelijk aan elkaar!");
// Beheerder toevoegen form weergeven
echo show_add_admin_form();
}
}
// Velden niet ingevuld
else
{
// Error message weergeven
echo show_error_message("Vul alle verplichte velden in!");
// Beheerder toevoegen form weergeven
echo show_add_admin_form();
}
}
// Beheerder toevoegen form weergeven
else
{
// Profiel wijzigen form weergeven
echo show_add_admin_form();
}
}
// =============================== Beheerder wijzigen ====================================
elseif ($edit == 1)
{
// Controleren of formulier gepost is
if (isset($_POST['submit']))
{
// Post variabelen opslaan
$ppassword = strip_tags($_POST['password']);
$ppasswordb = strip_tags($_POST['passwordb']);
$pemail = strip_tags($_POST['email']);
$prank = strip_tags($_POST['rank']);
// Goede waarde maken voor in de database
if ($prank == "Admin")
{
$prank = 1;
}
else
{
$prank = 0;
}
// Query SELECT maken en uitvoeren
$query = 'SELECT email, rank FROM admins WHERE id = "'.$id.'"';
$result = mysql_query($query);
$record = mysql_fetch_object($result);
// Controleren of rank gewijzigd is
if ($prank <> $record->rank)
{
// Query UPDATE maken en uitvoeren
$query = 'UPDATE admins SET rank = "'.$prank.'" WHERE id = "'.$id.'"';
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft de rank succesvol gewijzigd.","?action=admins");
}
// Controleren of password velden niet leeg zijn en email uit database niet gelijk is aan post email
elseif (!empty($ppassword) && !empty($ppassword) || ($pemail <> $record->email))
{
// Controleren of passwords gelijk zijn aan elkaar
if ($ppassword == $ppasswordb)
{
// Controleren of email adres geldig is
if(valid_email($pemail))
{
// Controleren of password is ingevuld
if (empty($ppassword))
{
// Query SELECT maken en uitvoeren
$query = 'SELECT * FROM admins WHERE email = "'.$pemail.'"';
$result = mysql_query($query);
$record = mysql_fetch_object($result);
// Controleren of email adres al in database staat
if (mysql_num_rows($result) == 0)
{
// Query UPDATE maken en uitvoeren
$query = 'UPDATE admins SET email = "'.$pemail.'", rank = "'.$prank.'" WHERE id = "'.$id.'"';
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft het email adres succesvol gewijzigd.","?action=admins");
}
else
{
// Error message weergeven
echo show_error_message("Email adres wordt al gebruikt door ".$record->username."!");
// Beheerder toevoegen form weergeven
echo show_edit_admin_form($id);
}
}
// Password is ingevuld
elseif ($pemail == $record->email)
{
// Password coderen
$ppassword = md5($ppassword);
// Query UPDATE maken en uitvoeren
$query = 'UPDATE admins SET password = "'.$ppassword.'", rank = "'.$prank.'" WHERE id = "'.$id.'"';
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft het password succesvol gewijzigd.","?action=admins");
}
// Password en email is ingevuld
else
{
// Query SELECT maken en uitvoeren
$query = 'SELECT * FROM admins WHERE email = "'.$pemail.'"';
$result = mysql_query($query);
$record = mysql_fetch_object($result);
// Controleren of email adres al in database staat
if (mysql_num_rows($result) == 0)
{
// Password coderen
$ppassword = md5($ppassword);
// Query UPDATE maken en uitvoeren
$query = 'UPDATE admins SET password = "'.$ppassword.'", email = "'.$pemail.'", rank = "'.$prank.'" WHERE id = "'.$id.'"';
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft het password en email adres succesvol gewijzigd.","?action=admins");
}
else
{
// Error message weergeven
echo show_error_message("Email adres wordt al gebruikt door ".$record->username."!");
// Beheerder toevoegen form weergeven
echo show_edit_admin_form($id);
}
}
}
// Email adres ongeldig
else
{
// Error message weergeven
echo show_error_message("Email adres is niet geldig!");
// Beheerder wijzigen form weergeven
echo show_edit_admin_form($id);
}
}
// Passwords zijn niet gelijk
else
{
// Error message weergeven
echo show_error_message("De passwords die u heeft ingevuld zijn niet gelijk aan elkaar!");
// Beheerder wijzigen form weergeven
echo show_edit_admin_form($id);
}
}
// Profiel wijzigen form weergeven
else
{
// Profiel wijzigen form weergeven
echo show_edit_admin_form($id);
}
}
// Profiel wijzigen form weergeven
else
{
// Profiel wijzigen form weergeven
echo show_edit_admin_form($id);
}
}
// ============================== Beheerder verwijderen ==================================
elseif ($delete == 1)
{
// Controleren of admin beheerder daadwerkelijk wil verwijderen
if ($confirm == 1)
{
// Query DELETE maken en uitvoeren
$query = 'DELETE FROM admins WHERE id = "'.$id.'"';
mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft deze beheerder succesvol verwijderd.","?action=admins");
}
// Bevestiging weergeven
else
{
// Bevestigings extra message weergeven
echo show_confirm_extra_message("Weet u zeker dat u deze beheerder wilt verwijderen?","admins","delete",1,$id);
}
}
// =============================== Beheerders weergeven ==================================
else
{
echo "<b><a href='?action=admins&add=1' class='content'>Beheerder toevoegen</a></b><br><br>";
// Query SELECT maken en uitvoeren
$query = 'SELECT * FROM admins';
$result = mysql_query($query);
echo " <table border='0' cellspacing='2' cellpadding='2' class='content'>
<tr bgcolor='".$csubcontentheader."'>
<td class='menutitel'>Beheerder:</td>
<td class='menutitel'>Rank:</td>
</tr>";
while ($record = mysql_fetch_object($result))
{
$id = $record->id;
echo " <tr bgcolor='".$csubcontent."'>
<td>".$record->username."</td>
<td>";if ($record->rank == 1) {echo "Admin";} else {echo "Moderator";}echo "
<td>
<a href='?action=admins&edit=1&id=".$id."'><img src='images/edit.gif' border='0'></a>
<a href='?action=admins&delete=1&id=".$id."'><img src='images/delete.gif' border='0'></a>
</td>
</tr>";
}
echo " </table>";
}
}
// Niet ingelogd
else
{
// Error message weergeven
echo show_error_message("U bent niet ingelogd!");
}
// Menu content footer weergeven
echo show_content_footer();
}
// ======================================== Profiel wijzigen ====================================
elseif ($_GET['action'] == "profile")
{
// Menu content header weergeven
echo show_content_header("Profiel wijzigen",$ccontentheader,$ccontent);
// Controleren of ingelogd true is
if (login())
{
// Controleren of formulier gepost is
if (isset($_POST['submit']))
{
// Post variabelen opslaan
$ppassword = strip_tags($_POST['password']);
$ppasswordb = strip_tags($_POST['passwordb']);
$pemail = strip_tags($_POST['email']);
// Query SELECT maken en uitvoeren
$query = 'SELECT email FROM admins WHERE id = "'.$_SESSION['id'].'"';
$result = mysql_query($query);
$record = mysql_fetch_object($result);
// Controleren of password velden niet leeg zijn en email uit database niet gelijk is aan post email
if (!empty($ppassword) && !empty($ppassword) || ($pemail <> $record->email))
{
// Controleren of passwords gelijk zijn aan elkaar
if ($ppassword == $ppasswordb)
{
// Controleren of email adres geldig is
if(valid_email($pemail))
{
// Controleren of password is ingevuld
if (empty($ppassword))
{
// Query UPDATE maken en uitvoeren
$query = 'UPDATE admins SET email = "'.$pemail.'" WHERE id = "'.$_SESSION['id'].'"';
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft uw email adres succesvol gewijzigd.","?action=profile");
}
// Password is ingevuld
elseif ($pemail == $record->email)
{
// Password coderen
$ppassword = md5($ppassword);
// Query UPDATE maken en uitvoeren
$query = 'UPDATE admins SET password = "'.$ppassword.'" WHERE id = "'.$_SESSION['id'].'"';
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft uw password succesvol gewijzigd.","?action=profile");
}
// Password en email is ingevuld
else
{
// Password coderen
$ppassword = md5($ppassword);
// Query UPDATE maken en uitvoeren
$query = 'UPDATE admins SET password = "'.$ppassword.'", email = "'.$pemail.'" WHERE id = "'.$_SESSION['id'].'"';
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft uw password en email adres succesvol gewijzigd.","?action=profile");
}
}
// Email adres ongeldig
else
{
// Error message weergeven
echo show_error_message("Email adres is niet geldig!");
// Profiel wijzigen form weergeven
echo show_profile_form($_SESSION['id']);
}
}
// Passwords zijn niet gelijk
else
{
// Error message weergeven
echo show_error_message("De passwords die u heeft ingevuld zijn niet gelijk aan elkaar!");
// Profiel wijzigen form weergeven
echo show_profile_form($_SESSION['id']);
}
}
// Profiel wijzigen form weergeven
else
{
// Profiel wijzigen form weergeven
echo show_profile_form($_SESSION['id']);
}
}
// Profiel wijzigen form weergeven
else
{
// Profiel wijzigen form weergeven
echo show_profile_form($_SESSION['id']);
}
}
// Niet ingelogd
else
{
// Error message weergeven
echo show_error_message("U bent niet ingelogd!");
}
// Menu content footer weergeven
echo show_content_footer();
}
//////////////////////////////////////////// Ip Ban beheer //////////////////////////////////////
// =========================================== Ip bannen ========================================
elseif ($_GET['action'] == "ban")
{
// Menu content header weergeven
echo show_content_header("Ip bannen",$ccontentheader,$ccontent);
// Controleren of ingelogd true is
if (login() && (rank() == "admin"))
{
// Get variabelen opslaan
$id = $_GET['id'];
$confirm = $_GET['confirm'];
// Query SELECT maken en uitvoeren
$query = 'SELECT name, ip FROM gastenboek WHERE id = "'.$id.'"';
$result = mysql_query($query);
$record = mysql_fetch_object($result);
$name = $record->name;
// Query SELECT maken en uitvoeren
$query = 'SELECT id FROM banned WHERE banned_ip = "'.$record->ip.'"';
$result = mysql_query($query);
// Controleren of ip al gebanned is
if (mysql_num_rows($result) == 0)
{
// Controleren of admin ip daadwerkelijk wil bannen
if ($confirm == 1)
{
// Query INSERT / SELECT maken en uitvoeren
$query = 'INSERT INTO banned (banned_ip) SELECT ip FROM gastenboek WHERE id = "'.$id.'"';
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft ".$name." succesvol gebanned.","$PHP_SELF?");
}
// Bevestiging weergeven
else
{
// Bevestigings message weergeven
echo show_confirm_message("Weet u zeker dat u ".$name." wilt bannen?","ban",$id);
}
}
// Ip is al gebanned
else
{
// Error message weergeven
echo show_error_message("Ip is al gebanned!");
}
}
// Niet ingelogd
else
{
// Error message weergeven
echo show_error_message("U bent niet ingelogd!");
}
// Menu content footer weergeven
echo show_content_footer();
}
// ============================================ Beheren =========================================
elseif ($_GET['action'] == "bans")
{
// Menu content header weergeven
echo show_content_header("Ip bans",$ccontentheader,$ccontent);
// Controleren of ingelogd true is
if (login() && (rank() == "admin"))
{
// Get variabelen opslaan
$id = $_GET['id'];
$info = $_GET['info'];
$delete = $_GET['delete'];
$confirm = $_GET['confirm'];
// =================================== Info ip ban =======================================
if ($info == 1)
{
// Query SELECT maken en uitvoeren
$query = 'SELECT * FROM banned WHERE id = "'.$id.'"';
$result = mysql_query($query);
$record = mysql_fetch_object($result);
echo " <table border='0' cellspacing='2' cellpadding='2'>
<tr bgcolor='".$csubcontentheader."'>
<td class='menutitel'>Ip:</td>
<td width='14' align='center'><a href='?action=bans&delete=1&id=".$id."'><img src='images/delete.gif' border='0'></a></td>
</tr>
<tr bgcolor='".$csubcontent."'>
<td colspan='2' class='content'>".$record->banned_ip."</td>
</tr>
<tr bgcolor='".$csubcontentheader."'>
<td colspan='2' class='menutitel'>Gebanned onder de namen:</td>
</tr>";
// Query SELECT maken en uitvoeren
$query = 'SELECT DISTINCT name FROM gastenboek WHERE ip = "'.$record->banned_ip.'"';
$result = mysql_query($query);
while ($record = mysql_fetch_object($result))
{
echo " <tr bgcolor='$csubcontent'>
<td colspan='2' class='content'>".$record->name."</td>
</tr>";
}
echo " </table>";
}
// ================================ Ip ban verwijderen ===================================
elseif ($delete == 1)
{
// Controleren of admin ipban daadwerkelijk wil verwijderen
if ($confirm == 1)
{
// Query DELETE maken en uitvoeren
$query = 'DELETE FROM banned WHERE id = "'.$id.'"';
mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft de ipban succesvol verwijderd.","?action=bans");
}
// Bevestiging weergeven
else
{
// Bevestigings extra message weergeven
echo show_confirm_extra_message("Weet u zeker dat u deze ipban wilt verwijderen?","bans","delete",1,$id);
}
}
// ================================ Ip bans weergeven ====================================
else
{
// Query SELECT maken en uitvoeren
$query = "SELECT * FROM banned";
$result = mysql_query($query);
// Controleren of banned ips zijn
if (mysql_num_rows($result) == 0)
{
echo "<div class='content'>Er zijn nog geen bans uitgedeeld.</div>";
}
// Banned ips gevonden
else
{
// Berichten weergeven
echo " <table border='0' cellspacing='2' cellpadding='2'>
<tr>
<td bgcolor='".$csubcontentheader."' class='menutitel'>Ip:</td>
<td></td>
</tr>";
while ($record = mysql_fetch_object($result))
{
$id = $record->id;
echo " <tr>
<td bgcolor='".$csubcontent."' class='content'>".$record->banned_ip."</td>
<td bgcolor='".$csubcontent."' align='center'>
<a href='?action=bans&info=1&id=".$id."'><img src='images/info.gif' border='0'></a>
<a href='?action=bans&delete=1&id=".$id."'><img src='images/delete.gif' border='0'></a>
</td>
</tr>";
}
echo " </table>";
}
}
}
// Niet ingelogd
else
{
// Error message weergeven
echo show_error_message("U bent niet ingelogd!");
}
// Menu content footer weergeven
echo show_content_footer();
}
//////////////////////////////////////////// Berichten beheer ///////////////////////////////////
// ========================================= Bericht toevoegen ==================================
elseif ($_GET['action'] == "add")
{
// Menu content header weergeven
echo show_content_header("Bericht toevoegen",$ccontentheader,$ccontent);
// Controleren of formulier gepost is
if (isset($_POST['submit']))
{
// Post variabelen opslaan
$pname = ucwords(strip_tags($_POST['name']));
$pemail = strip_tags($_POST['email']);
$pcontent = $_POST['content'];
$ip = $_SERVER['REMOTE_ADDR'];
// Controleren of ip gebanned is maar niet de rank admin heeft
if (!banned())
{
// Controleren of alle verplichte velden zijn ingevuld
if (!empty($pname) && !empty($pcontent))
{
// Query SELECT maken en uitvoeren
$query = 'SELECT id, username FROM admins WHERE username = "'.$pname.'"';
$result = mysql_query($query);
$record = mysql_fetch_object($result);
// Controleren of naam niet gelijk is aan een admin username
if (($pname <> $record->username) || login())
{
// Controleren of bericht het minimaal aantal karakters heeft
if ((strlen($pcontent) >= $minaantalkpb) || login())
{
// Controleren of email adres is ingevuld
if (!empty($pemail))
{
// Controleren of geldig email adres in ingevuld
if (valid_email($pemail))
{
// Query INSERT maken en uitvoeren
$query = "INSERT INTO gastenboek (name, email, content, ip, datetime)
VALUES ('".$pname."','".$pemail."','".$pcontent."','".$ip."',now())";
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("U bericht is succesvol geplaatst.","$PHP_SELF?");
}
else
{
// Error message weergeven
echo show_error_message("Email adres is niet geldig!");
// Bericht toevoegen form weergeven
echo show_add_form($aantalkpb,$smilies,$ubbcode);
}
}
// Geen email adres ingevuld
else
{
// Query INSERT maken en uitvoeren
$query = "INSERT INTO gastenboek (name, email, content, ip, datetime)
VALUES ('".$pname."','".$pemail."','".$pcontent."','".$ip."',now())";
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("Uw bericht is succesvol geplaatst.","$PHP_SELF?");
}
}
else
{
// Error message weergeven
echo show_error_message("Het bericht moet minstens ".$minaantalkpb." karakters bevatten!");
// Bericht toevoegen form weergeven
echo show_add_form($aantalkpb,$smilies,$ubbcode);
}
}
// Naam is gelijk aan een admin naam
else
{
// Error message weergeven
echo show_error_message("Deze naam is gereserveerd voor een beheerder!<br>Bent u een beheerder, log dan eerst in voordat u een bericht plaatst.");
// Bericht toevoegen form weergeven
echo show_add_form($aantalkpb,$smilies,$ubbcode);
}
}
// Velden niet ingevuld
else
{
// Error message weergeven
echo show_error_message("Vul alle verplichte velden in!");
// Bericht toevoegen form weergeven
echo show_add_form($aantalkpb,$smilies,$ubbcode);
}
}
// Ip is gebanned
else
{
// Error message weergeven
echo show_error_message("U bent gebanned en kan daarom geen berichten plaatsen!");
}
}
// Bericht toevoegen form weergeven
else
{
echo show_add_form($aantalkpb,$smilies,$ubbcode);
}
// Menu content footer weergeven
echo show_content_footer();
}
// ========================================= Bericht wijzigen ===================================
elseif ($_GET['action'] == "edit")
{
// Menu content header weergeven
echo show_content_header("Bericht wijzigen",$ccontentheader,$ccontent);
// Controleren of ingelogd true is
if (login())
{
// Get variabelen opslaan
$id = $_GET['id'];
// Controleren of formulier gepost is
if (isset($_POST['submit']))
{
// Post variabelen opslaan
$pname = ucwords(strip_tags($_POST['name']));
$pemail = strip_tags($_POST['email']);
$pcontent = $_POST['content'];
// Controleren of alle verplichte velden zijn ingevuld
if (!empty($pname) && !empty($pcontent))
{
// Controleren of email adres is ingevuld
if (!empty($pemail))
{
// Controleren of geldig email adres in ingevuld
if (valid_email($pemail))
{
// Query UPDATE maken en uitvoeren
$query = "UPDATE gastenboek SET name = '".$pname."', email = '".$pemail."', content = '".$pcontent."' WHERE id = '".$id."'";
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft het bericht succesvol gewijzigd.","$PHP_SELF?");
}
else
{
// Error message weergeven
echo show_error_message("Email adres is niet geldig!");
// Bericht toevoegen form weergeven
echo show_add_form($aantalkpb,$smilies,$ubbcode);
}
}
// Geen email adres ingevuld
else
{
// Query UPDATE maken en uitvoeren
$query = "UPDATE gastenboek SET name = '".$pname."', email = '".$pemail."', content = '".$pcontent."' WHERE id = '".$id."'";
$result = mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft het bericht succesvol gewijzigd.","$PHP_SELF?");
}
}
// Velden niet ingevuld
else
{
// Error message weergeven
echo show_error_message("Vul alle verplichte velden in!");
// Bericht wijzigen form weergeven
echo show_edit_form($id,true,$aantalkpb,$smilies,$ubbcode);
}
}
// Bericht wijzigen form weergeven
else
{
// Bericht wijzigen form weergeven
echo show_edit_form($id,false,$aantalkpb,$smilies,$ubbcode);
}
}
// Niet ingelogd
else
{
// Error message weergeven
echo show_error_message("U bent niet ingelogd!");
}
// Menu content footer weergeven
echo show_content_footer();
}
// ======================================== Bericht verwijderen =================================
elseif ($_GET['action'] == "delete")
{
// Menu content header weergeven
echo show_content_header("Bericht verwijderen",$ccontentheader,$ccontent);
// Controleren of ingelogd true is
if (login())
{
// Get variabelen opslaan
$id = $_GET['id'];
$confirm = $_GET['confirm'];
// Controleren of admin bericht daadwerkelijk wil verwijderen
if ($confirm == 1)
{
// Query DELETE maken en uitvoeren
$query = 'DELETE FROM gastenboek WHERE id = "'.$id.'"';
mysql_query($query);
// Info message weergeven
echo show_info_message("U heeft het bericht succesvol verwijderd.","$PHP_SELF?");
}
// Bevestiging weergeven
else
{
// Bevestigings message weergeven
echo show_confirm_message("Weet u zeker dat u dit bericht wilt verwijderen?","delete",$id);
}
}
// Niet ingelogd
else
{
// Error message weergeven
echo show_error_message("U bent niet ingelogd!");
}
// Menu content footer weergeven
echo show_content_footer();
}
// ======================================== Berichten weergeven =================================
else
{
// Get variabelen opslaan
$page = $_GET['page'];
// Query SELECT maken en uitvoeren
$query = mysql_query("SELECT * FROM gastenboek");
$result = mysql_num_rows($query);
// Pagina begin berekenen
$begin = $page * $aantalpp;
// Aantal pagina's
$pages = ceil($result / $aantalpp);
// Query SELECT maken en uitvoeren
$query = "SELECT * FROM gastenboek ORDER by id DESC LIMIT ".$begin.", ".$aantalpp."";
$result = mysql_query($query);
// Controleren of er berichten geplaatst zijn
if (mysql_num_rows($result) == 0)
{
// Menu content header weergeven
echo show_content_header("Geen berichten aanwezig",$ccontentheader,$ccontent);
// Info message weergeven
echo "<div class='content'>Er zijn geen berichten geplaatst.</div>";
// Menu content footer weergeven
echo show_content_footer();
}
// Geen berichten geplaatst
else
{
// Berichten weergeven
echo " <table width='100%' border='0' cellspacing='0' cellpadding='4'>";
while ($record = mysql_fetch_object($result))
{
// Ubbcode weergeven
$content = ubbcode($record->content,$smilies,$ubbcode);
echo " <tr bgcolor='".$cpostheader."' class='postheader'>
<td>Geplaatst door: ".show_email($record->email, $record->name)." op ".$record->datetime."</td>
<td align='right'>".show_admin_buttons_menu($record->id)."</td>
</tr>
<tr bgcolor='".$cpostcontent."' class='content'>
<td colspan='2'>".$content."</td>
</tr>
<tr>
<td height='5'></td>
</tr>";
}
echo " </table>";
/////////////////////////////////// Pagina menu weergeven /////////////////////////////
echo show_page_menu($page,$aantalpp,$pages,$paantalb,$cpagemenu);
}
}
?>
</body>
</html>
Link gekopieerd
Sorry, maar dat zijn 1013 regels code! Heb je dit script zelf gemaakt? Of gekopieerd?
Link gekopieerd
heb ik niet zelf gemaakt, maar hij doet het zekers wel. Maar geinclude niet. De action add bv. voert ie uit op index.php (index.php?action=add), dit moet zijn gastenboek.php?action=add. Maar ja dan is ie niet meer geinclude. Ik wil namelijk wel het menu houden. Misschien heb ik een oplossing. Door een nieuwe pagina te maken met zelfde layout als index en menu en gastenboek includen. Die pagina linken ipv van includen. Is dit mogelijk??
Link gekopieerd
Ik snap niet wat je bedoelt, maar ik zou zeggen: gewoon uitproberen.
Link gekopieerd
Ik krijg de volgende foutmelding:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/g21548/heerlijkhelderheineken.com/HTML/php/gastenboek/index.php:13) in /var/www/g21548/heerlijkhelderheineken.com/HTML/php/gastenboek/includes/functions.php on line 10
Link gekopieerd
volgens mijn moet dan je Sessie bovenaan de pagina staan.. en dat heb je niet gedaan? maar weet het niet zeker...
Zim
Link gekopieerd