PDA

View Full Version : Super Simple Guest book, / Dj request etc script



Mentor
21-02-2005, 08:12 PM
Ok i made this script so i could easy update my usless infomtion archive.
Plus as a few people have been asking for a similar i posted it here.
Its highly customible. and runs of flat files, so all you need is php support o your host. it's pretty simple, athogh now has some advanced funcinality



fetures
Amount to show per page.
ordering, show newsits at top or bottom
Word filter
Ip Banning
multiple config options

The whole script needs 3 pages.

send.php (you can reaname if you wnat)
useinfo.php
data.txt

Send.php



<?php
// Config

$Lines = file("data.txt"); //file to get data form
$max = 10; //Enteries to show
$what = "Guest Book"; // what is it, guest book, dj request etc?
$mail = "[email protected]"; // Admin eamil

sort($Lines); // remove if you wnat the newist one shown at bottom
$t = 100 - sizeof($Lines) ; //set to 999 to be able to hold more entries.



// Banned Ip list

$banned_ip = array();
$banned_ip[] = '00.00.000.001'; //To Ban an ip simply ad another one of these but with the ip you wish to ban
//$banned_ip[] = '00.00.000.002'; // for exsample. just without the comments


foreach($banned_ip as $banned) {
$ip = $_SERVER['REMOTE_ADDR'];
if($ip == $banned){
echo "<b>You Have Been Baned From Useing this "; echo $what ; echo ". if you think this was an accidnt eamil me at "; echo $mail ; echo "</b>";
}
}

if ( $ip !==$banned)
{

// start form

Echo '<form name="form" method="post" action="useinfo.php">
Name :
<input type="text" name="name">
<br>
Email :
<input type="text" name="email">
<br>
Message :
<input type="text" name="message">
<input type="hidden" name="num" value="';echo($t);echo'">
<br>
<input type="submit" name="Submit"
value="Submit">
</p>';

// end form



echo '<br><b>';
echo 'The last ';
echo ($max );
echo ' Enteries are shown in this'; echo $what ; echo' <br>';
echo '</b> ';






foreach($Lines as $Key => $Val)
{
//explode that data into a array
$Data[$Key] = explode("||", $Val);
}


// how data is displayed
for($K = 0; $K<$max + 1; $K++)
{
echo '<p>';
echo '<br><b>';
echo ( $Data[$K][1] );
echo '<br>';
echo ( $Data[$K][2] );
echo '<br>';
echo ( $Data[$K][3] );
echo '</b>';
echo '</p>';
}
echo "email the admin at "; echo $mail; echo " for help";




}



?>



Then the bit that gets the form info and writes it to the flat file

useinfo.php



<?php
if ($_SERVER['REQUEST_METHOD'] != 'GET'){
$name = $_POST['name']; //get name
$email = $_POST['email']; // get email
$message = $_POST['message']; // get message
$num = $_POST['num']; // number to oreder entrie by


$bad_words = explode('|', '****|****|****|****|***|*****|******|*****'); //bad words
foreach ($bad_words as $naughty)
{
$name = eregi_replace($naughty, "CENCORED", $name);
$email = eregi_replace($naughty, "CENCORED", $email);
$message = eregi_replace($naughty, "CENCORED", $message);
}




$file = "data.txt"; // file to get data form
$fp = fopen($file, "a") or die("not work");
fputs($fp, " $num || Name : $name || Email : $email || Mesage : $message \n"); //write data to file
fclose($fp);
Header("Location: send.php"); // loction to send back to when done
}
else
{
echo 'ERROR';
}
?>


then you just need a database, or data.txt, chmod it to 777 (aka make it read and writebale etc)

Or if you wnat it as a submition form.

teh request from is



<?php
$Lines = file("data.txt"); //file to get data form

$t = 99 - sizeof($Lines) ; //set to 999 to be able to hold more entries.

// start form

Echo '<form name="form" method="post" action="useinfo.php">
Name :
<input type="text" name="name">
<br>
Email :
<input type="text" name="email">
<br>
Message :
<input type="text" name="message">
<input type="hidden" name="num" value="';echo($t);echo'">
<br>
<input type="submit" name="Submit"
value="Submit">
</p>';

// end form
?>


And to just diplay the data on the page




<?


$Lines = file("data.txt"); //file to get data form
$max = 20; //Enteries to show

sort($Lines);





echo '<br><b>';
echo 'The last ';
echo ($max );
echo ' Enteries are shown on this page <br>';
echo '</b> ';



foreach($Lines as $Key => $Val)
{
//explode that data into a array
$Data[$Key] = explode("||", $Val);
}


// how data is displayed
for($K = 0; $K<$max; $K++)
{
echo '<p>';
echo '<br><b>';
echo ( $Data[$K][1] );
echo '<br>';
echo ( $Data[$K][2] );
echo '<br>';
echo ( $Data[$K][3] );
echo '</b>';
echo '</p>';
}




?>


I hope this helps someone.

And this is my first script and is VERY basic, athogh im currtaly working on adding a few extra fetures


remember if yopu wnat to just use the submit forum, make shore teh header laoction in the useinfo.php is the file teh form is on.

You can see my super simple script in actaion at

whole thing
http://thybag.co.uk/test/send.php

Just the send
http://thybag.co.uk/test/rec.php

or just the display
http://thybag.co.uk/test/show.php

Athogh in the eg, the rec.php page jumps back to the main send.php as teh header info in the useinfo.php hanst been updated


The code os also pretty versitle. and can be used for amny differnt things for exsample this note box
http://thybag.co.uk/test/notebox.php


Update: useinfo.php code eupdated so if viewed in browser errors insted of making blank submition

Update: useinfo.php code updated. Now has word filter . ( forum filltered out the filter list for the codes filter, so you will have to re filling the started values)

Update: send.php code updated. Now fetures Ip banning


Update: send.php code updated. Impoved Ip banning, More user configarble elimnets. Better code hints

Im currtly working on an admin script

-JT-
22-02-2005, 07:32 AM
thats a big help thanks :) al PM you if i need help.

Want to hide these adverts? Register an account for free!