Scripts

gastenboek, admin ( is me eerste echte php script )

Er wordt aangeraden dit script niet te gebruiken! beter is het om dit script te gebruiken. Daarnaast is het handig om te weten waar je script / tutorial aan moet voldoen voordat deze 'library waardig' is. klik hier een gastenboek die na mijn mening goed beveiligd is. maar als er surgesties zijn hoor ik ze graag. als je de bestanden upload en gaat naar gastenboek.php word er gevraagd of je een admin account wil aanmaken. alles word opgeslagen in database, zit ook een wachtwoord vergeten functie in. wat je wel moet doen is in connectie.php 4 dingen wijzigen dit inverband met je gegevend van je database. .

gastenboek.php
<?php
/**
 * @author Leon Kuipers
 * @copyright 2011
 * @filename gastenboek.php
 */
 error_reporting(E_ALL);
 session_start();
 
 ?>
 
<html>
	<head>
	<title>Gatsneboek!</title>
	<link href="gastenboek.css" rel="stylesheet" type="text/css" />
	</head>
<body>
<div id="center">
<h1> Gastenboek! </h1>
<?php
if (isset($_SESSION['naam'])) 
{
    echo "<a href='loguit.php'>klik hier om uit te loggen</a>";
    echo '<form method="post" action="">
            <table><tr><td><input type="radio" name="kies_1" value="normaal"/>Normaal
            </td><td><input type="radio" name="kies_1" value="bewerken"/>Bewerken
            </td><td><input type="radio" name="kies_1" value="verwijderen"/>Verwijderen
            </td><td><input type="submit" name="kies" value="kies"/></td></tr></table>
            </form>';
    if(isset($_POST['kies_1'] ))
    {
        $_SESSION['kies'] = $_POST['kies_1'];
    }
}
else
{
    echo "<a href='login.php'> klik hier om in te loggen!</a>";
}
?>

<hr />
<?php
if (isset($_SESSION['error_delete']))
{
    echo  $_SESSION['error_delete'];
    unset($_SESSION['error_delete']);
}
include "function.php";
include "connectie.php";
$_SESSION['error'] = ' ';

