/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
FRAME styring med PERL
Fra : John Doe


Dato : 02-12-00 22:55

Jeg er igang med at lave et meget meget simpelt chat script. Det består af 2
filer; en html fil som jeg gemmer de indtastede tekster i, og en cgi som
modtager indtastede værdier og gemmer dem i html filen. Det hele virker
fint. Det jeg vil gøre nu er at tilføje FRAME. Altså jeg vil adskille den
del hvor man indtaster besked og den del hvor html filen læses og skrives på
skærm. html filen skal "refresh"'es med en bestemt frekvens (10 sek f.eks.)

Mit spørgsmål lyder hvordan kan man få html filen genlæst hvis man skriver
en besked og trykker på RETUR. Jeg har gjort et par forsøge, men jeg kan
ikke få html filen genleæst uden at vente 10 sek. Jeg har delt cgi filen op
i to dele. Den ene del læser user input og gemmer den i html filen, den
anden del læser html filen i en array, og udskriver den. Er der en
fremgangsmåde for det? jeg har set et cgi eksampel, men ku' ikke gennemskue
det da skripten var alt for langt...



 
 
Lauritz Jensen (02-12-2000)
Kommentar
Fra : Lauritz Jensen


Dato : 02-12-00 23:12

Normal gør man det, at den form brugeren skriver sin kommentare i,
submitter til den frame hvor listen med beskeder er, således at listen
bliver opdateret. I dit tilfælde, kunne cgi-scriptet, efter at have
opdaterer html-filen, redirecte til html-filen.

--
Lauritz

N/A (02-12-2000)
Kommentar
Fra : N/A


Dato : 02-12-00 23:33



Lauritz Jensen (02-12-2000)
Kommentar
Fra : Lauritz Jensen


Dato : 02-12-00 23:33

Din form skal se sådan ud:
<form action="c.cgi?action=read" method=post target="topframe"></form>
og "c.cgi?action=read" skal når den har tilføjet den ny kommentar til
html-filen, vise denne. Altså

if ($in{'action'} eq "read") {
if ($in{'comment'} ne "") {
&tilfoej_til_datafil();
}
&vis_datafil();
} elsif ($in{'action'} eq "write") {
&vis_indtastningsformular();
}

--
Lauritz

John Doe (03-12-2000)
Kommentar
Fra : John Doe


Dato : 03-12-00 00:15

Du mener altså den nederste frame skal bare vise <form> og poste den til den
øverste frame, og den øverste skal skrive indtastede besked til html filen
og skal vise den bagefter, ik'? Bare ikke for at se dom ud, men jeg vil
være sikker på det, for jeg har ellers prøvet (næsten) alt andet.





Lauritz Jensen (03-12-2000)
Kommentar
Fra : Lauritz Jensen


Dato : 03-12-00 00:35

Jeg tror at det er det jeg mener.
(Hvis det virker, er det helt sikkert det jeg mener

--
Lauritz

Ask Bjoern Hansen (03-12-2000)
Kommentar
Fra : Ask Bjoern Hansen


Dato : 03-12-00 16:29

Lauritz Jensen <lauritz2@hotmail.com> writes:

> Din form skal se sådan ud:
> <form action="c.cgi?action=read" method=post target="topframe"></form>
> og "c.cgi?action=read" skal når den har tilføjet den ny kommentar til
> html-filen, vise denne. Altså
>
> if ($in{'action'} eq "read") {
> if ($in{'comment'} ne "") {
> &tilfoej_til_datafil();
> }
> &vis_datafil();
> } elsif ($in{'action'} eq "write") {
> &vis_indtastningsformular();
> }

det ville vaere en del mere laesbart som noget i stil med:

if ($in{action} eq 'read') {
tilfoej_til_datafil() if $in{comment};
vis_datafil();
}
elsif ($in{action} eq 'write') {
vis_indtastningsformular();
}


- ask

--
ask bjoern hansen - http://www.netcetera.dk/~ask/

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste