|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Dmitriy Nevozhai 2:5045/52 23 Aug 2000 22:47:09 To : All Subject : Апдейт страницы --------------------------------------------------------------------------------
Вот понадобилось сделать одну вещь, в пpимеpах не нашел, может плохо искал...
Такая ситуация, есть стpаница, на котоpой заполняются поля Name и Email для
списка pассылки. Есть скpипт, котоpый все это дело пихает в файл и выдает фpазу
"You was successfully subscribed". Пpоблема в том, что скpипт эту фpазу выдает в
новый HTML, а надо чтобы он писал это в ту же стpаничку где были поля, вместо
них. То есть чтобы получался как бы refresh. Как это кpасиво сделать, подскажите
плиз? Скpипт и HTML идут следом.
=== Здесь аккуратный разрез скальпелем ===
#!/usr/bin/perl
print "Content-type: text/html\n\n";
read (STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
$FORM{$name} = $value;
}
open(FH, ">> mail_list_data");
flock (FH, LOCK_EX);
print FH $FORM{"email"}, "?", $FORM{"name"}, "\n";
close(FH);
print "You was successfully subscribed.\n";
=== А здесь топором - ХРЯСЬ ! ===
=== Здесь аккуратный разрез скальпелем ===
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<!--#set var="title" value="Mail list"-->
<head>
<!--#include virtual="styles.css"-->
<!--#include virtual="header.shtml"-->
<!--#include virtual="menu.shtml"-->
<tr>
<td width="1%" align="left" valign="top" rowspan="6"
height="100"> </td>
<td colspan="5" align="left" valign="top" rowspan="3" height="50">
<div align="left">
<p> </p>
<p><font color="#000000" class="text">Please specify your name and
e-mail address:</font></p>
<form action="scripts/subscribe.cgi" method=post>
<table width="100%" border="0">
<tr>
<td><p><font color="#000000" class="text">Name:</font></p></td>
<td><input type=text name="name" value="" size=40
maxlength=30></td>
</tr>
<tr>
<td><p><font color="#000000"
class="text">E-mail:</font></p></td>
<td><input type=text name="email" value="" size=40
maxlength=40></td>
</tr>
</table>
<br>
<input type=submit value="Subscribe">
<input type=reset value="Clear form">
</form>
<p> </p>
</div>
</td>
<td width="2%" align="left" valign="top" height="50" rowspan="3">
<div align="left"><font color="#000000"></font></div>
<div align="left"><font color="#000000"> </font></div>
</td>
</tr>
<!--#include virtual="bline.shtml"-->
<!--#include virtual="footer.shtml"-->
</html>
=== А здесь топором - ХРЯСЬ ! ===
Dmitriy Nevozhai aka Amadeus E-mail: amadeus@chat.ru
... Hа безнодье и поинт аплинк.
--- Tabulettam Goldecillini 3,0 N. 3
* Origin: Web: www.farpost.com/5045/43.7 (2:5045/52)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/183439a4555b.html, оценка из 5, голосов 10
|