$regel_kleur_1 = "#01FF9E";
$regel_kleur_2 = "#63FD65";
$regel_tellen = 0;
$out = '';
if(isset($_GET['verwijder']))
{
    
    if (isset($_SESSION['naam']))
    {
        
        $verwijder = "DELETE FROM gastenboek WHERE id='".$_GET['verwijder']."'";
        if(mysql_query($verwijder))
        {
            $_SESSION['error_delete'] = "Het is gelukt, het bericht is verwijdert.";
            header('location:gastenboek.php');
        }
        else
        {
            $_SESSSION['error_delete'] = "Bericht verwijderen is niet gelukt!";
            header('location:gastenboek.php');
        }
    }
    else
    {
        header("Location:gastenboek.php");
    }
}
if (isset($_POST['bewerk']))
{
    if(isset($_SESSION['naam']))
    {
        
        $id_0 = $_POST['id_0'];
        $datum_0 = $_POST['datum_0'];
        $naam_0 = $_POST['naam_0'];
        $email_0 = $_POST['email_0'];
        $onderwerp_0 = $_POST['onderwerp_0'];
        $bericht_0 = $_POST['bericht_0'];
        $sql_bewerk = "UPDATE gastenboek SET naam='$naam_0',email='$email_0',onderwerp='$onderwerp_0',bericht='$bericht_0',datum='$datum_0' WHERE id=$id_0";
        if(mysql_query($sql_bewerk)or die (mysql_error()))
        { 
            $_SESSION['error_delete'] = "Het is gelukt, het bericht is bewerkt.";
             header('location:gastenboek.php');
        }
        else
        {
            $_SESSSION['error_delete'] = "Bericht bewerken is niet gelukt!";
             header('location:gastenboek.php');
        }
    }
    header('location:gastenboek.php');
}
// controleren of er een bericht word gepost
if(isset($_POST['submit']))
{
    $dag = date("d-m-Y");
    $tijd = date("H:i:s");
    $datum = " op ". $dag ." om ". $tijd;
    $naam = beveiliging($_POST['naam']);
    $bericht = beveiliging($_POST['bericht']);
    $onderwerp = beveiliging($_POST['onderwerp']);
    $email = beveiliging($_POST['email']);
    $input = $_POST['input'];
    $som = $_SESSION['getal1'] + $_SESSION['getal2'];
    if(strlen($naam) > 50)
    {
        $errors[] = 'U naam is te lang.';
    }
    elseif($naam == '')
    {
        $errors[] = 'U moet wel U naam invullen!';
    }
    if(strlen($email) > 70)
    {
        $errors[] = "U e-mail adres is te lang!";
    }
    elseif($email == '')
    {
        $errors[] = "U moet wel u e-mail ardes in vullen!";
    }
    elseif(checkmail($email) == "false")
    {
        $errors[] = "U e-mail adres klopt niet!";
    }
    if(strlen($onderwerp) > 50)
    {
        $errors[] = 'U naam is te lang.';
    }
    elseif($onderwerp == '')
    {
        $errors[] = 'U moet wel een onderwerp!';
    }
     if(strlen($bericht) > 500)
    {
        $errors[] = 'U bericht is te lang.';
    }
    elseif($bericht == '')
    {
        $errors[] = 'U moet wel een bericht invullen!';
    }
    if($input != $som)
    {
        $errors[] = 'Controleer de beveiligingscode!';
        rand_getallen();
    }
    if(isset($errors{0}))
    {
        $aantal = count($errors);
        $out = '<p class="style1"> Er trad(en) ' . $aantal . "fout(en) op:\n<ul></p>";
        foreach ($errors as $error)
        {
            $out .= "\t<li class='style2'>$error</li></p>\n";
        }
        $out .= "</ul>\n";
    }
    else
    {    
        $sql = "INSERT INTO gastenboek (id,naam,email,onderwerp,bericht,datum) VALUES ('','".$naam."','".$email."','".$onderwerp."','".$bericht."','".$datum."')";
        $toevoegen = mysql_query($sql);
        header("Loaction: gastenboek.php");
        session_unset($_SESSION['getal1']);
        session_unset($_SESSION['getal2']);
    } 
}
else
{
    rand_getallen();
}
echo $out;
// berichten opslaan een een varialbe
$sql = "SELECT * FROM gastenboek ORDER BY id DESC";
$resultaat = mysql_query($sql);

