Hello, im making a flat file blog that works but i was wondering if i can improve
the code in some parts . I put the code in below and the parts where i want to make changes im also wondering if somebody know how to display the newest
message first right now it displays the last message first.
The following files reads/writes to a textfile blogfile.txt
blog.php
<?
echo "<font face=verdana>";
$opFile = "blogfile.txt";
$fp = fopen($opFile,"r") or die("Error Reading File");
$data = fread($fp, filesize($opFile));
fclose($fp);
// Explodes data at line breaks is this explode and for part possible to change
$line = explode("\n", $data); for something else? to display the data
$i=count($line);
for ($n=0; $n < $i-1 ; $n++ ) {
$blog = explode("|", $line[$n]);
if (isset($blog[0]))
{
echo "Posted by : " .$blog[0]."<br>";
echo "Date : " .$blog[1]."<br>";
echo "Title : " .$blog[2]."<br>";
echo "Message : " .$blog[3]."<br>";
echo "Avatar : <img src='$blog[4]'><br><br>";
}
}
?>
post.php
<?php
$filename = "blogfile.txt";
if (!isset($message)) {
$name = $POST['name'];
//$date = $POST['date'];
$subject = $POST['subject'];
$message = $POST['message'];
$avatar = $_POST['avatar'];
}
$name = htmlspecialchars(trim(stripslashes($name)));
$subject = htmlspecialchars(trim(stripslashes($subject)));
$message = htmlspecialchars(trim(stripslashes($message)));
$avatar = htmlspecialchars(trim(stripslashes($avatar)));
$message = trim($message);
$postdate = date('d M Y');
$message = str_replace("\n", "[br]", $message);
$message = str_replace("\r", "", $message);
$message = str_replace("|", "¦", $message);
$blog = $name."|".$postdate."|".$subject."|".$message."|".$avatar."[end]\n" ;
$data = fopen($filename, "a");
fwrite($data, $blog);
fclose($data);
echo "Data Entered";
?>
messages.php
<form action="post.php" method="post" name="post">
<input type="text" tabindex="1" name="name" size="25" maxlength="25" value="" />
<input type="text" name="subject" size="45" maxlength="60" style="width:450px" tabindex="2" value="" />
<textarea name="message" rows="10" cols="35" wrap="virtual" style="width:450px" tabindex="3"></textarea>
<input type="text" name="avatar" size="45" maxlength="120" style="width:450px" tabindex="2" value="" />
<input type=submit value="Submit" name=submit>
</form>