ReNS (Rensjuh's NieuwsSysteem) V1.5.6
Auteur: Rens - 22 oktober 2004 - 15:42 - Gekeurd door: Dennisvb - Hits: 24915 - Aantal punten: 4.38 (28 stemmen)
Het nieuwssysteem maakt gebruik van 1 MySQL tabel.
Als er een fout is, in een MySQL query, word dit gemeld door includes/report_mysql.php
De bezoeker krijgt dan een (nette) error te zien, die je zelf in kunt stellen, en de pagina word gestopt.
De error komt dan in mysql_error.log te staan.
Je zult eerst het bestand includes/config.inc.php aan moeten passen. Alle lege velden dien je in te vullen. Het gaat dan om:
$MySQL['host'], $MySQL['user'], $MySQL['pass'], $MySQl['daba'], $admin['username'], $admin['password'], $admin['mailaddr'] en $img['smiles'].
Het voorbeeld en de smilies zal ik zo nog even online zetten.
Ook zet ik dan een download online.
De rest wijst voor zich lijkt me.
Voor vragen kun je me mailen op rensjuh[at]gmail[dot]com
Het systeem bestaat uit de volgende mappen & bestanden:
- nieuwssysteem
lezen.php
overzicht.php
nieuws.php
- admin
form.php
index.php
login.php
logout.php
- classes
class.pagenav.php
ip.php
- functions
text2ubb.php
- includes
config.inc.php
report_mysql.php
- smiles
23 smilies
Veel plezier er mee,
Rensjuh
Owjah, vertel me even wat je ervan vind als je het gebruikt. Vertel er ook meteen bij, wat je vind dat verbeterd moet/kan worden.
V1.5.6
- fix op regel 78 en 80
V1.5.5
- Bestand ip.php toegevoegd
V1.5
- Code aangepast 'De lat ligt hoger'
V1.1
- addslashes() toegevoegd
- stripslashes() toegevoegd
|
Code: |
MySQL tabel
CREATE TABLE nieuws (
id int(11) NOT NULL auto_increment,
titel varchar(255) NOT NULL default '',
door varchar(255) NOT NULL default '',
text text NOT NULL,
datum varchar(10) NOT NULL default '',
tijd varchar(5) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
CREATE TABLE nieuws ( id int(11) NOT NULL auto_increment, titel varchar(255) NOT NULL default '', door varchar(255) NOT NULL default '', text text NOT NULL, datum varchar(10) NOT NULL default '', tijd varchar(5) NOT NULL default '', ) TYPE=MyISAM;
install.php
<?PHP
include("includes/config.inc.php");
$sQuery = "CREATE TABLE nieuws (
id int(11) NOT NULL auto_increment,
titel varchar(255) NOT NULL default '',
door varchar(255) NOT NULL default '',
text text NOT NULL,
datum varchar(10) NOT NULL default '',
tijd varchar(5) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;";
if(!$sResult = MySQL_Query($sQuery))
{
echo "Error!- De query kan niet uitgevoerd worden!";
echo "<BR>";
echo MySQL_Error();
echo "<BR>";
echo MySQL_Errno();
} else
{
echo "Query succesvol uitgevoerd!";
}
?>
<?PHP include("includes/config.inc.php"); $sQuery = "CREATE TABLE nieuws ( id int(11) NOT NULL auto_increment, titel varchar(255) NOT NULL default '', door varchar(255) NOT NULL default '', text text NOT NULL, datum varchar(10) NOT NULL default '', tijd varchar(5) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM;"; { echo "Error!- De query kan niet uitgevoerd worden!"; } else { echo "Query succesvol uitgevoerd!"; } ?>
lezen.php
<?PHP
session_start();
// sessie starten
ERROR_REPORTING(E_ALL);
// error reporting op E_ALL zetten
// voor gebruik kun je het het beste op E_NONE zetten
// voorkomt dat je layout raar gaat doen bij errors
include("includes/config.inc.php");
include("functions/text2ubb.php");
include("classes/class.pagenav.php");
// enkele bestanden includen
// - configuratie bestand
// - functie voor de UBB code
// - class voor de pagina navigatie
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Nieuwssysteem </TITLE>
<META NAME="Author" CONTENT="Rensjuh">
<META NAME="Description" CONTENT="Nieuwssysteem voor scripts library Sitemasters.be">
</HEAD>
<BODY>
<?PHP
if(IsSet($_GET['id']) && is_numeric($_GET['id']))
{
// als id is geset in de url en een nummer is
$iId = $_GET['id'];
// id in de var. iId zetten
$sQuery = "SELECT * FROM nieuws WHERE id='".$iId."'";
// SQL Query maken, nieuwsberichten ophalen waar id gelijk is aan iId
$sResult = MySQL_Query($sQuery) or report_mysql("Nieuws ophalen", __FILE__, __LINE__, $sQuery);
// SQL Query uitvoeren, of wanneer het niet uitgevoerd kan worden, een error printen + de error
// in een bestandje zetten
?>
<Center>
<Table Border='1' BorderColor='#000000' CellPadding='0' CellSpacing='0' Width='500'>
<?PHP
// de while loop beginnen
// zorgt dat het bericht op het scherm gezet word
while($sRecord = MySQL_Fetch_Assoc($sResult))
{
?>
<Tr Width='500'>
<Td Width='500'>
<Div Style='margin-left: 15px;'>
<?PHP
echo $sRecord['titel']." | ".$sRecord['door']." | ".$sRecord['datum']." om ".$sRecord['tijd']."<BR>";
// Titel | door | datum om tijd
?>
</Div>
<Hr Width='500' Color='#000000'>
<Div Style='margin-left: 15px;'>
<?PHP
echo text2ubb($sRecord['text']);
// het bericht, eerst door de text2ubb halen, dan op het scherm zetten
?>
</Div>
</Td>
</Tr>
<?PHP
}
} else
{
?>
<Tr Width='500'>
<Th Width='500'>
Error!- Verkeerde of geen ID nummer!
</Th>
</Tr>
<?PHP
}
?>
<Tr Width='500'>
<Td Width='500'>
<Center>
<A HREF='overzicht.php'>Keer terug</A>
</Center>
</Td>
</Tr>
</Table>
</Center>
</BODY>
</HTML>
<?PHP // sessie starten // error reporting op E_ALL zetten // voor gebruik kun je het het beste op E_NONE zetten // voorkomt dat je layout raar gaat doen bij errors include("includes/config.inc.php"); include("functions/text2ubb.php"); include("classes/class.pagenav.php"); // enkele bestanden includen // - configuratie bestand // - functie voor de UBB code // - class voor de pagina navigatie ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> Nieuwssysteem </TITLE> <META NAME="Author" CONTENT="Rensjuh"> <META NAME="Description" CONTENT="Nieuwssysteem voor scripts library Sitemasters.be"> </HEAD> <BODY> <?PHP { // als id is geset in de url en een nummer is $iId = $_GET['id']; // id in de var. iId zetten $sQuery = "SELECT * FROM nieuws WHERE id='".$iId."'"; // SQL Query maken, nieuwsberichten ophalen waar id gelijk is aan iId $sResult = MySQL_Query($sQuery) or report_mysql ("Nieuws ophalen", __FILE__, __LINE__, $sQuery); // SQL Query uitvoeren, of wanneer het niet uitgevoerd kan worden, een error printen + de error // in een bestandje zetten ?> <Center> <Table Border='1' BorderColor='#000000' CellPadding='0' CellSpacing='0' Width='500'> <?PHP // de while loop beginnen // zorgt dat het bericht op het scherm gezet word { ?> <Tr Width='500'> <Td Width='500'> <Div Style='margin-left: 15px;'> <?PHP echo $sRecord['titel']." | ".$sRecord['door']." | ".$sRecord['datum']." om ".$sRecord['tijd']."<BR>"; // Titel | door | datum om tijd ?> </Div> <Hr Width='500' Color='#000000'> <Div Style='margin-left: 15px;'> <?PHP echo text2ubb ($sRecord['text']); // het bericht, eerst door de text2ubb halen, dan op het scherm zetten ?> </Div> </Td> </Tr> <?PHP } } else { ?> <Tr Width='500'> <Th Width='500'> Error!- Verkeerde of geen ID nummer! </Th> </Tr> <?PHP } ?> <Tr Width='500'> <Td Width='500'> <Center> <A HREF='overzicht.php'>Keer terug</A> </Center> </Td> </Tr> </Table> </Center> </BODY> </HTML>
nieuws.php
<?PHP
session_start();
// sessie starten
ERROR_REPORTING(E_ALL);
// error reporting op E_ALL zetten
// voor gebruik kun je het het beste op E_NONE zetten
// voorkomt dat je layout raar gaat doen bij errors
include("includes/config.inc.php");
include("functions/text2ubb.php");
include("classes/class.pagenav.php");
// enkele bestanden includen
// - configuratie bestand
// - functie voor de UBB code
// - class voor de pagina navigatie
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Nieuwssysteem </TITLE>
<META NAME="Author" CONTENT="Rensjuh">
<META NAME="Description" CONTENT="Nieuwssysteem voor scripts library Sitemasters.be">
</HEAD>
<BODY>
<?PHP
$sQuery = "SELECT * FROM nieuws ORDER BY id DESC LIMIT 0, ".$max['nieuws'];
// SQL Query maken
// Uit 'nieuws' ophalen, de X-aantal laatste berichten
// in te stellen in het configuratie bestand
$sResult = MySQL_Query($sQuery) or report_mysql("Nieuws ophalen", __FILE__, __LINE__, $sQuery);
// SQL Query uitvoeren
// kan hij niet uitgevoerd worden, error maken + in bestand plaatsen
?>
<Center>
<?PHP
while($sRecord = MySQL_Fetch_Assoc($sResult))
{
?>
<Table Border='1' BorderColor='#000000' CellPadding='0' CellSpacing='0' Width='500' style='margin-top: 20px;'>
<Tr Width='500'>
<Td Width='500'>
<Div Style='margin-left: 15px;'>
<?PHP
echo "<A HREF='lezen.php?id=".$sRecord['id']."'>".$sRecord['titel']."</A> | ".$sRecord['door']." | ".$sRecord['datum']." om ".$sRecord['tijd']."<BR>";
// titel | door | datum om tijd
?>
</Div>
<Hr Width='500' Color='#000000'>
<Div Style='margin-left: 15px;'>
<?PHP
echo text2ubb($sRecord['text']);
// haal het bericht eerst door de functie
// text2ubb heen
// daarna met smilies + ubb op het scherm printen
?>
</Div>
</Td>
</Tr>
</Table>
<?PHP
}
?>
<BR>
<Table Border='1' BorderColor='#000000' CellPadding='0' CellSpacing='0' Width='500'>
<Tr Width='500'>
<Td Width='500'>
<Div Style='margin-left: 15px;'>
<?PHP
$iAantal = MySQL_Num_Rows($sResult);
if($iAantal == 0)
{
echo "Er zijn <B>geen</B> nieuwsberichten.<BR>";
} else if($iAantal == 1)
{
echo "Er is <B>1</B> nieuwsbericht.<BR>";
} else
{
echo "Er zijn <B>".$iAantal."</B> nieuwsberichten.<BR>";
}
?>
»<A HREF='overzicht.php' Title='Nieuwsoverzicht'>Nieuwsoverzicht</A>
</Div>
</Td>
</Tr>
</Table>
</Center>
</BODY>
</HTML>
<?PHP // sessie starten // error reporting op E_ALL zetten // voor gebruik kun je het het beste op E_NONE zetten // voorkomt dat je layout raar gaat doen bij errors include("includes/config.inc.php"); include("functions/text2ubb.php"); include("classes/class.pagenav.php"); // enkele bestanden includen // - configuratie bestand // - functie voor de UBB code // - class voor de pagina navigatie ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> Nieuwssysteem </TITLE> <META NAME="Author" CONTENT="Rensjuh"> <META NAME="Description" CONTENT="Nieuwssysteem voor scripts library Sitemasters.be"> </HEAD> <BODY> <?PHP $sQuery = "SELECT * FROM nieuws ORDER BY id DESC LIMIT 0, ".$max['nieuws']; // SQL Query maken // Uit 'nieuws' ophalen, de X-aantal laatste berichten // in te stellen in het configuratie bestand $sResult = MySQL_Query($sQuery) or report_mysql ("Nieuws ophalen", __FILE__, __LINE__, $sQuery); // SQL Query uitvoeren // kan hij niet uitgevoerd worden, error maken + in bestand plaatsen ?> <Center> <?PHP { ?> <Table Border='1' BorderColor='#000000' CellPadding='0' CellSpacing='0' Width='500' style='margin-top: 20px;'> <Tr Width='500'> <Td Width='500'> <Div Style='margin-left: 15px;'> <?PHP echo "<A HREF='lezen.php?id=".$sRecord['id']."'>".$sRecord['titel']."</A> | ".$sRecord['door']." | ".$sRecord['datum']." om ".$sRecord['tijd']."<BR>"; // titel | door | datum om tijd ?> </Div> <Hr Width='500' Color='#000000'> <Div Style='margin-left: 15px;'> <?PHP echo text2ubb ($sRecord['text']); // haal het bericht eerst door de functie // text2ubb heen // daarna met smilies + ubb op het scherm printen ?> </Div> </Td> </Tr> </Table> <?PHP } ?> <BR> <Table Border='1' BorderColor='#000000' CellPadding='0' CellSpacing='0' Width='500'> <Tr Width='500'> <Td Width='500'> <Div Style='margin-left: 15px;'> <?PHP if($iAantal == 0) { echo "Er zijn <B>geen</B> nieuwsberichten.<BR>"; } else if($iAantal == 1) { echo "Er is <B>1</B> nieuwsbericht.<BR>"; } else { echo "Er zijn <B>".$iAantal."</B> nieuwsberichten.<BR>"; } ?> »<A HREF='overzicht.php' Title='Nieuwsoverzicht'>Nieuwsoverzicht</A> </Div> </Td> </Tr> </Table> </Center> </BODY> </HTML>
overzicht.php
<?PHP
session_start();
ERROR_REPORTING(E_ALL);
include("includes/config.inc.php");
include("classes/class.pagenav.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Nieuwssysteem </TITLE>
<META NAME="Author" CONTENT="Rensjuh">
<META NAME="Description" CONTENT="Nieuwssysteem voor scripts library Sitemasters.be">
</HEAD>
<BODY>
<?PHP
// deze query is voor het tellen van het aantal nieuwsberichten
// het word doorgegeven aan classes/class.pagenav.php
// die er vervolgens een pagina navigatie meemaakt.
$sql = "SELECT * FROM nieuws";
$res = MySQL_Query($sql) or report_mysql("Nieuws ophalen", __FILE__, __LINE__, $sql);
$aantal = MySQL_Num_Rows($res);
if(IsSet($_GET['nav']))
{
$nav = $_GET['nav'];
} else
{
$nav = "";
}
$nav = new pagenav ($aantal, $max['overzicht'], $nav, "PageID=1");
$van = $nav->get_startpoint(); // startpunt voor ophalen nieuwsberichten
// deze query is de echte query.
// door deze query worden de nieuwsberichten voor die pagina
// opgehaald. Dus bijv: vanaf 50 worden de volgende 50 opgehaald
$sql = "SELECT * FROM nieuws ORDER BY id DESC LIMIT ".$van.", ".$max['overzicht'];
$res = MySQL_Query($sql) or report_mysql("Nieuws ophalen", __FILE__, __LINE__, $sql);
$num = MySQL_Num_Rows($res);
if ($num > 0)
{
?>
<center>
<Table Border='1' BorderColor='#000000' CellPadding='0' CellSpacing='0' Width='500'>
<Tr Width='500'>
<Td ColSpan='3'>
<div align='center'>
<?PHP
echo $nav->makenav();
?>
</div>
</Td>
</Tr>
<?PHP
while($rec = MySQL_Fetch_Assoc($res))
{
?>
<Tr Width='500'>
<Td Width='50'>
<?PHP
echo $rec['id'];
?>
</Td>
<Td Width='300'>
<?PHP
echo "<A HREF='lezen.php?id=".$rec['id']."'>".$rec['titel']."</A>";
?>
</Td>
<Td Width='150'>
<?PHP
echo "<B>".$rec['datum']."</B> om <B>".$rec['tijd']."</B>";
?>
</Td>
</Tr>
<?PHP
}
?>
</Table>
</center>
<?PHP
}
?>
</BODY>
</HTML>
<?PHP include("includes/config.inc.php"); include("classes/class.pagenav.php"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> Nieuwssysteem </TITLE> <META NAME="Author" CONTENT="Rensjuh"> <META NAME="Description" CONTENT="Nieuwssysteem voor scripts library Sitemasters.be"> </HEAD> <BODY> <?PHP // deze query is voor het tellen van het aantal nieuwsberichten // het word doorgegeven aan classes/class.pagenav.php // die er vervolgens een pagina navigatie meemaakt. $sql = "SELECT * FROM nieuws"; $res = MySQL_Query($sql) or report_mysql ("Nieuws ophalen", __FILE__, __LINE__, $sql); { $nav = $_GET['nav']; } else { $nav = ""; } $nav = new pagenav ($aantal, $max['overzicht'], $nav, "PageID=1"); $van = $nav->get_startpoint(); // startpunt voor ophalen nieuwsberichten // deze query is de echte query. // door deze query worden de nieuwsberichten voor die pagina // opgehaald. Dus bijv: vanaf 50 worden de volgende 50 opgehaald $sql = "SELECT * FROM nieuws ORDER BY id DESC LIMIT ".$van.", ".$max['overzicht']; $res = MySQL_Query($sql) or report_mysql ("Nieuws ophalen", __FILE__, __LINE__, $sql); if ($num > 0) { ?> <center> <Table Border='1' BorderColor='#000000' CellPadding='0' CellSpacing='0' Width='500'> <Tr Width='500'> <Td ColSpan='3'> <div align='center'> <?PHP ?> </div> </Td> </Tr> <?PHP { ?> <Tr Width='500'> <Td Width='50'> <?PHP ?> </Td> <Td Width='300'> <?PHP echo "<A HREF='lezen.php?id=".$rec['id']."'>".$rec['titel']."</A>"; ?> </Td> <Td Width='150'> <?PHP echo "<B>".$rec['datum']."</B> om <B>".$rec['tijd']."</B>"; ?> </Td> </Tr> <?PHP } ?> </Table> </center> <?PHP } ?> </BODY> </HTML>
admin/form.php
<?PHP
session_start();
// sessie starten voor de admin
ERROR_REPORTING(E_ALL);
// error reporting op E_ALL zetten
// voor gebruik kun je het het beste op E_NONE zetten
// voorkomt dat je layout raar gaat doen bij errors
include("../includes/config.inc.php");
// het configuratie bestand includen
?>
<!--
de functie maken voor het klikbaar maken van smilies + ubb knoppen
-->
<script language="JavaScript">
function smile (code){
document.form.bericht.value = document.form.bericht.value + code;
document.form.bericht.focus();
}
</script>
<?PHP
// checken of gebruiker is ingelogd en/of admin is
// niet ingelogd, echo een error
if(!IsSet($_SESSION['login']) || $_SESSION['login'] != TRUE)
{
?>
Error!- Je hebt niet de juiste rechten!
<BR>
<Meta HTTP-Equiv="refresh" Content="3;url=index.php">
<?PHP
} else
{
// wel ingelogd
// checken of er al gesubmit is
// als er nog niet op de knop is geklikt, een formulier laten zien
if(!IsSet($_POST['submit']))
{
?>
<Form Method='POST' Action='form.php' name='form'>
<Tr Width='550'>
<Td Width='150'>
Door:
</Td>
<Td Width='450'>
<Input Type='TEXT' Name='door' style='width: 350px; margin-left: 25px; margin-right: 25px;'>
</Td>
</Tr>
<Tr Width='550'>
<Td Width='150'>
Titel:
</Td>
<Td Width='450'>
<Input Type='TEXT' Name='titel' style='width: 350px; margin-left: 25px;margin-right: 25px;'>
</Td>
</Tr>
<Tr Width='550'>
<Td ColSpan='2'>
<Center>
<Input Type='BUTTON' Name='[b][/b]' Value='[b][/b]' style='width: 99px;' onClick='javascript: smile("[b][/b]");'>
echo "<Input Type='BUTTON' Name='[u][/u]' Value='[u][/u]' style='width: 99px;' onClick='javascript: smile("[u][/u]");'>
<Input Type='BUTTON' Name='[i][/i]' Value='[i][/i]' style='width: 99px;' onClick='javascript: smile("[i][/i]");'>
<Input Type='BUTTON' Name='[email][/email]' Value='[email][/email]' style='width: 99px;' onClick='javascript: smile("[email][/email]");'>
<Input Type='BUTTON' Name='[url][/url]' Value='[url][/url]' style='width: 99px;' onClick='javascript: smile("[url][/url]");'>
</Center>
</Td>
</Tr>
<Tr Width='550'>
<Td ColSpan='2'>
<Center>
<IMG Src='<?PHP echo$img['smiles']; ?>."/icon_arrow.gif' onClick='javascript: smile(":arrow:")'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_biggrin.gif' onClick='javascript: smile(":D");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_confused.gif' onClick='javascript: smile(":S");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_cool.gif' onClick='javascript: smile("8)");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_cry.gif' onClick='javascript: smile(":*(");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_eek.gif' onClick='javascript: smile(":shock:");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_evil.gif' onClick='javascript: smile(":evil:");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_exclaim.gif' onClick='javascript: smile(":!:");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_frown.gif' onClick='javascript: smile("^:(");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_idea.gif' onClick='javascript: smile(":idea:");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_lol.gif' onClick='javascript: smile(":lol:");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_mad.gif' onClick='javascript: smile(":x");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_mrgreen.gif' onClick='javascript: smile(":mrgreen:");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_neutral.gif' onClick='javascript: smile(":|");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_question.gif' onClick='javascript: smile(":?:");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_razz.gif' onClick='javascript: smile(":P");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_redface.gif' onClick='javascript: smile(":oops:");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_rolleyes.gif' onClick='javascript: smile(":roll:");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_sad.gif' onClick='javascript: smile(":(");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_smile.gif' onClick='javascript: smile(":)");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_surprised.gif' onClick='javascript: smile(":o");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_twisted.gif' onClick='javascript: smile(":twisted:");'>
<IMG Src='<?PHP echo$img['smiles']; ?>/icon_wink.gif' onClick='javascript: smile(":wink:");'>
</Center>
</Td>
</Tr>
<Tr Width='550'>
<Td Width='150'>
Bericht:
</Td>
<Td Width='450'>
<Textarea Name='bericht' style='width: 350px; height: 150px; margin-left: 25px;margin-right: 25px;'>
</Textarea>
</Td>
</Tr>
<Tr Width='550'>
<Td ColSpan='2'>
<Input Type='SUBMIT' Name='submit' Value='Submit!' style='width: 100px; margin-left: 25px;margin-right: 25px;'>
</Td>
</Tr>
<?PHP
} else
{
// als er wel gesubmit is alles ophalen + checken
?>
<Tr Width='550'>
<Td ColSpan='2'>
<?PHP
if(!IsSet($_POST['door']) || empty($_POST['door']))
{
// als het veld 'door' niet geset is, of leeg is
?>
Error!- Geen naam ingevuld!
<BR>
<A HREF='javascript:history.go(-1);'>Keer terug!</A>
<?PHP
} else if(!IsSet($_POST['titel']) || empty($_POST['titel']))
{
// als het veld 'titel' niet geset is, of leeg is
?>
Error!- Geen titel ingevuld!
<BR>
<A HREF='javascript:history.go(-1);'>Keer terug!</A>
<?PHP
} else if(!IsSet($_POST['bericht']) || empty($_POST['bericht']))
{
// als het veld 'bericht' niet geset is, of leeg is
?>
Error!- Geen bericht ingevuld!
<BR>
<A HREF='javascript:history.go(-1);'>Keer terug!</A>
<?PHP
} else
{
// als alles goed ingevuld is de SQL Query maken
$sQuery = "INSERT INTO nieuws (id, titel, door, text, datum, tijd) VALUES ('', '".addslashes($_POST['titel'])."', '".addslashes($_POST['door'])."', '".addslashes($_POST['bericht'])."', '".date("d-m-Y")."', '".date("H:i")."')";
$sResult = MySQL_Query($sQuery) or report_mysql("Nieuws invoegen", __FILE__, __LINE__, $sQuery);
// SQL Query uitvoeren, of als hij niet uitgevoerd kan worden een error
// op het scherm zetten
?>
Het nieuwsbericht is succesvol toegevoegd.
<BR>
Klik <A HREF='index.php'>hier</A> om terug te keren naar de beginpagina.
<BR>
Klik <A HREF='logout.php'>hier</A> om uit te loggen.
<?PHP
}
}
}
?>
<?PHP // sessie starten voor de admin // error reporting op E_ALL zetten // voor gebruik kun je het het beste op E_NONE zetten // voorkomt dat je layout raar gaat doen bij errors include("../includes/config.inc.php"); // het configuratie bestand includen ?> <!-- de functie maken voor het klikbaar maken van smilies + ubb knoppen --> <script language="JavaScript"> function smile (code){ document.form.bericht.value = document.form.bericht.value + code; document.form.bericht.focus(); } </script> <?PHP // checken of gebruiker is ingelogd en/of admin is // niet ingelogd, echo een error if(!IsSet($_SESSION['login']) || $_SESSION['login'] != TRUE) { ?> Error!- Je hebt niet de juiste rechten! <BR> <Meta HTTP-Equiv="refresh" Content="3;url=index.php"> <?PHP } else { // wel ingelogd // checken of er al gesubmit is // als er nog niet op de knop is geklikt, een formulier laten zien if(!IsSet($_POST['submit'])) { ?> <Form Method='POST' Action='form.php' name='form'> <Tr Width='550'> <Td Width='150'> Door: </Td> <Td Width='450'> <Input Type='TEXT' Name='door' style='width: 350px; margin-left: 25px; margin-right: 25px;'> </Td> </Tr> <Tr Width='550'> <Td Width='150'> Titel: </Td> <Td Width='450'> <Input Type='TEXT' Name='titel' style='width: 350px; margin-left: 25px;margin-right: 25px;'> </Td> </Tr> <Tr Width='550'> <Td ColSpan='2'> <Center> <Input Type='BUTTON' Name='[b][/b]' Value='[b][/b]' style='width: 99px;' onClick='javascript: smile("[b][/b]");'> echo "<Input Type='BUTTON' Name='[u][/u]' Value='[u][/u]' style='width: 99px;' onClick='javascript: smile("[u][/u]");'> <Input Type='BUTTON' Name='[i][/i]' Value='[i][/i]' style='width: 99px;' onClick='javascript: smile("[i][/i]");'> <Input Type='BUTTON' Name='[email][/email]' Value='[email][/email]' style='width: 99px;' onClick='javascript: smile("[email][/email]");'> <Input Type='BUTTON' Name='[url][/url]' Value='[url][/url]' style='width: 99px;' onClick='javascript: smile("[url][/url]");'> </Center> </Td> </Tr> <Tr Width='550'> <Td ColSpan='2'> <Center> <IMG Src=' <?PHP echo$img['smiles']; ?>."/icon_arrow.gif' onClick='javascript: smile(":arrow:")'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_biggrin.gif' onClick='javascript: smile(":D");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_confused.gif' onClick='javascript: smile(":S");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_cool.gif' onClick='javascript: smile("8)");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_cry.gif' onClick='javascript: smile(":*(");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_eek.gif' onClick='javascript: smile(":shock:");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_evil.gif' onClick='javascript: smile(":evil:");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_exclaim.gif' onClick='javascript: smile(":!:");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_frown.gif' onClick='javascript: smile("^:(");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_idea.gif' onClick='javascript: smile(":idea:");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_lol.gif' onClick='javascript: smile(":lol:");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_mad.gif' onClick='javascript: smile(":x");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_mrgreen.gif' onClick='javascript: smile(":mrgreen:");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_neutral.gif' onClick='javascript: smile(":|");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_question.gif' onClick='javascript: smile(":?:");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_razz.gif' onClick='javascript: smile(":P");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_redface.gif' onClick='javascript: smile(":oops:");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_rolleyes.gif' onClick='javascript: smile(":roll:");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_sad.gif' onClick='javascript: smile(":(");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_smile.gif' onClick='javascript: smile(":)");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_surprised.gif' onClick='javascript: smile(":o");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_twisted.gif' onClick='javascript: smile(":twisted:");'> <IMG Src=' <?PHP echo$img['smiles']; ?>/icon_wink.gif' onClick='javascript: smile(":wink:");'> </Center> </Td> </Tr> <Tr Width='550'> <Td Width='150'> Bericht: </Td> <Td Width='450'> <Textarea Name='bericht' style='width: 350px; height: 150px; margin-left: 25px;margin-right: 25px;'> </Textarea> </Td> </Tr> <Tr Width='550'> <Td ColSpan='2'> <Input Type='SUBMIT' Name='submit' Value='Submit!' style='width: 100px; margin-left: 25px;margin-right: 25px;'> </Td> </Tr> <?PHP } else { // als er wel gesubmit is alles ophalen + checken ?> <Tr Width='550'> <Td ColSpan='2'> <?PHP if(!IsSet($_POST['door']) || empty($_POST['door'])) { // als het veld 'door' niet geset is, of leeg is ?> Error!- Geen naam ingevuld! <BR> <A HREF='javascript:history.go(-1);'>Keer terug!</A> <?PHP } else if(!IsSet($_POST['titel']) || empty($_POST['titel'])) { // als het veld 'titel' niet geset is, of leeg is ?> Error!- Geen titel ingevuld! <BR> <A HREF='javascript:history.go(-1);'>Keer terug!</A> <?PHP } else if(!IsSet($_POST['bericht']) || empty($_POST['bericht'])) { // als het veld 'bericht' niet geset is, of leeg is ?> Error!- Geen bericht ingevuld! <BR> <A HREF='javascript:history.go(-1);'>Keer terug!</A> <?PHP } else { // als alles goed ingevuld is de SQL Query maken $sQuery = "INSERT INTO nieuws (id, titel, door, text, datum, tijd) VALUES ('', '".addslashes($_POST['titel'])."', '".addslashes($_POST['door'])."', '".addslashes($_POST['bericht'])."', '".date("d-m-Y")."', '".date("H:i")."')"; $sResult = MySQL_Query($sQuery) or report_mysql ("Nieuws invoegen", __FILE__, __LINE__, $sQuery); // SQL Query uitvoeren, of als hij niet uitgevoerd kan worden een error // op het scherm zetten ?> Het nieuwsbericht is succesvol toegevoegd. <BR> Klik <A HREF='index.php'>hier</A> om terug te keren naar de beginpagina. <BR> Klik <A HREF='logout.php'>hier</A> om uit te loggen. <?PHP } } } ?>
admin/index.php
<?PHP
session_start();
// sessie starten voor de admin
ERROR_REPORTING(E_ALL);
// error reporting op E_ALL zetten
// voor gebruik kun je het het beste op E_NONE zetten
// voorkomt dat je layout raar gaat doen bij errors
include("../classes/ip.php");
$ip = new ip;
$ipadres = $ip->GetIP();
// class includen voor het achterhalen van IP adres
?>
<Center>
<Table Border='1' BorderColor='#000000' CellPadding='2' CellSpacing='2' Width='500'>
<?PHP
if(!IsSet($_SESSION['username']))
{
// als de username nog niet geset is in de sessie
// het inlog formulier includen
include("login.php");
} else if(IsSet($_SESSION['username']))
{
// als hij wel geset is, checken of de user niet probeert
// om de sessie van een admin te stelen
if(IsSet($_SESSION['ipad']))
{
// als het ip adres is geset in de sessie
if($_SESSION['ipad'] == $ipadres)
{
// en het ip adres van de gebruiker hetzelfde is
// een formulier laten zien om een nieuwsbericht
// toe te voegen in de database
include("form.php");
?>
<Tr Width='500'>
<Td ColSpan='2'>
<A HREF='logout.php'>Uitloggen</A>
</Td>
</Tr>
<?PHP
} else
{
// als het ip adres niet hetzelfde is
// een error laten zien
?>
<Tr Width='500'>
<Td ColSpan='2'>
Hack poging!
</Td>
</Tr>
<?PHP
}
exit;
}
}
?>
</Table>
<?PHP // sessie starten voor de admin // error reporting op E_ALL zetten // voor gebruik kun je het het beste op E_NONE zetten // voorkomt dat je layout raar gaat doen bij errors include("../classes/ip.php"); $ip = new ip; $ipadres = $ip->GetIP(); // class includen voor het achterhalen van IP adres ?> <Center> <Table Border='1' BorderColor='#000000' CellPadding='2' CellSpacing='2' Width='500'> <?PHP if(!IsSet($_SESSION['username'])) { // als de username nog niet geset is in de sessie // het inlog formulier includen include("login.php"); } else if(IsSet($_SESSION['username'])) { // als hij wel geset is, checken of de user niet probeert // om de sessie van een admin te stelen if(IsSet($_SESSION['ipad'])) { // als het ip adres is geset in de sessie if($_SESSION['ipad'] == $ipadres) { // en het ip adres van de gebruiker hetzelfde is // een formulier laten zien om een nieuwsbericht // toe te voegen in de database include("form.php"); ?> <Tr Width='500'> <Td ColSpan='2'> <A HREF='logout.php'>Uitloggen</A> </Td> </Tr> <?PHP } else { // als het ip adres niet hetzelfde is // een error laten zien ?> <Tr Width='500'> <Td ColSpan='2'> Hack poging! </Td> </Tr> <?PHP } } } ?> </Table>
admin/login.php
<?PHP
session_start();
// sessie starten voor de admin
include("../includes/config.inc.php");
// het configuratie bestand includen
// hier kan het script enkele gegevens uit ophalen
// in dit script de username + password van de admin
ERROR_REPORTING(E_ALL);
// error reporting op E_ALL zetten
// voor gebruik kun je het het beste op E_NONE zetten
// voorkomt dat je layout raar gaat doen bij errors
if(IsSet($_SESSION['username']))
{
?>
<Meta HTTP-Equiv=\"refresh\" Content=\"0;Url=index.php\">
<?PHP
} else
{
if(!IsSet($_POST['submit']))
{
?>
<Form Method='POST' Action='<?PHP echo $_SERVER['PHP_SELF']; ?>'>
<Tr Width='500'>
<Td Width='150'>
Username:
</Td>
<Td Width='400'>
<Input Type='TEXT' Name='username' style='width: 350px; margin-left: 25px;margin-right: 25px;'>
</Td>
</Tr>
<Tr Width='500'>
<Td Width='150'>
Password:
</Td>
<Td Width='400'>
<Input Type='PASSWORD' Name='password' style='width: 350px; margin-left: 25px;margin-right: 25px;'>
</Td>
</Tr>
<Tr Width='500'>
<Td ColSpan='2'>
<Center>
<Input Type='SUBMIT' Name='submit' Value='Login!' style='width: 100px; margin-left: 25px;margin-right: 25px;'>
</Center>
</Td>
</Tr>
<?PHP
} else
{
?>
<Tr Width='500'>
<Td Width='500'>
<?PHP
if(!IsSet($_POST['username']) || empty($_POST['password']))
{
?>
Error!- Geen username!
<BR>
<A HREF='javascript:history.go(-1);'>Keer terug!</A>
<?PHP
} else if(!IsSet($_POST['password']) || empty($_POST['password']))
{
?>
Error!- Geen username!
<BR>
<A HREF='javascript:history.go(-1);'>Keer terug!</A>
<?PHP
} else if($_POST['username'] == $admin['username'] && $_POST['password'] == $admin['password'])
{
$_SESSION['login'] = TRUE;
$_SESSION['username'] = $_POST['username'];
$_SESSION['ipad'] = $_SERVER['REMOTE_ADDR'];
?>
Je bent succesvol ingelogd!
<Meta HTTP-Equiv=\"refresh\" Content=\"3;Url=index.php\">
<?PHP
} else
{
?>
Error!- Kan niet inloggen!
<BR>
Verkeerde username + wachtwoord combinatie!
<?PHP
}
?>
</Td>
</Tr>
<?PHP
}
}
?>
<?PHP // sessie starten voor de admin include("../includes/config.inc.php"); // het configuratie bestand includen // hier kan het script enkele gegevens uit ophalen // in dit script de username + password van de admin // error reporting op E_ALL zetten // voor gebruik kun je het het beste op E_NONE zetten // voorkomt dat je layout raar gaat doen bij errors if(IsSet($_SESSION['username'])) { ?> <Meta HTTP-Equiv=\"refresh\" Content=\"0;Url=index.php\"> <?PHP } else { if(!IsSet($_POST['submit'])) { ?> <Form Method='POST' Action=' <?PHP echo $_SERVER['PHP_SELF']; ?>'> <Tr Width='500'> <Td Width='150'> Username: </Td> <Td Width='400'> <Input Type='TEXT' Name='username' style='width: 350px; margin-left: 25px;margin-right: 25px;'> </Td> </Tr> <Tr Width='500'> <Td Width='150'> Password: </Td> <Td Width='400'> <Input Type='PASSWORD' Name='password' style='width: 350px; margin-left: 25px;margin-right: 25px;'> </Td> </Tr> <Tr Width='500'> <Td ColSpan='2'> <Center> <Input Type='SUBMIT' Name='submit' Value='Login!' style='width: 100px; margin-left: 25px;margin-right: 25px;'> </Center> </Td> </Tr> <?PHP } else { ?> <Tr Width='500'> <Td Width='500'> <?PHP if(!IsSet($_POST['username']) || empty($_POST['password'])) { ?> Error!- Geen username! <BR> <A HREF='javascript:history.go(-1);'>Keer terug!</A> <?PHP } else if(!IsSet($_POST['password']) || empty($_POST['password'])) { ?> Error!- Geen username! <BR> <A HREF='javascript:history.go(-1);'>Keer terug!</A> <?PHP } else if($_POST['username'] == $admin['username'] && $_POST['password'] == $admin['password']) { $_SESSION['login'] = TRUE; $_SESSION['username'] = $_POST['username']; $_SESSION['ipad'] = $_SERVER['REMOTE_ADDR']; ?> Je bent succesvol ingelogd! <Meta HTTP-Equiv=\"refresh\" Content=\"3;Url=index.php\"> <?PHP } else { ?> Error!- Kan niet inloggen! <BR> Verkeerde username + wachtwoord combinatie! <?PHP } ?> </Td> </Tr> <?PHP } } ?>
admin/logout.php
<?PHP
session_start();
// sessie starten voor de admin
ERROR_REPORTING(E_ALL);
// error reporting op E_ALL zetten
// voor gebruik kun je het het beste op E_NONE zetten
// voorkomt dat je layout raar gaat doen bij errors
if(!IsSet($_SESSION['login']) || $_SESSION['login'] != TRUE)
{
?>
Error!- Je bent niet ingelogd!
<BR>
<Meta HTTP-Equiv=\"refresh\" Content=\"3;url=../nieuws.php\">
<?PHP
} else
{
session_unset();
session_destroy();
?>
Je bent succesvol uitgelogd!
<BR>
<Meta HTTP-Equiv=\"refresh\" Content=\"3;url=../nieuws.php\">
<?PHP
}
?>
<?PHP // sessie starten voor de admin // error reporting op E_ALL zetten // voor gebruik kun je het het beste op E_NONE zetten // voorkomt dat je layout raar gaat doen bij errors if(!IsSet($_SESSION['login']) || $_SESSION['login'] != TRUE) { ?> Error!- Je bent niet ingelogd! <BR> <Meta HTTP-Equiv=\"refresh\" Content=\"3;url=../nieuws.php\"> <?PHP } else { ?> Je bent succesvol uitgelogd! <BR> <Meta HTTP-Equiv=\"refresh\" Content=\"3;url=../nieuws.php\"> <?PHP } ?>
classes/class.pagenav.php
<?PHP
class pagenav
{
function pagenav ($totaal, $perpage, $current, $linkstart)
{
/*
$totaal = Totaal aantal items (mysql_num_rows)
$perpage = Het max. aantal items per pagina
$current = Is de huidige $nav pagina (?nav=2 oid)
$linkstart = Is wat achter de ? en voor &nav= staat. Voorbeeld: $linkstart = "PageID=1&Mail=ja&Skin=1";
*/
$this->totaal = $totaal;
$this->perpage = $perpage;
if (!$current > 0) $current = 1;
$this->current = $current;
$this->linkstart = $linkstart;
}
function get_startpoint ()
{
/*
Met deze functie krijg je een getal terug wat je voor LIMIT $getal, $aantal kan gebruiken.
*/
$p = $this->current - 1;
$r = $p * $this->perpage;
return $r;
}
function makenav ()
{
/*
Deze functie maakt het pagina navigatie menu
Hij geeft een string terug met daarin: Vorige | 1 | 2 | 3 | 4 | Volgende
*/
$this->pages = $this->totaal / $this->perpage;
$this->pages = ceil($this->pages);
for ($i = 1; $i < $this->pages + 1; $i++)
{
if ($this->current == $i)
{
$nav[] = "<B>".$i."</B>";
}
else
{
$nav[] = "<a href='?" . $this->linkstart . "&nav=" . $i . "'>".$i."</a>";
}
}
if ($this->current != 1)
{
array_unshift($nav, "<a href='?" . $this->linkstart . "&nav=" . ($this->current - 1) . "'>Vorige</a>");
}
else
{
array_unshift($nav, "Vorige");
}
if ($this->current < $this->pages)
{
$nav[] = "<a href='?" . $this->linkstart . "&nav=" . ($this->current + 1) . "'>Volgende</a>";
}
else
{
$nav[] = "Volgende";
}
$nav = implode (" | ", $nav);
return $nav;
}
}
?>
<?PHP class pagenav { function pagenav ($totaal, $perpage, $current, $linkstart) { /* $totaal = Totaal aantal items (mysql_num_rows) $perpage = Het max. aantal items per pagina $current = Is de huidige $nav pagina (?nav=2 oid) $linkstart = Is wat achter de ? en voor &nav= staat. Voorbeeld: $linkstart = "PageID=1&Mail=ja&Skin=1"; */ $this->totaal = $totaal; $this->perpage = $perpage; if (!$current > 0) $current = 1; $this->current = $current; $this->linkstart = $linkstart; } function get_startpoint () { /* Met deze functie krijg je een getal terug wat je voor LIMIT $getal, $aantal kan gebruiken. */ $p = $this->current - 1; $r = $p * $this->perpage; return $r; } function makenav () { /* Deze functie maakt het pagina navigatie menu Hij geeft een string terug met daarin: Vorige | 1 | 2 | 3 | 4 | Volgende */ $this->pages = $this->totaal / $this->perpage; $this->pages = ceil($this->pages); for ($i = 1; $i < $this->pages + 1; $i++) { if ($this->current == $i) { $nav[] = "<B>".$i."</B>"; } else { $nav[] = "<a href='?" . $this->linkstart . "&nav=" . $i . "'>".$i."</a>"; } } if ($this->current != 1) { array_unshift($nav, "<a href='?" . $this->linkstart . "&nav=" . ($this->current - 1) . "'>Vorige</a>"); } else { } if ($this->current < $this->pages) { $nav[] = "<a href='?" . $this->linkstart . "&nav=" . ($this->current + 1) . "'>Volgende</a>"; } else { $nav[] = "Volgende"; } return $nav; } } ?>
classes/ip.php
<?PHP
class ip
{
function getIp()
{
if(getenv("HTTP_X_FORWARDED_FOR"))
{
$ip = getenv("HTTP_X_FORWARDED_FOR");
} elseif(getenv("HTTP_CLIENT_IP"))
{
$ip = getenv("HTTP_CLIENT_IP");
} else
{
$ip = $_SERVER["REMOTE_ADDR"];
}
return $ip;
}
}
?>
<?PHP class ip { function getIp() { if(getenv("HTTP_X_FORWARDED_FOR")) { $ip = getenv("HTTP_X_FORWARDED_FOR"); } elseif(getenv("HTTP_CLIENT_IP")) { $ip = getenv("HTTP_CLIENT_IP"); } else { $ip = $_SERVER["REMOTE_ADDR"]; } return $ip; } } ?>
functions/text2ubb.php
<?PHP
function text2ubb ($text)
{
global $img;
// \n ==> <BR>
$text = nl2br($text);
// Bold, Underline & Italic maken
$text = preg_replace("/\[b\][\n\r]*(.*?)\[\/b\]/is",'<b>\\1</b>', $text);
$text = preg_replace("/\[u\][\n\r]*(.*?)\[\/u\]/is",'<u>\\1</u>', $text);
$text = preg_replace("/\[i\][\n\r]*(.*?)\[\/i\]/is",'<i>\\1</i>', $text);
// http:// links maken
$text = eregi_replace("\[url\][[:space:]]*(http://)?([^\\[]*)[[:space:]]*\[/url\]","<a href=\"http://\\2\" target=\"_blank\">http://\\2</a>", $text);
$text = eregi_replace("\\[url=(http://)?([^\\[]*)\\][[:space:]]*([^\\[]*)[[:space:]]*\\[/url\\]","<a href=\"http://\\2\" target=\"_blank\">\\3</a>", $text);
// email links maken
$text = preg_replace("#(\[email\])(.*)(\[\/email\])#i","<a href=\"mailto:\\2\">\\2</a>", $text);
$text = eregi_replace("\\[email=([\\[a-zA-Z0-9.@:]*)\\]([^\\[]*)", "<a href='mailto:\\1'>\\2</A>",$text);
$text = preg_replace("#(^|[ \n\r\t])([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+)#i", "\\1<a href='mailto:\\2@\\3'>\\2@\\3</a>", $text);
$text = str_replace("[/email]", "</A>", $text);
// auto. links genereren
$text = preg_replace("#(^|[ \n\r\t])www.([a-z\-0-9]+).([a-z]{2,4})($|[ \n\r\t])#i", "\\1<a href=\"http://www.\\2.\\3\" target=\"_blank\">www.\\2.\\3</a>\\4", $text);
// FTP://, HTTP://, HTTPS:// links maken
$text = preg_replace("#(^|[ \n\r\t])(((ftp://)|(http://)|(https://))([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]+))#i", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $text);
// Smilies maken
$text = str_replace(":arrow:", "<img src='".$img['smiles']."/icon_arrow.gif'>", $text);
$text = str_replace(":D", "<img src='".$img['smiles']."/icon_biggrin.gif'>", $text);
$text = str_replace(":S", "<img src='".$img['smiles']."/icon_confused.gif'>", $text);
$text = str_replace("8)", "<img src='".$img['smiles']."/icon_cool.gif'>", $text);
$text = str_replace(":*(", "<img src='".$img['smiles']."/icon_cry.gif'>", $text);
$text = str_replace(":shock:", "<img src='".$img['smiles']."/icon_eek.gif'>", $text);
$text = str_replace(":evil:", "<img src='".$img['smiles']."/icon_evil.gif'>", $text);
$text = str_replace(":!:", "<img src='".$img['smiles']."/icon_exclaim.gif'>", $text);
$text = str_replace("^:(", "<img src='".$img['smiles']."/icon_frown.gif'>", $text);
$text = str_replace(":idea:", "<img src='".$img['smiles']."/icon_idea.gif'>", $text);
$text = str_replace(":lol:", "<img src='".$img['smiles']."/icon_lol.gif'>", $text);
$text = str_replace(":x", "<img src='".$img['smiles']."/icon_mad.gif'>", $text);
$text = str_replace(":mrgreen:", "<img src='".$img['smiles']."/icon_mrgreen.gif'>", $text);
$text = str_replace(":|", "<img src='".$img['smiles']."/icon_neutral.gif'>", $text);
$text = str_replace(":?", "<img src='".$img['smiles']."/icon_question.gif'>", $text);
$text = str_replace(":P", "<img src='".$img['smiles']."/icon_razz.gif'>", $text);
$text = str_replace(":oops:", "<img src='".$img['smiles']."/icon_redface.gif'>", $text);
$text = str_replace(":roll:", "<img src='".$img['smiles']."/icon_rolleyes.gif'>", $text);
$text = str_replace(":(", "<img src='".$img['smiles']."/icon_sad.gif'>", $text);
$text = str_replace(":)", "<img src='".$img['smiles']."/icon_smile.gif'>", $text);
$text = str_replace(":o", "<img src='".$img['smiles']."/icon_surprised.gif'>", $text);
$text = str_replace(":twisted:", "<img src='".$img['smiles']."/icon_twisted.gif'>", $text);
$text = str_replace(":wink:", "<img src='".$img['smiles']."/icon_wink.gif'>", $text);
echo $text;
}
?>
<?PHP function text2ubb ($text) { // \n ==> <BR> // Bold, Underline & Italic maken $text = preg_replace("/\[b\][\n\r]*(.*?)\[\/b\]/is",'<b>\\1</b>', $text); $text = preg_replace("/\[u\][\n\r]*(.*?)\[\/u\]/is",'<u>\\1</u>', $text); $text = preg_replace("/\[i\][\n\r]*(.*?)\[\/i\]/is",'<i>\\1</i>', $text); // http:// links maken $text = eregi_replace("\[url\][[:space:]]*(http://)?([^\\[]*)[[:space:]]*\[/url\]","<a href=\"http://\\2\" target=\"_blank\">http://\\2</a>", $text); $text = eregi_replace("\\[url=(http://)?([^\\[]*)\\][[:space:]]*([^\\[]*)[[:space:]]*\\[/url\\]","<a href=\"http://\\2\" target=\"_blank\">\\3</a>", $text); // email links maken $text = preg_replace("#(\[email\])(.*)(\[\/email\])#i","<a href=\"mailto:\\2\">\\2</a>", $text); $text = eregi_replace("\\[email=([\\[a-zA-Z0-9.@:]*)\\]([^\\[]*)", "<a href='mailto:\\1'>\\2</A>",$text); $text = preg_replace("#(^|[ \n\r\t])([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+)#i", "\\1<a href='mailto:\\2@\\3'>\\2@\\3</a>", $text); // auto. links genereren $text = preg_replace("#(^|[ \n\r\t])www.([a-z\-0-9]+).([a-z]{2,4})($|[ \n\r\t])#i", "\\1<a href=\"http://www.\\2.\\3\" target=\"_blank\">www.\\2.\\3</a>\\4", $text); // FTP://, HTTP://, HTTPS:// links maken $text = preg_replace("#(^|[ \n\r\t])(((ftp://)|(http://)|(https://))([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]+))#i", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $text); // Smilies maken $text = str_replace(":arrow:", "<img src='".$img['smiles']."/icon_arrow.gif'>", $text); $text = str_replace(":D", "<img src='".$img['smiles']."/icon_biggrin.gif'>", $text); $text = str_replace(":S", "<img src='".$img['smiles']."/icon_confused.gif'>", $text); $text = str_replace("8)", "<img src='".$img['smiles']."/icon_cool.gif'>", $text); $text = str_replace(":*(", "<img src='".$img['smiles']."/icon_cry.gif'>", $text); $text = str_replace(":shock:", "<img src='".$img['smiles']."/icon_eek.gif'>", $text); $text = str_replace(":evil:", "<img src='".$img['smiles']."/icon_evil.gif'>", $text); $text = str_replace(":!:", "<img src='".$img['smiles']."/icon_exclaim.gif'>", $text); $text = str_replace("^:(", "<img src='".$img['smiles']."/icon_frown.gif'>", $text); $text = str_replace(":idea:", "<img src='".$img['smiles']."/icon_idea.gif'>", $text); $text = str_replace(":lol:", "<img src='".$img['smiles']."/icon_lol.gif'>", $text); $text = str_replace(":x", "<img src='".$img['smiles']."/icon_mad.gif'>", $text); $text = str_replace(":mrgreen:", "<img src='".$img['smiles']."/icon_mrgreen.gif'>", $text); $text = str_replace(":|", "<img src='".$img['smiles']."/icon_neutral.gif'>", $text); $text = str_replace(":?", "<img src='".$img['smiles']."/icon_question.gif'>", $text); $text = str_replace(":P", "<img src='".$img['smiles']."/icon_razz.gif'>", $text); $text = str_replace(":oops:", "<img src='".$img['smiles']."/icon_redface.gif'>", $text); $text = str_replace(":roll:", "<img src='".$img['smiles']."/icon_rolleyes.gif'>", $text); $text = str_replace(":(", "<img src='".$img['smiles']."/icon_sad.gif'>", $text); $text = str_replace(":)", "<img src='".$img['smiles']."/icon_smile.gif'>", $text); $text = str_replace(":o", "<img src='".$img['smiles']."/icon_surprised.gif'>", $text); $text = str_replace(":twisted:", "<img src='".$img['smiles']."/icon_twisted.gif'>", $text); $text = str_replace(":wink:", "<img src='".$img['smiles']."/icon_wink.gif'>", $text); } ?>
includes/config.inc.php
<?PHP
include("report_mysql.php");
// ================ MySQL Gegevens -Begin- ================ \\
// Pas het onderstaande aan naar jou MySQL gegevens
$MySQL['host'] = ""; // Je MySQL host
$MySQL['user'] = ""; // Je MySQL username
$MySQL['pass'] = ""; // Je MySQL password
$MySQL['daba'] = ""; // Je MySQL database
$MySQL['conn'] = MySQL_Connect($MySQL['host'], $MySQL['user'], $MySQL['pass']) or report_mysql("Verbinding maken", __FILE__, __LINE__, $MySQL['conn']);
$MySQL['sele'] = MySQL_Select_DB($MySQL['daba']) or report_mysql("Database selecteren", __FILE__, __LINE__, $MySQL['sele']);
// ================ MySQL Gegevens -Einde- ================ \\
// ================ Admin Gegevens -Begin- ================ \\
$admin['username'] = ""; // Je admin username
$admin['password'] = ""; // Je admin password
$admin['mailaddr'] = ""; // Je admin email adres
// ================ Admin Gegevens -Einde- ================ \\
// ================ Images Gegevens -Begin- ================ \\
$img['smiles'] = "smiles"; // Je path naar je smiles !!! ZONDER end-slash !!!
// ================ Images Gegevens -Einde- ================ \\
$max['overzicht'] = 50; // Max. aantal berichten per pagina op overzicht.php
$max['nieuws'] = 3; // Max. aantal berichten op nieuws.php
?>
<?PHP include("report_mysql.php"); // ================ MySQL Gegevens -Begin- ================ \\ // Pas het onderstaande aan naar jou MySQL gegevens $MySQL['host'] = ""; // Je MySQL host $MySQL['user'] = ""; // Je MySQL username $MySQL['pass'] = ""; // Je MySQL password $MySQL['daba'] = ""; // Je MySQL database $MySQL['conn'] = MySQL_Connect($MySQL['host'], $MySQL['user'], $MySQL['pass']) or report_mysql ("Verbinding maken", __FILE__, __LINE__, $MySQL['conn']); $MySQL['sele'] = MySQL_Select_DB($MySQL['daba']) or report_mysql ("Database selecteren", __FILE__, __LINE__, $MySQL['sele']); // ================ MySQL Gegevens -Einde- ================ \\ // ================ Admin Gegevens -Begin- ================ \\ $admin['username'] = ""; // Je admin username $admin['password'] = ""; // Je admin password $admin['mailaddr'] = ""; // Je admin email adres // ================ Admin Gegevens -Einde- ================ \\ // ================ Images Gegevens -Begin- ================ \\ $img['smiles'] = "smiles"; // Je path naar je smiles !!! ZONDER end-slash !!! // ================ Images Gegevens -Einde- ================ \\ $max['overzicht'] = 50; // Max. aantal berichten per pagina op overzicht.php $max['nieuws'] = 3; // Max. aantal berichten op nieuws.php ?>
includes/report_mysql.php
<?PHP
function report_mysql($functie, $file, $line, $sql)
{
global $admin;
// Error setten die de user te zien krijgt
$error = "Sorry, maar er is een onverwachte fout in de database opgetreden.<BR>";
$error .= "Neem a.u.b. contact op met <A HREF='mailto:".$admin['mailaddr']."'>".$admin['username']."</A>";
// MySQL Error ophalen
$mysql_error = MySQL_Error();
// Datum + tijd setten
$date = date("d-m-Y");
$tijd = date("H:i");
// file openen
if(!$fp = fopen("mysql_error.log", "a+"))
{
?>
Error!- Kan het logbestand niet openen!<BR>
<?PHP
} else
{
// de code zetten om de error + informatie naar
// het bestand mysql_error.log te schrijven
// het bestand zal in de map komen te staan waar het
// opgevraagd word
// als het op de index word opgevraagd, zal het bestand
// in dezelfde map komen te staan als waar de index in staat
fputs($fp, "SQL Error!\n");
fputs($fp, "Datum: ".$date."\n");
fputs($fp, "Tijd: ".$tijd."\n");
fputs($fp, "De functie: ".$functie."\n");
fputs($fp, "Het bestand: ".$file."\n");
fputs($fp, "Regelnummer: ".$line."\n");
fputs($fp, "SQL Error: ".$mysql_error."\n");
fputs($fp, "SQL Query: ".$sql."\n");
fputs($fp, "================================\n\n");
}
// de error op het scherm zetten
echo $error;
// zorgen dat het script afbreekt
exit;
}
?>
<?PHP function report_mysql($functie, $file, $line, $sql) { // Error setten die de user te zien krijgt $error = "Sorry, maar er is een onverwachte fout in de database opgetreden.<BR>"; $error .= "Neem a.u.b. contact op met <A HREF='mailto:".$admin['mailaddr']."'>".$admin['username']."</A>"; // MySQL Error ophalen // Datum + tijd setten // file openen if(!$fp = fopen("mysql_error.log", "a+")) { ?> Error!- Kan het logbestand niet openen!<BR> <?PHP } else { // de code zetten om de error + informatie naar // het bestand mysql_error.log te schrijven // het bestand zal in de map komen te staan waar het // opgevraagd word // als het op de index word opgevraagd, zal het bestand // in dezelfde map komen te staan als waar de index in staat fputs($fp, "SQL Error!\n"); fputs($fp, "Datum: ".$date."\n"); fputs($fp, "Tijd: ".$tijd."\n"); fputs($fp, "De functie: ".$functie."\n"); fputs($fp, "Het bestand: ".$file."\n"); fputs($fp, "Regelnummer: ".$line."\n"); fputs($fp, "SQL Error: ".$mysql_error."\n"); fputs($fp, "SQL Query: ".$sql."\n"); fputs($fp, "================================\n\n"); } // de error op het scherm zetten // zorgen dat het script afbreekt } ?>
Download code (.txt)
|
|
|
Stemmen |
Niet ingelogd. |
|