<?php # --- includes --- include_once ("config.php"); # login, haslo i adres bazy danych include_once ("zamiana.php"); # zamiana polskich literek na odpowiedniki ISO 8859-2 # --- polacz z Baza Danych ---- # --- Wyslano formularz -> sprawdzanie poprawnosci -> zapis do bazy danych --- if($_POST['zapisz']) {$nick = $_POST['nick']; $wpis = $_POST['wpis']; $email = $_POST['mail']; $www = $_POST['www']; if(trim(strip_tags($nick), " \t.,;:'")=="" || trim(strip_tags($wpis), "\t,;:") =="") # brak imienia lub wpisu } else {# --- usuwa biale znaki, kropki i inne duperele z poczatku i konca wpisu --- $ip = $REMOTE_ADDR; $host = gethostbyaddr($ip); $mail = ""; # --- Tu nastepuje dopisanie do bazy danych --- mysql_query("INSERT INTO guestbook (db_nick, db_email, db_www, db_time, db_wpis, db_ip, db_host) VALUES ('$nick','$mail','$www','$time','$wpis','$ip','$host')"); else } } # --- Drukuje formularz i wyswietla wpisy --- else {# --- Wydruk formularza --- print "<TR><TD>* Imię / nick: </TD><TD colspan=2><INPUT TYPE=text NAME=nick VALUE=\"$nick\"></TD></TR>"; print "<TR><TD>* Wpis: </TD><TD colspan=2><TEXTAREA NAME=wpis VALUE=\"$wpis\" ROWS=8 COLS=40></TEXTAREA></TD></TR>"; # --- Wydruk wpisow --- {$db_id = $wiersz[0]; $db_nick = $wiersz[1]; $db_email = $wiersz[2]; $db_www = $wiersz[3]; $db_time = $wiersz[4]; $db_wpis = $wiersz[5]; # --- wyglad wpisow --- if($db_www!="http://") # jezeli adres www niepusty wydrukuj if($db_email!="") # jezeli e-mail niepusty wydrukuj } } ?>
Mam z nia 2 problemy.
1(priorytetowy): [linijki kodu 14-50]
w jaki sposob moge zabezpieczyc skrypt przed dodawaniem tego samego wpisu wielokrotnie poprzez odswiezanie strony juz po dopisaniu pozycji w bazie danych?
2 /prawdopodobnie lada chwila sam to napisze/
jak zapobiec wpisywaniu slow powiedzmy dluzszych niz 20 znakow, a w przypadku dluzszych po 20 znaku lamac takie slowa spacja?
Z gory dzieki za pomoc.