Witam.
Mam problem odnośnie księgi gości i update'u.
Wykorzystałem kod z książki "php 101 praktycznych skryptów" przerabiając go na Update do stronki aktualności. (tylko członkowie strony znają link do updatowania)
Struktura jest następująca:
- add.temp - formularz dodawania
- index.php - plik inkluduje 'main.temp'
- main.temp - cały wygląd stronki, który inkluduje na górze strony 'add.temp'a potem 'update.php'
- update.php - plik otwierający i wyświetlający wpisy
- update.txt - baza wpisów.
Wszystko działa nawet dobrze, za wyjątkiem odświerzania, bo gdy ktoś sobie wypełni formularz i klinknie na 'wyślij' to widzi nowy swój wpis, natomiast gdy klinkinie na 'odświerz' w swojej przeglądarce to kopiuje mu się ostatni wpis i jeżeli będzie tysiące razy klikał to powstanie tysiące takich samych wpisów - użyłem CHMODów i nic
może jakieś ?flock()? nie wiem jak zmodyfikować pomocy.
Oto kody:
add.temp table {vertical-align: MIDDLE;}
<FORM ACTION="../update/index.php" METHOD="post">
<CENTER><TABLE WIDTH="556" BORDER="1" CELLPADDING="0" CELLSPACING="0"> <TEXTAREA style="overflow:hidden;" NAME="contents" ROWS="5" COLS="85"></TEXTAREA> <TD COLSPAN="2"><P ALIGN="RIGHT"> <INPUT TYPE="text" NAME="who"> <INPUT TYPE="submit" VALUE="Dodaj">
index.php<?php
include("main.temp")
?>
main.temp<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=ISO-8859-2">
<META NAME="author" CONTENT="Michał Ligus">
<META HTTP-EQUIV="reply-to" CONTENT>
<META NAME="description" CONTENT>
<META NAME="keywords" CONTENT>
<META NAME="copyright" CONTENT="Michał Ligus">
<META HTTP-EQUIV="content-language" CONTENT="pl">
<META HTTP-EQUIV="creation-date" CONTENT="2006-03-04 18:53:10">
<TITLE>Dodawanie Newsów</TITLE>
<STYLE TYPE="text/css">
table {color: #FFFFFF;}
</STYLE>
</HEAD>
<BODY BGCOLOR="BLACK">
<CENTER>
<TABLE BORDER="0" WIDTH="780">
<TR>
<TD WIDTH="755" ALIGN="center" VALIGN="TOP">
Dodaj News
</TD>
</TR>
<TR>
<TD ALIGN="center" VALIGN="TOP">
<?php
include('add.temp')
?>
</TD>
</TR>
</TABLE>
<TABLE BORDER="0" WIDTH="780">
<?php
include('update.php')
?>
</TD>
</TABLE>
</BODY>
</HTML>
update.php<?php
$contents = $_POST["contents"];
$who = $_POST["who"];
$linia01 = "<TR><TD ALIGN=\"LEFT\"><P ALIGN=\"justify\"><FONT FACE=\"EngrvrsOldEng Bd BT\" COLOR=\"#ffff00\">R</FONT>ecz, ";
$linia02 = "<FONT FACE=\"EngrvrsOldEng Bd BT\"><FONT COLOR=\"#ffff00\">A.</FONT>D. ";
$linia03 = "</FONT><BR><HR COLOR=\"#7093db\">";
$linia04 = "<P ALIGN=\"RIGHT\"><SMALL>";
$linia05 = "</SMALL></P></P></TD></TR>";
function readNews()
{
$contents = "";
$fp = fopen("update.txt", "r"); $contents .= fgets($fp) . "<BR>"; }
return $contents;
}
function addNews($contents, $who, $data, $rok, $czas, $linia01, $linia02, $linia03, $linia04, $linia05)
{
chmod("update.txt". "666");
$fp = fopen("update.txt", "r"); $fp = fopen("update.txt", "w"); fputs($fp, $linia01. $data. $linia02. $rok. $czas. $linia03. $contents. $linia04. $who. $linia05. "\r"); }
if($contents == "" && $who == ""){
}
else{
addNews($contents, $who, $data, $rok, $czas, $linia01, $linia02, $linia03, $linia04, $linia05);
chmod("update.txt". "644");
}
?>