Witam może na początku wkleję kod, a później przejdę do problemu:
<?php
print "<HR>"; //wyświetlamy formularz do wpisania komentarza print "<H3>Nowy komentarz:</H3>"; print "<FORM METHOD=POST ACTION=\"\"><INPUT TYPE=\"hidden\" NAME=\"nr\" VALUE=\"dodaj\">"; print "<B>Treść:</B><BR><TEXTAREA NAME=\"tresc\" "; print "ROWS=10 COLS=60></TEXTAREA><BR>";
print "<input name=\"wyslij\" type=\"submit\" value=\"Wyślij\" style=\"border: 1; background: url('/../../templates/for pop/images/subhead_bg-.png');
background-repeat: repeat-x;\">";
// jeżeli zmienna id zawiera wartość dodaj
//dodajemy komentarz do bazy
$tresc = addslashes(nl2br(htmlentities ($tresc))); //ponieważ nie można ufać danym wprowadzanym przez użytkowników funkcjš addslashes
dodajemy ukośniki () w miejscach gdzie napotkanym na apostrof (‘), usuwamy je potem funkcjš stripslahes przy wypisywaniu komentarzy, dodatko
wo funkcja nl2br zamienia znaki końca linii na tag br
$tresc=$_POST['tresc'];
if ($tresc<>'') {
//jeżeli pola treść i pseudonim sš uzupełnione
$zapytanie = "INSERT INTO komentarze (tresc, nick, gid, "." data) VALUES ('$tresc', '$nick', '$gid', "." now());";
$wynik = mysql_query ($zapytanie); //dodajemy wtedy dane do bazy wraz z aktualnš datš i godzinš – funkcja now() print"<H4>Twój komentarz został dodany do bazy. Ukaże się, gdy administrator go zatwier
dzi</h4><br>"; //jeżeli wszystko przebiegnie bez problemów wyświetlamy komunikat
$tresc = '';
$_POST['tresc'] = '';
$_REQUEST['wyslij'] = null;
}else { //jeżeli jednak nie wyświetlamy stosownš informację
print"<h4>Pola pseudonim i treść muszš być wypełnione ! Kliknij wstecz w swojej przeglš
darce i popraw te dane !</h4>";
$_REQUEST['wyslij']=null;
}}
//jeżeli zmienna id zawiera innš wartość niż dodaj lub nowy wyświetlamy wszystkie
zatwierdzone komentarze
?>
Problem jest następujący, komentarze nie dodają się po kliknięciu wyślij, a dopiero przy odświeżeniu strony i nie kasują się z pamięci czyli przy kolejnym odświeżeniu przy pustym textarea są znów dodawane. Czy mógłby mi ktoś wskazać błędy w kodzie.
Ten post edytował wht 19.11.2007, 17:10:17