Portál AbcLinuxu, 11. května 2025 07:11

Dotaz: CGI-BIN predanie parametrov v jednom scripte

23.4.2008 08:57 shepi | skóre: 6
CGI-BIN predanie parametrov v jednom scripte
Přečteno: 335×
Odpovědět | Admin
Ahojte

Potrebujem ukazat nejaky priklad ako predam parametre s input HTML poli aby si ich prevzal script na dalsie spracovanie.Tu mam nejaky priklad ale asi som to pokafral.
#!/bin/bash

echo Content-type: text/html
echo ""

meno=$realname
mail=$email

if [ $# = 0 ]
then
/bin/cat  EOM1
HTML
HEAD TITLEText search /TITLE
/HEAD
BODY bgcolor="#cccccc" text="#000000"
HR SIZE=5
H1Text search /H1

FORM method="POST" ACTION="../cgi-bin/scr11a_input.pl"
name: INPUT NAME=realnameBR
email: INPUT NAME=emailBR
INPUT TYPE=SUBMIT value="ok" 
/FORM

/BODY
/HTML
EOM1

else

/bin/cat  EOM2
HTML
HEADTITLESearch results for $* /TITLE
/HEAD
BODY bgcolor="#cccccc" text="#000000"
HR SIZE=5
H1Search results for $meno $mail /H1
HR SIZE=5
Py
PRE
EOM2

/bin/cat  EOM3

P
/BODY
/HTML
EOM3
fi

Toto by malo zobrazit premenne meno;mail ale nezobrazuje ;-) a nechcem to posielat do dalsieho suboru.pl . Musel som vyhodit v ukazke < > aby mi to vzalo. Dik za typy
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.4.2008 09:18 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: CGI-BIN predanie parametrov v jednom scripte
Odpovědět | | Sbalit | Link | Blokovat | Admin
Z příkladu mi není jasné, kde a jakým způsobem plníš proměnné $meno a $mail (jestli se ptáš na toto)?
23.4.2008 09:28 shepi | skóre: 6
Rozbalit Rozbalit vše Re: CGI-BIN predanie parametrov v jednom scripte
myslel som ze ked napisem

meno=$realname mail=$email

a postlaceni submit sa script odkaze sam na seba tak naplni tieto premenne. blbost ?
23.4.2008 09:41 shepi | skóre: 6
Rozbalit Rozbalit vše To co som napisal je blbost sorry
cesta vedie cez $QUERY_STRING a tam mi to hadze takze stadial to budem naplnat. ale ak mate nejaky typ napiste.
23.4.2008 09:43 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: CGI-BIN predanie parametrov v jednom scripte
Aha :-)
jednoduše třeba takto: zavolat script: script "pepa vyskoc" "pepa_vyskoc@vyskoc.cz"
a proměnné se naplní:
meno="$1"
mail="$2"
kouzer avatar 23.4.2008 09:57 kouzer | skóre: 11 | Mladá Boleslav
Rozbalit Rozbalit vše Re: CGI-BIN predanie parametrov v jednom scripte
Odpovědět | | Sbalit | Link | Blokovat | Admin
Osobně bych to uložil do proměnných z POSTU: sub cistVstupPost {
my (%hledanePole, $buffer);
read(STDIN, $buffer, $ENV{CONTENT_LENGTH});
my @pary = split(/&/, $buffer);
foreach my $dvojice(@pary) {
 ($nazev, $hodnota) = split(/=/, $dvojice);
  if (not exists $hledanePole{$nazev} or $hledanePole{$nazev} eq $hodnota or $hledanePole{$nazev} eq '') {
  $hledanePole{$nazev} = $hodnota;
  } else {
   $hledanePole{$nazev}.=','.$hodnota;
  }
 }
 return (%hledanePole);
}
A pak bych tam dal exec nebo system a zavolel si jiný kript s parametry...
exec(muj_skript.pl param{prvni} param{druhy})
Linux user #448944.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.