// berichten uitspugen
while($row = mysql_fetch_assoc($resultaat))
{
    $regel_kleur = ($regel_tellen % 2) ? $regel_kleur_1 : $regel_kleur_2;  
    if (isset($_SESSION['naam']))
    {
        if(isset($_SESSION['kies']))
        {
            $kies = $_SESSION['kies'];
        }
        else
        {
            $kies = "";
        }
        if ($kies == 'verwijderen')
        {
            echo "<form action='?verwijder=".$row['id']."'method='post' >";
            echo "<table border='1' bordercolor='#000000' bgcolor=".$regel_kleur." id='table_post'>";
            echo "<tr><td>";
            echo "</td><td>Dit bericht is gepost ".$row['datum']." </td></tr>";
            echo "<tr><td width='80'>Naam:</td><td>".$row['naam']."</td></tr>";
            echo "<tr><td width='80'>Email:</td><td>".$row['email']."</td></tr>";
            echo "<tr><td width='80'>Onderwerp:</td><td>".$row['onderwerp']."</td></tr>";
            echo "<tr><td>Bericht:</td><td width='700'>".$row['bericht']."</td></tr>";
        	echo '<tr><td>&nbsp;</td><td><input type="submit" name="verwijder" value="verwijder dit bericht!"></td></tr></table>';
        	echo '</form>';
        }
        elseif ($kies == 'normaal' or $kies == '')
        {
            echo "<table border='1' bordercolor='#000000' bgcolor=".$regel_kleur." id='table_post'>";
            echo "<tr><td>";
            echo "</td><td>Dit bericht is gepost ".beveiliging($row['datum'])." </td></tr>";
            echo "<tr><td width='80'>Naam:</td><td>".beveiliging($row['naam'])."</td></tr>";
            echo "<tr><td width='80'>Email:</td><td>".beveiliging($row['email'])."</td></tr>";
            echo "<tr><td width='80'>Onderwerp:</td><td>".beveiliging($row['onderwerp'])."</td></tr>";
            echo "<tr><td>Bericht:</td><td width='700'>".beveiliging($row['bericht'])."</td></tr></table>";
            $regel_tellen ++;
        }
        elseif ($kies == 'bewerken')
        {
            echo "<form action='gastenboek.php' method='post'>";
			echo "<table border='1' bordercolor='#000000' bgcolor=".$regel_kleur." id='table_post'>";
            echo "<tr><td><input type='text' name='id_0' value='".$row['id']."' size='10'/>";
            echo "</td><td>Dit bericht is gepost <input type='text' name='datum_0' value='".$row['datum']."' size='90' /> </td></tr>";
            echo "<tr><td width='80'>Naam:</td><td><input type='text' name='naam_0' value='".$row['naam']."' size='111' /></td></tr>";
            echo "<tr><td width='80'>Email:</td><td><input type='text' name='email_0' value='".$row['email']."' size='111' /></td></tr>";
            echo "<tr><td width='80'>Onderwerp:</td><td><input type='text' name='onderwerp_0' value='".$row['onderwerp']."' size='111' /></td></tr>";
            echo "<tr><td>Bericht:</td><td width='700'><textarea cols='84' rows='8' name='bericht_0'>".$row['bericht']."</textarea></td></tr>";
			echo "<tr><td>&nbsp;</td><td><input type='submit' name='bewerk' value='bewerken' /></td></tr></table>";
			echo "</form>";
            $regel_tellen ++;
        }

    } 
    else 
    {
        echo "<table border='1' bordercolor='#000000' bgcolor=".$regel_kleur." id='table_post'>";
        echo "<tr><td>";
        echo "</td><td>Dit bericht is gepost ".$row['datum']." </td></tr>";
        echo "<tr><td width='80'>Naam:</td><td>".$row['naam']."</td></tr>";
         echo "<tr><td width='80'>Email:</td><td>".$row['email']."</td></tr>";
        echo "<tr><td width='80'>Onderwerp:</td><td>".$row['onderwerp']."</td></tr>";
        echo "<tr><td>Bericht:</td><td width='700'>".$row['bericht']."</td></tr></table>";
        $regel_tellen ++;
    }
}
if (isset($_SESSION['kies']))
{
    unset($_SESSION['kies']);
}
?>
<form action="" method="post" name="formulier">
<table id="table">
    
    <tr><td id="table_td_n">Naam:</td><td id="table_td_i"><input type="text" name="naam" size="111" /></td></tr>
    <tr><td id="table_td_n">Email:</td><td id="table_td_i"><input type="text" name="email" size="111" /></td></tr>
	<tr><td id="table_td_n">Onderwerp:</td><td id="table_td_i"><input type="text" name="onderwerp" size="111" /></td></tr>
    <tr><td id="table_td_n">Bericht:</td><td id="table_td_i"><textarea cols="84" rows="8" name="bericht"></textarea></td></tr>
    <tr><td id="table_td_n"><?php echo $_SESSION['getal1'], ' + ', $_SESSION['getal2']?></td><td id="table_td_i"><input type="text" name="input" size="111" /></td></tr>
    <tr><td id="table_td_n">&nbsp;</td><td id="table_td_i"><input type="submit" name="submit" value="Verzenden"/>
  <input type="reset" name="reset" value="Leegmaken!" /></td></tr></table>
</form>


</div>
</body>
</html>
login.php
<?php
session_start();
/**
 * @author Leon Kuipers
 * @copyright 2011
 */

include 'connectie.php';
include 'function.php';
?>

