|
Модераторы: korob2001, ginnie |
|
Rezzonans |
|
|||
Unregistered |
Люди, мне скоро курсовой проект сдавать, если кто знает, помогите пожалуйста.
В качестве курсового проекта у меня сайт. Сайт я сделал, информацию нашёл, дизайн оформил, и обложившись книжками сел писать гостевую книгу. Сделал, но есть 2 проблемы которые у меня ника не получается решить: 1. Как сделать так, что HTML теги просто выводились на печать, а не превращали весь дизайн в кашу? 2. Как сделать, чтобы гостевая книга воспринимала красные строки? В принципе есть ещё и третья проблема: как ограничить количество сообщений на странице. То есть к примеру первые 20 сообщений, затем открывается новая страница, и появляется ссылка на первую. Но я так подозреваю в этой гостевой книге эту проблему не так-то просто решить. #################################Исходный код##################################### #!C:/INTERNET/Perl/Bin/Perl #guestbook.pl print "Content-type:text/html\n\n"; $guestbook_file = "../www/guestbook.htm"; $guestbook_url = "http://localhost/guestbook.htm"; @month = ("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); if($ENV{'REQUEST_METHOD'} eq "GET"){ $my_data = $ENV{'QUERY_STRING'}; } else { $data_length = $ENV{'CONTENT_LENGTH'}; $bytes_read = read(STDIN, $my_data, $data_length); } @name_value_array = split(/&/, $my_data); foreach $name_value_pair (@name_value_array) { ($name, $value) = split(/=/, $name_value_pair); $name =~ tr/+/ /; $value =~ tr/+/ /; $name =~ s/%(..)/pack("C",hex($1))/eg; $value =~ s/%(..)/pack("C",hex($1))/eg; $FormData{$name} = $value; } ($Seconds, $Minutes, $Hours, $DayInMonth, $Month, $ShortYear, $DayOfWeek, $DayOfYear, $IsDST) = localtime(time); $Year = $ShortYear + 1900; $EntryDate = "$month[$Month] $DayInMonth, $Year"; open(GUESTBOOK, "$guestbook_file") || die "Can't open GUESTBOOK: $guestbook_file\n"; @guestbook =<GUESTBOOK>; close(GUESTBOOK); open(GUESTBOOK, ">$guestbook_file") || die "Can't open GUESTBOOK: $guestbook_file\n"; foreach $line (@guestbook) { if($line =~ /<!--Block:-->/i) { print GUESTBOOK "<STYLE type='text/css'>.talgin{background-color:#737994;border-color: CCCCFF; font-family: Comic Sans MS; SCROLLBAR-BASE-COLOR: #666666; SCROLLBAR-ARROW-COLOR: #9999CC; topmargin: 0}</style><!--Block:-->\n"; print GUESTBOOK "<DL><table class = talgin width = 100% bgcolor = #9999CC border = 1 celpadding = 1 celspasing = 1><tr><td>\n"; if($FormData{'email'}) { print GUESTBOOK "<DD> <A class = umenu HREF=\"mailto:$FormData{'email'}\"> $FormData{'name'}</A> - $FormData{'city'} <br> Web page: <a class = umenu HREF = \"$FormData{'web_url'}\">$FormData{'web_url'}</a>\n"; } else { print GUESTBOOK "From: $FormData{'name'}<BR>\n"; } print GUESTBOOK "<ul><p>\n"; $FormData{'comments'} =~ s/\n/<br>/g; print GUESTBOOK "$FormData{'comments'}\n"; print GUESTBOOK "</ul>\n"; print GUESTBOOK "<p><font size=2>\n"; print GUESTBOOK "signed on $EntryDate\n"; print GUESTBOOK "</font>\n"; print GUESTBOOK "</tr></td></table></DL>\n"; print GUESTBOOK "<HR>\n"; } else { print GUESTBOOK "$line"; } } close(GUESTBOOK); print <<"EOF" <body bgcolor = "#666666" class = bl> <STYLE type="text/css"> .svett{background-color:#737994;border-color: #CCCCFF;font-family: Comic Sans MS, Verdana, Arial, Tahoma ; SCROLLBAR-BASE-COLOR: #737994; SCROLLBAR-ARROW-COLOR: #9999CC; CURSOR: crosshair; topmargin: 0} .still{font-family: Comic Sans MS;} .bl { CURSOR: crosshair; SCROLLBAR-BASE-COLOR: #666666; SCROLLBAR-ARROW-COLOR: #9999CC } .umenu { FONT: "Comic Sans MS" , "Arial"; COLOR: 000099; TEXT-DECORATION: none; CURSOR: crosshair } .umenu:hover { FONT: "Comic Sans MS" , "Arial"; COLOR: 000099; TEXT-DECORATION: none; CURSOR: crosshair } .wap{background-color:#737994;border-color: #CCCCFF;font-family: Comic Sans MS, Verdana, Arial, Tahoma; topmargin: 0; CURSOR: crosshair } </STYLE> <table width = "100%" border = 1 class = svett align = center> <tr> <td> <H1 align = center>Спасибо\!</H1> Ваше сообщение добавлено в гостевую книгу. Если Ваш браузер в течении 3 секунд не вернётся на исходную страницу, воспользуйтесь этой <A class = umenu HREF="$guestbook_url">ссылкой</A>. <script language = "JavaScript"> <!-- hide setTimeout("parent.location.href = '$guestbook_url'", 3000); //--> </script><p> <br>Copyright \©\; <A class = umenu HREF=mailto:elf68\@yandex.ru>Elf Web - StudiO</A> 2003-2004.</tr></td></body> EOF ################################################################################ guestbook.htm ############################################################################### <TITLE>Welcome to My Guestbook</TITLE> <BODY class = bl bgcolor = #666666 > <!--Block:--> <H2 ALIGN=CENTER class = still>Оставить запись в гостевой книге</H2> <hr> <FORM METHOD="POST" ACTION="/cgi-bin/guestbook.pl"> <table cellpadding = 0 border = 0> <tr> <td> <PRE> <INPUT class = svett type=text size=40 maxlength=256 name="name" value = "Гость"> <INPUT class = svett type=text size=40 maxlength=256 name="email" value = "E-mail"> <INPUT class = svett type=text size=40 maxlength=256 name="city" value = "Город"> <INPUT class = svett type=text size=40 maxlength=256 name="web_url" value = "http://"> </tr></td></table> <table align = center> <tr><td><br> <TEXTAREA rows=9 cols=65 name="comments" class = svett></TEXTAREA> <br> <INPUT type="submit" value="Отправить!" class = wap> <INPUT type="reset" value="Очистить" class = wap> </tr></td></table> </PRE> </FORM> <STYLE type="text/css"> .svett{background-color:#737994;border-color: #CCCCFF;font-family: Comic Sans MS, Verdana, Arial, Tahoma ; SCROLLBAR-BASE-COLOR: #737994; SCROLLBAR-ARROW-COLOR: #9999CC; CURSOR: crosshair; topmargin: 0} .still{font-family: Comic Sans MS;} .bl { CURSOR: crosshair; SCROLLBAR-BASE-COLOR: #666666; SCROLLBAR-ARROW-COLOR: #9999CC } .umenu { FONT: "Comic Sans MS" , "Arial"; COLOR: 000099; TEXT-DECORATION: none; CURSOR: crosshair } .umenu:hover { FONT: "Comic Sans MS" , "Arial"; COLOR: 000099; TEXT-DECORATION: none; CURSOR: crosshair } .wap{background-color:#737994;border-color: #CCCCFF;font-family: Comic Sans MS, Verdana, Arial, Tahoma; topmargin: 0; CURSOR: crosshair } </STYLE> </BODY> </HTML> |
|||
|
||||
ElectricalStorm |
|
|||
Опытный Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: нет Всего: 9 |
во первых не мучайтесь
use CGI; во вторых читайте книжку дальше там наверняка есть ответы на все ваши вопросы если что-то конкретное то задвайте -------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
MuToGeN |
|
|||
Лесник Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
Модератор: в третьих, если есть 3 вопроса - пожалуйста, потрудитесь создать 3 топика.
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
korob2001 |
|
||||
Эксперт Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Мой тебе совет, используй:
ключ -w use strict; use Fcntl qw( :flock ); use CGI; за счёт этого ты избавишся от множества проблем в будущем. Что касается разбивки на страницы читай тута: http://forum.vingrad.ru/index.php?act=ST&f...&f=5&t=7473&hl= Что касается красной строки, думаю этот вопрос нужно задать на форуме по HTML/CSS, но лично я бы использовал Вот пример:
Этот вопрос не понял, если не трудно, перефразируй. Это сообщение отредактировал(а) korob2001 - 14.2.2004, 07:25 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
Violetgem |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.8.2022 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |