PluggisMedlem sedan nov. 2006129 inlägg Hej
jag har en enkel gästbok som just nu skriver varje inlägg efter varrandra och dvs dom nya inläggen hamnar längre och längre ner för varje inlägg.
jag vill ist att det nya inlägget ska sparas på rad 1 hela tiden utan att radera dom förra inläggen. koden som ska ändras ser ut så här:
if (!$file_handle = fopen($file,"a+"))
jag vet dock inte vad jag ska använda ist för "a+" jag har testat massor av andra attribut men inget funkar korrekt :/
r+ , Open for reading and writing; place the file pointer at the beginning of the file.
?
/red manualen: http://se.php.net/fopen
PluggisMedlem sedan nov. 2006129 inlägg men det tar bort dom gamla inläggen :S
metalboyMedlem sedan jan. 2005953 inlägg Du får först läsa in filens innehåll i en variabel, sedan öppna filen för skrivning och lägga in det nya inlägget följt av det gamla innehållet.
PluggisMedlem sedan nov. 2006129 inlägg aj då. jag som inte är så bra på php.
<?php
// Get the data from the 'Name' field of the form.
$data = '<b>Skrivet av:</b> '.$_POST['name'].' - <font size="-3"><i>Datum&Tid: <?php echo date("d-j-y, H:i:s"); ?></i></font>'.' - <font size="-3"><I>IP: <?php echo $_SERVER["REMOTE_ADDR"]; ?></I></font>'.'<br />';
// Get the data from the 'site' field of the form.
$data = $data.'<b>Hemsida: </b>'.'<a href="http://'.$_POST['site'].' ">'.$_POST['site'].'</a>'.'<br />';
// Get the data from the 'Message' field of the form.
$data = $data.'<p><b>Meddelande: </b><br />'.$_POST["message"].'</p><hr />';
// $email is detecting if the 'Name' field is empty.
$name = $_POST['name'];
// $message is detecting if $spam words are in the 'Message' field.
$message = $_POST['message'];
// Specifications of the "bad words", spam, in the 'Message' field.
$spam = "/(porn|pussy|blowjob|cock|sexy|fuck|viagra|boobs|babes|fitta|kuk|hora)/i";
if (empty($name))
{
echo ('<br /><br /><center><div style="font-family:Arial;font-size:12px;border:5px groove #cc0000;width:300px;padding:5px;">Du glömde att fylla i ditt namn!</div></center>');
}
// Detects the $spam word and displays it in the warning.
if(preg_match($spam,$message,$matches))
{
echo ('<br /><br /><center><div style="font-family:Arial;font-size:12px;border:5px groove #cc0000;width:300px;padding:5px;">Spamfiltret upptäckte ett förbjudet ord!<br />'.'Ordet är: '.'<b>'.$matches[1].'</b>'.'<br />Ändra det!</div></center>');
}
elseif(preg_match($spam,$name,$matches))
{
echo ('<br /><br /><center><div style="font-family:Arial;font-size:12px;border:5px groove #cc0000;width:300px;padding:5px;">Spamfiltret upptäckte ett förbjudet ord!<br />'.'Ordet är: '.'<b>'.$matches[1].'</b>'.'<br />Ändra det!</div></center>');
}
else
{
// Check if the captcha image verified.
session_start();
if ($_POST["img_ver"] != $_SESSION["img_ver"] OR $_SESSION["img_ver"]=='')
{
echo('<br /><br /><center><div style="font-family:Arial;font-size:12px;border:5px groove #cc0000;width:300px;padding:5px;">Fel säkerhetskod!</div></center>');
}
else
{
// The file to write $data to (don't forget to CHMOD it to 666).
$file = "messages.txt";
if (!$file_handle = fopen($file,"a+"))
{
echo "Kan inte öppna filen!";
}
if (!fwrite($file_handle,$data))
{
echo "Kan inte skriva i filen!";
}
fclose($file_handle);
echo ('<br /><br /><center><div style="font-family:Arial;font-size:12px;border:5px groove #00cc00;width:300px;padding:5px;">Tack för ditt inlägg!<br />-Du skickas nu vidare!</div></center>');
echo ('<meta http-equiv="Refresh" content="2;url=gb.php" />');
}
}
?>
metalboy skrev:
Du får först läsa in filens innehåll i en variabel, sedan öppna filen för skrivning och lägga in det nya inlägget följt av det gamla innehållet.
$new = $my_new_line . file_get_contents('foobar.txt');
file_put_contents('foobar.txt');
Felkontroller tillkommer.
PluggisMedlem sedan nov. 2006129 inlägg va? förstår inte..
tillkommer den där strängen under "if (!$file_handle = fopen($file,"a+"))" ?
Pluggis skrev:
va? förstår inte..
tillkommer den där strängen under "if (!$file_handle = fopen($file,"a+"))" ?
Nej.
http://php.net/file_get_contents
http://php.net/file_put_contents