<html>
<head>
    <title>login</title>
	<link href="gastenboek.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <div></div>
    <?php
    if (isset($_POST['aanmaken']))
    {
        $naam_1 = beveiliging($_POST['naam_1']);
        $pass_1 = beveiliging($_POST['wachtwoord_1']);
        $pass_2 = beveiliging($_POST['wachtwoord_2']);
        $mail_1 = beveiliging($_POST['mail_1']);
        if ($pass_1 != $pass_2)
        {
             $error[] = 'Wachtwoorden komen niet overeen!';
        }
        if ($pass_2 == "")
        {
             $error[] = "wachtword is niet ingevuld!";
        }
        elseif ($pass_1 == "")
        {
             $error[] = 'Wachtwoord  is niet ingevuld!';
        }
        elseif (strlen($pass_1) > 60)
        {
             $error[] = ' De wachtwoord die u gekozen heef is te lang!';
        }
        elseif (strlen($pass_2) > 60)
        {
             $error[] = ' De wachtwoord die u gekozen heef is te lang!';
        }
        if ($naam_1 == "")
        {
             $error[] = 'De gebruikersnaam is niet ingevuld';
        }
        elseif (strlen($naam_1) > 60)
        {
             $error[] = ' De gebruikersnaam die u gekozen heef is te lang!';
        }
        if(strlen($mail_1) > 70)
        {
            $error[] = "U e-mail adres is te lang!";
        }
        elseif($mail_1 == '')
        {
            $error[] = "U moet wel u e-mail ardes in vullen!";
        }
        elseif(checkmail($mail_1) == "false")
        {
            $error[] = "U e-mail adres klopt niet!";
        }
        if(isset($error{0}))
        {
             $aantal = count($error);
             $out = '<p class="style1"> Er trad(en) ' . $aantal . "fout(en) op:\n<ul></p>";
             foreach ($error as $errors)
             {
                 $out .= "\t<li class='style2'>$errors</li></p>\n";
             }
             $out .= "</ul>\n";
               
        }
        else
        {
            $_SESSION['aanmaken'] = "valid";
            $_SESSION['naam_1'] = $naam_1;
            $_SESSION['pass_1'] = $pass_1;
            $_SESSION['mail_1'] = $mail_1;
            header("location:loginver.php");
            
        }
    }

    $query = mysql_query('SELECT * FROM admin');
    $bestaat = mysql_num_rows($query);
    mysql_close($_mysql_verbinding);
    if ($bestaat < 1)
    {
        if (isset($out))
        {
            echo $out;
        }
        elseif (isset($_SESSION['error']))
        {
  
            echo $_SESSION['error'];
        }

        echo
        '<h1> Vul u gegevens in ! <br />
        Ze zijn belangrijk dus onhoud ze goed.</h1><br /><br />
        <form action="" method="post">
        Naam:      <input type="text" name="naam_1" /><br />
        Wachtwoord:<input type="password" name="wachtwoord_1" /><br />
        Wachtwoord herhalen:<input type="password" name="wachtwoord_2" /><br />
        E-mail:<input type="text" name="mail_1" /><br />
        <input type="submit" name="aanmaken" value="Aanmaken!" />
        </form>
        ';
    }
    else
    {
        if (isset($_SESSION['naam'])) 
        {
            header("location:gastenboek.php");
        } 
        else
        {
            if (isset($_SESSION['error']))
            {
            	echo $_SESSION['error']; 
            }
            if(isset($_SESSION['vergeten']))
            {
                if($_SESSION['vergeten'] == "true")
                {
                    
                    
                    if(isset($_SESSION['error_mail']))
                    {
                        if($_SESSION['error_mail'] == 1)
                        {
                            echo "er klopt iets niet";
                            unset($_SESSION['error_mail']);
                        }
                    }
                    ?>
                    
        			<form action="loginver.php" method="post">
        			<table id="table1"><tr><td id="table_td_n">E-mail:</td><td id="table_td_n"><input type="text" name="mail_vergeten_1" /></td></tr>
        			<tr><td id="table_td_n">E-mail:</td><td id="table_td_n"><input type="text" name="mail_vergeten_2" /></td></tr>
        			<tr><td id="table_td_n">&nbsp;</td><td id="table_td_n"><input type="submit" name="mail_vergeten_con" value="Wachtwoord vergeten!" /></td>			</tr></table>
                    <?php
                    unset($_SESSION['vergeten']);
                }
            }
            else
            {
            ?>
            <form action="loginver.php" method="post">
			<table id="table1">
			  <tr><td id="table_td_n">Naam:</td>
			<td id="table_td_n"><input type="text" name="naam" /></td></tr>
			<tr><td id="table_td_n">Wachtwoord:</td><td id="table_td_n"><input type="password" name="passwoord" /></td></tr>
			<tr><td id="table_td_n">&nbsp;</td><td id="table_td_n"><input type="submit" name="submit" value="login"/>
			  <input type="submit" name="vergeten" value="Wachtwoord vergeten" /></td>
			</tr></table>
            </form>
			</table>
            <?php
          }
        }
    }
    ?>
