/ 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
POST til flere scripts ?
Fra : Niels Bachmann


Dato : 14-09-01 22:29

Jeg kører en mailserver med qmail, vpopmail, og vqregister (2 sidstnævnte
fra http://inter7.com).
Apache, mySQL og PHP4.
vqregister er et CGI script skrevet i C, og det bruger nogle html templates
til formen og til at sende evt. fejlmeddelelser til klinenten.
Nu kunne jeg tænke mig at fylde noget data ind i dbasen samtidig. Det kunne
måske teoretisk lade sige gøre med :
<FORM METHOD="POST" ACTION="et_script.php">
Scriptet "et_script.php" fylder ting i dbasen og slutter med en at sende en
header, fx:
Header('POST /vqregister.cgi HTTP/1.0 key=value&key=value');

Jeg har prøvet dette, og det virker ikke. Nogen her der ved hvorfor, eller
har prøvet noget der ligner?
Hint's modtages med kyshånd

MVH/ Niels Bachmann
--
"Mandrake.... Have you ever seen a 'commie drink a glass of water?"

http://www.precious.dk



 
 
Peter Makholm (15-09-2001)
Kommentar
Fra : Peter Makholm


Dato : 15-09-01 10:19

"Niels Bachmann" <precious@precious.dk> writes:

> <FORM METHOD="POST" ACTION="et_script.php">
> Scriptet "et_script.php" fylder ting i dbasen og slutter med en at sende en

PHP er ikke perl.

Jeg er sikker på at LWP::Simpel ville virke, men jeg tror jeg ville
kalde vqregister.cgi med et system()

--
Når folk spørger mig, om jeg er nørd, bliver jeg altid ilde til mode
og svarer lidt undskyldende: "Nej, jeg bruger RedHat".
-- Allan Olesen på dk.edb.system.unix

Niels Bachmann (16-09-2001)
Kommentar
Fra : Niels Bachmann


Dato : 16-09-01 12:30

>PHP er ikke perl.

Det er jeg klar over

>Jeg er sikker på at LWP::Simpel ville virke, men jeg tror jeg ville
>kalde vqregister.cgi med et system()

Det er jeg osse kommet frem til. Men hvordan for jeg det til at se ud som om
det er en POST til vqregister.

Hvis jeg skriver " vqregister.cgi
dom=domain.dk&fname=Joe&user=joe&pass=123&vpass=123" i en shell.
Svarer scriptet med html som det skal, men med "Error: Unknown request
method"

MVH/ Niels Bachmann
--
"Mandrake.... Have you ever seen a 'commie drink a glass of water?"

http://www.precious.dk



Peter Makholm (16-09-2001)
Kommentar
Fra : Peter Makholm


Dato : 16-09-01 12:54

"Niels Bachmann" <precious@precious.dk> writes:

> >PHP er ikke perl.
>
> Det er jeg klar over

Er du så sikker på at du er i den rigtige gruppe, når du kalder dine
filer *.php?

> Det er jeg osse kommet frem til. Men hvordan for jeg det til at se ud som om
> det er en POST til vqregister.

Læs cgi-specifikationen <http://hoohoo.ncsa.uiuc.edu/cgi/interface.html>

Følgende er totalt uafprøvet og klippet sammen fra forskellige steder:

---cut
use FileHandle;
use IPC:en2;

[...]

$ENV{REQUEST_METHOD} = 'POST';
$ENV{CONTENT_TYPE} = 'application/x-www-form-urlencoded';
$ENV{CONTENT_LENGTH} = length $inddata;

$pid = open2(*Reader, *Writer, "vqregister.cgi" );
print Writer $inddata;
$got = <Reader>;
---cut

Men måske bør du kunne genbruge noget af %ENV.

--
Når folk spørger mig, om jeg er nørd, bliver jeg altid ilde til mode
og svarer lidt undskyldende: "Nej, jeg bruger RedHat".
-- Allan Olesen på dk.edb.system.unix

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

Månedens bedste
Årets bedste
Sidste års bedste