Здравствуйте, пишу первую в своей жизни гостевую книгу. Не хочу и не собираюсь брать уже готовую книгу. Все получилось просто замечательно. Все хорошо работает. Но ее можно использовать не совсем хорошо. Например она с радостью пример <h1>уроды</h1> и напишет это как пологается, а ведь можно писать еще и скрипты! Как мне сделать проверку на символы <> и если они есть менять их на другие, например на # И как проверять на пустоту строк. Например у меня так | Код | if ($name_ == ""){print "Нельзя оставлять пустым"; exit(0);} |
Эта конструкция работает если он ничего не ввел и если ввел строку из цифр или с цифры, а если там буквы, она принимает ее за пустую! Почему и как от этого избавиться? Вот коды на всякий случай. Дизайн книги хранится в www/txt/form.txt Текст, который ввел юзер отправляется в cgi-bin/l/gost_text.txt cgi-bin/l/gost_text_.txt- файл для копирования книги перед добавлением новой записи, иначе бы новая запись добавлялась бы в конец страницы, а не в ее начало. gost.cgi - Программа добавоения в файл новых записей gost_1.cgi- программа для отображения книги на экране. | Код | ------------------------------------------------------------------------------------------form.txt <html> <head> <title>Гостевая книга</title> <meta http-equiv="Content-Type" content="text/html; Charset=windows-1251"> </head> <body bgcolor="#01488f" text="#00ffff" link="#0000ff" vlink="#800080" alink="#FF0000">
<center> <br><br> <h2><font color = red>Добавление новой записи</font></h2> <br>
<table border = 0 cellPadding=0 cellSpacing=0> <tr><td><hr></td><td><hr></td></tr> <tr><td>Ваше имя:</td><td align = right> <form action = "../cgi-bin/gost.cgi" method = "post"> <input type = text name= "u_name" cols = 30></td></tr>
<tr><td>Ваш E-Mail:</td><td align = right> <input type = text name= "u_mail" cols = 30></td></tr>
<tr><td>Ваш коментарий:</td><td> <textarea name= "text" rows = 5 cols = 30>
</textarea> </td></tr> <tr><td> </td><td align = right><input type = reset> <input type = submit></td></tr> </table>
<table border = 0 cellPadding=0 cellSpacing=0 > <tr valign = bottom> <td><input type = "radio" name = "pic" value = "1"><img src = "../pic/1.gif"></td> <td><input type = "radio" name = "pic" value = "2"><img src = "../pic/2.gif"></td> <td><input type = "radio" name = "pic" value = "3"><img src = "../pic/3.gif"></td> <td><input type = "radio" name = "pic" value = "4"><img src = "../pic/4.gif"></td> <td><input type = "radio" name = "pic" value = "5"><img src = "../pic/5.gif"></td> <td><input type = "radio" name = "pic" value = "6"><img src = "../pic/6.gif"></td> <td><input type = "radio" name = "pic" value = "10"><img src = "../pic/10.gif"></td> <td><input type = "radio" name = "pic" value = "12"><img src = "../pic/12.gif"></td> <td><input type = "radio" name = "pic" value = "13"><img src = "../pic/13.gif"></td> <td><input type = "radio" name = "pic" value = "14"><img src = "../pic/14.gif"></td> <td><input type = "radio" name = "pic" value = "16"><img src = "../pic/16.gif"></td> <td><input type = "radio" name = "pic" value = "17"><img src = "../pic/17.gif"></td> <td><input type = "radio" name = "pic" value = "18"><img src = "../pic/18.gif"></td> </td></tr> </table> </form> <table border = 0 width = 70%> <tr><td> -----------------------------------------------------------------------------------------gost.cgi #!/usr/bin/perl use CGI qw(:all);
print header;
$name_ = param('u_name'); $text_ = param('text'); $num = param ('pic'); $mail_ = param('u_mail'); $br = "\<br\>";
chomp $name_;
if ($name_ == "") {print "Поле имени не должно оставаться пустым!\<br\>"; print "\<a href = \"gost_1.cgi\"\>Назад в книгу\<\/a\>"; exit(0);}
$beg = "\<font color = red\>"; $en = "\<\/font\>"; $hr = "\<hr\>";
$mail__ = "E-Mail: "; $name__ = "Имя: "; $text__ = "Коментарий: "; $ali = "\<font align = \"justify\"\>";
open (MF, "l/gost_text.txt"); open (MMF, ">l/gost_text_.txt");
sub pic_prin { if ($num=="1") {$str = "\<img src = ..\/pic\/1.gif\>" ;} if ($num=="2") {$str = "\<img src = ..\/pic\/2.gif\>" ;} if ($num=="3") {$str = "\<img src = ..\/pic\/3.gif\>" ;} if ($num=="4") {$str = "\<img src = ..\/pic\/4.gif\>" ;} if ($num=="5") {$str = "\<img src = ..\/pic\/5.gif\>" ;} if ($num=="6") {$str = "\<img src = ..\/pic\/6.gif\>" ;} if ($num=="10") {$str = "\<img src = ..\/pic\/10.gif\>";} if ($num=="12") {$str = "\<img src = ..\/pic\/12.gif\>";} if ($num=="13") {$str = "\<img src = ..\/pic\/13.gif\>";} if ($num=="14") {$str = "\<img src = ..\/pic\/14.gif\>";} if ($num=="16") {$str = "\<img src = ..\/pic\/16.gif\>";} if ($num=="17") {$str = "\<img src = ..\/pic\/17.gif\>";} if ($num=="18") {$str = "\<img src = ..\/pic\/18.gif\>";} }
while (defined($te=<MF>)){ print MMF $te;}
close (MF); close (MMF); pic_prin;
open (MF,">l/gost_text.txt"); print MF $ali; #<font align = justify> print MF $hr; #<hr> print MF $str; #<img src = "../pic/*.gif"> print MF $beg; #<font color = red> print MF $name__; #Имя: print MF $en; #</font> print MF $name_; #NAME!! print MF "$br\n"; #<br> print MF $beg; #<font color = red> print MF "E-Mail: "; print MF $en; #</font> print MF $mail_; print MF "$br\n"; #<br> print MF $beg; #<font color = red> print MF $text__; #Коментарий: print MF $en; #</font> print MF $text_; #COMMENT!! print MF "$br\n"; #<br> print MF "\<p align = right\>"; # print MF scalar(localtime); #Время print MF "\<\/p\>"; #</p> close(MF);
open (MF, ">>l/gost_text.txt"); open (MMF, "l/gost_text_.txt");
while (defined($te=<MMF>)){ print MF $te;}
close (MF); close (MMF);
print "\<title\>Запись добавлена\<\/title\>"; print "\<font color = red\>Запись успешно добавлена!\<\/font\>\<br\>\<hr\>";
print "$str";
print "\<font color = red\>Имя: \<\/font\>$name_\<br\>\n"; print "\<font color = red\> E-Mail: \<\/font\>$mail_\<br\>\n"; print "\<font color = red\>Коментарий: \<\/font\> $text_\<br\>\n"; print "$br \<hr\>";
print "\<a href = \"gost_1.cgi\"\>Назад в книгу\<\/a\>";
------------------------------------------------------------------------------------------gost_1.cgi #!/usr/bin/perl use CGI qw(:all);
print header;
open(MF,"../www/txt/form.txt"); while (defined($te=<MF>)){ print $te;} close (MF);
open(MF,"l/gost_text.txt"); while (defined($tee=<MF>)){ print $tee;} close (MF);
print "\<hr\>\<\/body\>\<\/thml\>";
!!!!Огромное спасибо за внимание!!!!
|
|