</body>
</html>
loginver.php
<?php

session_start();
/**
 * @author Leon Kuipers
 * @copyright 2011
 */

include "connectie.php";
include "function.php";

if(isset($_POST['submit']))
{
    $naam = beveiliging($_POST['naam']);
    $pass = beveiliging($_POST['passwoord']);
    
    $resultaat = mysql_query("SELECT * FROM admin 
        WHERE gebruikersnaam = '".$naam."' AND wachtwoord = '".$pass."'");
    $tellen = mysql_num_rows($resultaat);
    
    if ($tellen == 1)
    
    {
        $regel = mysql_fetch_assoc($resultaat);
        $_SESSION['naamid'] = $regel['id'];
        $_SESSION['naam'] = $naam;
        $_SESSION['error'] = 'Inloggen ok!</br> Welkom ' . $naam;
         header("location:login.php");
       
    }
    else
    { 
        $_SESSION['error'] = "login mislukt</br>";  
    }
    mysql_close($_mysql_verbinding);
    header("location:login.php");
}
elseif(isset($_POST['vergeten']))
{
    $_SESSION['vergeten'] = "true";
    header("location:login.php");
    echo 1;
}
elseif(isset($_POST['mail_vergeten_con']))
{
    $mail_check_1 = beveiliging($_POST['mail_vergeten_1']);
    $mail_check_2 = beveiliging($_POST['mail_vergeten_2']);
    if ($mail_check_1 == $mail_check_2)
    {
        $mail_check = $mail_check_1;
        $sql_check = mysql_query("SELECT * FROM admin 
            WHERE email = '".$mail_check."'");
        $tel_mail = mysql_num_rows($sql_check);
        
        if ($tel_mail == 1)
        {
            $sql_login = ("SELECT * FROM admin");
            $resultaat_login = mysql_query($sql_login);
            while($row_login = mysql_fetch_assoc($resultaat_login))
            {
                $naam = $row_login['gebruikersnaam'];
                $mail = $row_login['email'];
                $pass = $row_login['wachtwoord'];
                $onderwerp = 'Inloggegevens gastenboek';
                $bercht = "
                Beste ".$naam."<br>
                
                -------Gegevens-------<br>
                
                Naam: ".$naam.".<br>
                Wachtwoord: ".$pass."<br>
                <br>
                M V GR.";
                $headers = "From: Gastenboek < Gastenboek >\r\n";
                mail($mail, $onderwerp, $bericht, $headers);
                $_SESSION['error'] = "De gegevens zijn verzonden naar U mail adres";
                unset($_SESSION['vergeten']);
            }   
        }
        else
        {
            $_SESSION['error_mail'] = "1";
        }
    }
    header("Location:login.php");
}
elseif($_SESSION['aanmaken'] == "valid")
{
    unset($_SESSION['aanmaken']);
    $naam_1 = $_SESSION['naam_1'];
    $pass_1 = $_SESSION['pass_1'];
    $mail_1 = $_SESSION['mail_1'];
    unset($_SESSION['naam_1']);
    unset($_SESSION['pass_1']);
    unset($_SESSION['mail_1']);
    
   if (isset($naam_1) and isset($pass_1) and isset($mail_1))
   {
       $sql = "INSERT INTO admin (id,gebruikersnaam,wachtwoord,email) VALUES ('','".$naam_1."','".$pass_1."','".$mail_1."')";
       $toevoegen = mysql_query($sql);
       $_SESSION['error'] = "U gegevens zijn toegevoegd aan de database!";
        mysql_close($_mysql_verbinding);
   }
   header("location:login.php");
}
else
{
   
      header("location:login.php");
}
?>
loguit.php
<?php
session_start();

/**
 * @author Leon Kuipers
 * @copyright 2011
 */

    $_SESSION['error'] = " ";
    $_SESSION = array();
    if ($_COOKIE[session_name()])
    {
        setcookie(session_name() , '', time()-42000, '/');
    }
    session_destroy();
    
    header("Location: login.php");


?>
gastenboek.css
body
{
	text-align: center;
	min-width: 800px;
	background-color: #66FF00;	
}
#table
{
	border: 2px solid #00cc00;
	background-color: #00ff00;
	width: 780px;
}
#table
{
	border: 2px solid #00cc00;
	background-color: #00ff00;
}
#table_td_n
{
	border: 2px solid #00cc00;
	background-color: #00ff00;
	width: 80px;
}
#table_td_i
{
	border: 2px solid #00cc00;
	background-color: #00ff00;
	width: 700px;
}

#center 
{
	width: 800px;
	margin: 0 auto;
	text-align: center;
}
#table_post
{
    width: 780px;
    border: 2px solid #00cc00;
}
.style1
{
	color: #FF0000;
	font-size: 14px;
	font-style: normal;
	display:block;
	padding: 1px;
	text-align: left;
}
.style2
{
	color: #FF0000;
	font-size: 14px;
	font-style: normal;
	display:block;
	padding: 1px;
	text-align: left;
}
hr
{
	height: 1px;
    border: 0px;
    color: White;
    background-color: White;

}
function.php
<?php
/**
 * @author Leon Kuipers
 * @copyright 2011
 * @filename function.php
 */
function rand_getallen() {
    $_SESSION['getal1'] = rand(1, 10);
    $_SESSION['getal2'] = rand(1, 10);
}
function scheldwoorden($text)
{
    $i = array("***","reet","aars","anus","kloot","dikzak","hoer","slet","teef","gerukt","bef","anaal","neuk","porno","kut",
    "klote","ass","shit","fuck","lul");
    $text = str_replace($i, "^@#%", $text);
    return $text;
}
function beveiliging ($_beveiliging_input){
    $i = $_beveiliging_input;
    $i = trim($i);
    $i = htmlentities($i);
    $i = nl2br($i);
    $i = strip_tags($i);
    $i = stripslashes($i);
    $i = mysql_real_escape_string($i);
    $i = scheldwoorden($i);
    return $i;
}

function checkmail($email)
{
    if(preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email)) 
    {
        $valid = "true";
    }
    else
    {
        $valid = "false";
    }
    return $valid;
}


?>
connectie.php
<?php
/**
 * @author Leon Kuipers
 * @copyright 2011
 * @filename connectie.php
 */

// deze 4 variabelen moet je wijzigen
$_mysql_pass = "";
$_mysql_naam = "root";
$_mysql_host = "localhost";
$_mysql_titl = "gb";

$_mysql_verbinding = mysql_connect($_mysql_host, $_mysql_naam, $_mysql_pass ) or die (mysql_error("Kan geen verbinding maken!"));
mysql_select_db($_mysql_titl, $_mysql_verbinding) or die (mysql_error("Kan de database niet vinden!"));

$sql_tab_1=
"
CREATE TABLE IF NOT EXISTS `gastenboek` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `naam` varchar(50) NOT NULL,
  `email` varchar(70) NOT NULL,
  `onderwerp` varchar(50) NOT NULL,
  `bericht` varchar(500) NOT NULL,
  `datum` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=43 ;
";
$sql_tab_2=
"
CREATE TABLE IF NOT EXISTS `admin` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `gebruikersnaam` varchar(60) NOT NULL,
  `wachtwoord` varchar(60) NOT NULL,
  `email` varchar(70) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;
";
$tab_gastenboek = mysql_query($sql_tab_1, $_mysql_verbinding);
$tab_admin = mysql_query($sql_tab_2, $_mysql_verbinding);
if (!$tab_admin and $tab_gastenboek)
{
    echo "tabels zijn aan de database toegevoegd!";
}
?>

Reacties

0
Nog geen reacties.