[ gagi @ 18.04.2001. 22:09 ] @
Moze neko da mi pomogne/objasni kako u CGI da napravim HTML stranicu. Znam da moze vako nesto:

print "Content-type: text/html\n\n";
print "<html><head><title>...Naslov...</title></head>\n";
print "<body>bla bla bla bla bla! \n";

Znam da moze i bez ovog "print", samo ubacim cjeli HTML. Vidjeo sam u nekim skriptama da ide nesto vako:


<<"EOF";
<html>
<head><title>... Naslov ...</title></head>
<body>
bla bla bla bla bla bla....
</body>
EOF

Probavo sam vako, ali nece. Dali trebam nesto da podesim prije ovog EOF i zasto tacno ta komanda sluzi?

10x guys!
[ ventura @ 18.04.2001. 22:44 ] @
print <<end;
<html><head><title>Proba</title></head>
<body>
end

[ gagi @ 20.04.2001. 00:53 ] @
Citat:
ventura wrote:
print <<end;
<html><head><title>Proba</title></head>
<body>
end



Jos kad bi ovo radilo, pivom bi te castio...
Uvjek mi daje error 500. Koji mu je sada...?

Posto nemogu da naprvim HTML, kakav je hocu dali je ovo mozda jedno rjesenje?!?!:
print "<meta http-equiv='refresh' content='1;URL=../hvala.htm'>\n";

Dobiem samo na 1sec, blank stranicu zatim refresh na drugu mada se to skoro i ne primjeti....
[ ventura @ 20.04.2001. 02:51 ] @
pa jos uvek moras pre toga da mu das

print "content type.. nesto...";

iz prompta ce da ti radi... a ako ti ne radi i iz prompta onda si zajebao nesto drugo.. ono gore je ispravno...
[ ventura @ 20.04.2001. 02:54 ] @
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<meta http-equiv=\'refresh\' content=\'1\;URL=../hvala.htm\'>\n";



i to ti je sav kod za ono sto tebi treba... naravno kad sminis skriptu moras da uradis

chmod 755 skripta.pl

[ gagi @ 20.04.2001. 04:01 ] @
Hvala Veki

Znam ovo sa "print" uradio sam to. Samo malo mi glupo da bude blank stranica, pa zatim refresh. Tjeo sam cjeli HTML da napravim u Perl-u. Tako da bi mi odma perl ispiso stranicu. Vidio sam u nekim skriptama ide nesto kao
print <<"EOM";
...cjeli html...
EOM

I poso zavrsen, a mrzi me da 100linija iz HTML-a moram da ubacim sve izmedju "print." Ali uradi cu onda ovaj refresh na drugu stranicu, bolje ista nego nista

10x enivejs!
[ ventura @ 20.04.2001. 04:35 ] @
pa ako imas HTML u posebnom fajlu koga hoces da prikazes... mozes i ovako da uradis

#!/usr/bin/perl
print "Content-type: text/html\n\n";
open(FILE,"strana.html") ;
while(<FILE>)
{
print $_;
}
close(FILE);
print "<meta http-equiv=\'refresh\' content=\'1\;URL=../hvala.htm\'>\n";



ovo bi trebalo da radi.. mada nisam 100% siguran ... ali ne vidim razlog sto ne bi radilo...


[fakin smajliji.. gojko iskljuci to s*****.. sjebe mi svaku poruku...]

[Ovu poruku je menjao ventura dana 04-19-2001 u 09:35 PM GMT]
[ Gojko Vujovic @ 20.04.2001. 10:40 ] @
Redirection mozes i ovako, i nema delay-a:

print "Location: http://url/koji/hoces.ext";
[ Gojko Vujovic @ 20.04.2001. 10:42 ] @
A ventura, ova poslednja scripta ti ne valja, nemas file locking a to je opasno.
[ gagi @ 21.04.2001. 20:17 ] @
Jaooo...
Nismo se mi sporazumjeli. Netreba mi redirect, to sam uzeo jer ne znam drukcije da uradim. Treba mi samo da u Perl-u mogu unjeti "pure" HTML code. Umjesto da moram za svaki liniju HTML-a da kucam;
print "....bla..bla..\n";
print ..bla..bla.bla\n";
...

Ja hocu da u Perl-u bude HTML bez ovog "print" znaci
<html>
<head>
<title>.....</title>
</head>
.............

[Ovu poruku je menjao gagi dana 04-21-2001 u 08:18 PM GMT]
[ Gojko Vujovic @ 21.04.2001. 20:56 ] @
Ventura ti je tacno odgovorio na to pitanje jos u svojoj prvoj poruci na ovom thread-u. To sto ti daje error 500 je problem do tvoje sintakse, ovo venturino mora da radi. Isto tako rekao ti je da moras prvo da odstampas content-type: text/html\n\n na pocetku jer to je najcesci razlog error-a 500. Inace bilo koja syntax greska daje error 500. Zato probaj prvo izvrsi script iz locala, i ako radi tek onda ga probaj preko browsera.
[ frenne @ 22.04.2001. 13:13 ] @
Citat:
Gojko wrote:
A ventura, ova poslednja scripta ti ne valja, nemas file locking a to je opasno. :)


cemu sluzi taj famozni file locking?

[ ventura @ 22.04.2001. 18:48 ] @
Ma to gojko previse gleda X Files :)

ko da ce nekoga da boli qu za nekim tamo PERL skriptama :)

a inace... ako ti recimo zadas

system "mail $user < message.txt";

a $user uzimas preko parametra iz CGI-ja, nemo moze da napise umesto "[email protected]" .. stavi "; ls... cat...rm... ; echo Ja sam baja > motd.txt ;" i onda ce komanda shellu izgledati

mail; ls... cat...rm... ; echo Ja sam baja > motd.txt ;

odnosno gomila posebnih komandi.. a za file locking ako ne stavis to neko moze da ti drlja po fajlama... isti qurac...
[ Gojko Vujovic @ 22.04.2001. 18:57 ] @
Ma ne to nego najprostiji primer - nece ti raditi counter kako treba ako nemas file locking. Zamisli otvori 10 korisnika istovremeno jednu stranicu koja poziva neki count.cgi koji ne koristi file locking. I svaki od tih 10 otvori count.txt (u kome se drzi broj poseta), uveca ga za jedan i upise ga. Problem je sto su sva ti procitala pocetni broj i kad god da upisu novi, bice to preko onog koji je vec upisao neki od ovih korisnika (milisekunde su u pitanju!).

I uopste to nije problem za velike sajtove, i na srednjim/malim se primecuje.