
- Kod: Zaznacz wszystko
» Download » Skrypty » Księga Gości
Księga Gości
Prosty skrypt księgi gości bez wykorzystania bazy danych oparty na pliku txt.
--------------------------------------------------------------------------------
Zamieszczanie pustych komentarzy jest zabronione.
Kliknij Tutaj, aby wrócić do komentarzy
Tak wygladaja moje pliki:
send.php
- Kod: Zaznacz wszystko
<?php
function getBrowser()
{
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$bname = 'Unknown';
$platform = 'Unknown';
$version= "";
//First get the platform?
if (preg_match('/linux/i', $u_agent)) {
$platform = 'linux';
}
if (preg_match('/linux/i', $u_agent)) {
if(preg_match('/ubuntu/i', $u_agent))
$platform='ubuntu';
elseif(preg_match('/fedora/i', $u_agent))
$platform='fedora';
elseif(preg_match('/arch/i', $u_agent))
$platform='arch';
else
$platform = 'linux';
}
elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
$platform = 'mac';
}
elseif (preg_match('/windows|win32/i', $u_agent)) {
$platform = 'windows';
}
// Next get the name of the useragent yes seperately and for good reason
if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
{
$bname = 'Internet Explorer';
$ub = "MSIE";
}
elseif(preg_match('/Firefox/i',$u_agent))
{
$bname = 'Mozilla Firefox';
$ub = "Firefox";
}
elseif(preg_match('/Chrome/i',$u_agent))
{
$bname = 'Google Chrome';
$ub = "Chrome";
}
elseif(preg_match('/Safari/i',$u_agent))
{
$bname = 'Apple Safari';
$ub = "Safari";
}
elseif(preg_match('/Opera/i',$u_agent))
{
$bname = 'Opera';
$ub = "Opera";
}
elseif(preg_match('/Netscape/i',$u_agent))
{
$bname = 'Netscape';
$ub = "Netscape";
}
// finally get the correct version number
$known = array('Version', $ub, 'other');
$pattern = '#(?<browser>' . join('|', $known) .
')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
if (!preg_match_all($pattern, $u_agent, $matches)) {
// we have no matching number just continue
}
// see how many we have
$i = count($matches['browser']);
if ($i != 1) {
//we will have two since we are not using 'other' argument yet
//see if version is before or after the name
if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
$version= $matches['version'][0];
}
else {
$version= $matches['version'][1];
}
}
else {
$version= $matches['version'][0];
}
// check if we have a number
if ($version==null || $version=="") {$version="?";}
return array(
'userAgent' => $u_agent,
'name' => $bname,
'version' => $version,
'platform' => $platform,
'pattern' => $pattern
);
}
// send.php
// check if argument 'id' is there
if(empty($_GET['id']))
{
$id = 'default';
}
else
{
$id = $_GET['id'];
}
// comment files location
$localization = "data/comments/";
// comment files extensions
$file_extension = ".txt";
//
// Comment content - start
//
// change HTML special chars in to properly (safe) form
// protect beware sending code via comments
$nickTestowy = preg_replace("/(\s+)/","",htmlspecialchars($_POST['nick']));
$wpisTestowy = preg_replace("/(\s+)/","",htmlspecialchars($_POST['comment']));
//
// Comment content - end
//
//
// Check - start
//
// Simple solution to don't publish empty comments
if(empty($wpisTestowy))
die("<div id='special'>
<p style='text-align:center; color: #ff0000;font-weight:bold;'>
Zamieszczanie pustych komentarzy jest zabronione.
</p>
<p style='text-align:center; color: #003366;'>
Kliknij <a href='{$_SERVER['HTTP_REFERER']}'>Tutaj</a>, aby wrócić do komentarzy
</p>
</div>");
$nick = (empty($nickTestowy))? "Anonymous" : str_replace("\r\n", "<br/>", htmlspecialchars(trim($_POST['nick']))) ;
$comment = str_replace("\r\n", "<br/>", htmlspecialchars(trim($_POST['comment'])));
//
// Check - end
//
//
// COOKIE - start
//
// Simple anti-spam solution
// cookie name
$cookie_name = 'comment';
// cookie value
$cookie_value = '1';
// when cookie will expire
// 60 seconds
$cookie_expire = time()+60;
// setcookie(name, value, expire, path, domain);
// check if there is cookie now
if (isset($_COOKIE[$cookie_name]))
{
// show information to wait before adding next comment
echo "<div id='special'>
<p style='text-align:center; color: #003366;font-weight:bold;'>
Dodano Twój komentarz.
</p>
<p style='text-align:center; color: #003366;'>
Kliknij <a href='{$_SERVER['HTTP_REFERER']}'>Tutaj</a>, aby wrócić do komentarzy
</p>
</div>
";
die();
}
$date_and_time = date("d.m.Y H:i");
// user identification
$user_ip = $_SERVER['REMOTE_ADDR'];
list($useragent,$ua_name,$ua_version,$user_os,$ua_pattern)=array_values(getBrowser());
// place between content in flat-file
$PLACE = '|||';
// end of the line in flat-file
$line_end = "\n";
// exported line to flat-file
$result = $date_and_time.$PLACE.$user_ip.$PLACE.$ua_name.$PLACE.$user_os.$PLACE.$useragent.$PLACE.$nick.$PLACE.$comment.$line_end;
// directory and name of flat-file
$file = $localization.$id.$file_extension;
// opening flat-file in 'add' mode
$file_handle = fopen($file, "a");
// write '$result' in to the flat-file
fwrite ($file_handle, $result);
// close the flat file and report result
if(fclose($file_handle))
{
// COOKIE
// create cookie file to protect against spam
setcookie($cookie_name, $cookie_value, $cookie_expire);
// STATUS
// show that comment was sucessfully added
echo "<div id='special'>
<p style='text-align:center; color: #003366;font-weight:bold;'>
Dodano Twój komentarz.
</p>
<p style='text-align:center; color: #003366;'>
Kliknij <a href='{$_SERVER['HTTP_REFERER']}'>Tutaj</a>, aby wrócić do komentarzy
</p>
</div>
";
}
else
{
// show that there was an error while adding comment
echo "<div id='special'>
<p style='text-align:center; color: #ff0000;font-weight:bold;'>
Wystąpił błąd podczas dodawania komentarza, spróbuj następnym razem.
</p>
<p style='text-align:center; color: #003366;'>
Kliknij <a href='{$_SERVER['HTTP_REFERER']}'>Tutaj</a>, aby wrócić do komentarzy
</p>
</div>
";
}
// send.php
?>
show.php
- Kod: Zaznacz wszystko
<?php
// show.php
// check if argument 'id' is there
if(!isset($_GET['appage']))
{
$id = 'default';
}
else
{
$id = $_GET['cat'].$_GET['appage'];
}
// comment files location
$localization = "data/comments/";
// comment files extensions
$file_extension = ".txt";
// check if file exist, if no create
if (!file_exists($localization.$id.$file_extension))
{
file_put_contents($localization.$id.$file_extension, '');
chmod($localization.$id.$file_extension, 0777);
}
// load file to array
$file = file($localization.$id.$file_extension);
// reverse array order
$file = array_reverse($file);
// count number of comments
$number_of_comments = count($file);
?>
<fieldset style='border:1px solid #4684C1; margin:10px 0 20px 0;'>
<?php
// <fieldset style='border:1px solid #4684C1; margin:30px 0 20px 0;'>
echo "<legend style='font-weight:bold;'>Komentarze ($number_of_comments)</legend>
";
// check if there is any comment
if($number_of_comments == 0)
{
echo "<div align='center'><p style='background-color:#86AED7'><b>Brak komentarzy</b></p></div>
";
}
else
{
// variable counting loop moves
$loop_counter = 1;
// loop for each line in file
foreach($file as $key => $value)
{
// load line of file in to '$data' array
$data = explode('|||', $value);
list( $comment_data, $comment_ip,$comment_ua,$comment_os,$useragent,$comment_nick,$comment_content)=$data;
// check if it is last loop move
if($loop_counter < $number_of_comments)
{
// echo "<div style='padding:12px; border-bottom:1px solid #4684C1;'>";
echo "<div style='padding:6px; border-bottom:1px solid #4684C1;'>
";
}
else
{
echo "<div style='padding:6px; border-bottom:none solid #4684C1;'>
";
}
//
// show comment
//
echo "<b><span style='color: #003366'>~$comment_nick</span> ($comment_data) napisał:</b><br/>
<span style='font-size:xx-small;'>User Agent: <img src=\"images/ua/$comment_ua.gif\" alt=\"$comment_ua\" title=\"$comment_ua\"/> OS: <img src=\"images/ua/$comment_os.gif\" alt=\"$comment_os\" title=\"$useragent\"/></span>
<p style='padding:2px; background-color:#86AED7'>$comment_content<br/></p>
</div>
";
// add '1' to loop counter variable
$loop_counter = $loop_counter + 1;
}
}
?>
</fieldset>
<?php
include('./add.php');
//
// show.php
?>
add.php
- Kod: Zaznacz wszystko
<?php
// add.php
// check if argument 'id' is there
if(!isset($_GET['appage']))
{
$id = 'default';
}
else
{
$id = $_GET['cat'].$_GET['appage'];
}
?>
<div>
<form method='post' action='?download&id=<?php echo $id.'&cat='.$_GET['cat'].'&appage='.$_GET['appage']; ?>'>
<b>Wyślij swój komentarz</b>
<p>
<span style='color: #003366'><b>Nick:</b></span><br/>
<span style='font-size:x-small;'>Jeśli nie podasz swojego nicka komentarzowi zostanie przypisany autor "Anonimowy".</span><br/>
<input type='text' name='nick' size='54' style='background-color:#ECEEEE;'>
</p>
<p>
<span style='color: #003366'><b>Komentarz:</b></span><br/>
<textarea name='comment' cols='42' rows='6' style='background-color:#ECEEEE;'></textarea>
</p>
<div style='text-align:left'>
<input type='submit' value='Wyślij'>
</div>
</form>
</div>
<?php
// add.php
?>
Chcialbym zeby ta biala strona sie nie wlanczala mi. Czy ktos moze mi pomoc ?