🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
3 messages
3 total messages Started by Mateusz Szczyrzyca Fri, 27 May 2011 11:28
FastCGI, Lighttpd i dane z POST - nie ma ich w STDIN
#52232
Author: Mateusz Szczyrzyca
Date: Fri, 27 May 2011 11:28
52 lines
2377 bytes
Witam serdecznie,

Napotkałem mały problem z formularzem w aplikacji Perl 
uruchamianej w FastCGI. Nagooglałem się trochę i wynalazłem jak w 
perlu ,,ugryźć'' tablicę POST.

#v+
   if( $ENV{'REQUEST_METHOD'} eq "POST" )
   {  
      read( STDIN, $data, $ENV{CONTENT_LENGTH} );
      $vars .= "post data: $data<br/>";
   }
#v-

Na początku miałem formularz taki:

#v+
   <form method="post">
   Login: <input type="text" name="login" />
   <br/>Hasło: <input type="password" name="haslo" />
   <input type="hidden" name="action" value="login" />
   <br/><input type="submit" name="submit" value="Wyślij" /> 
   </form>
#v-

Ale nie działał (zakładam, że taki formularz się tylko POSTuje do aktualnego 
adresu).

Potem oczywiście action="program.pl" i inne tego typu sztuczki, ale 
wciąż w STDIN nic nie ma. Jakby nie było wysyłane w ogóle.

Aplikacja u mnie działa w ten sposób, że nie mam plików perl na zasadzie: 
adres.pl/plik.pl - Dispatcher nie szuka tych plików, ani ich nie wykonuje w
 żaden sposób - on tylko żądania GET analizuje (teraz POST mi potrzebne). 
Czyli jeżeli program.pl nie istnieje/istnieje to nic się nie stanie.
Linki działają w mod_rewrite na zasadzie: adres.pl/jakis-link

Oczywiście spróbowałem też manewru:

#v+
   if( $ENV{'REQUEST_METHOD'} eq "POST" )
   {  
      $vars = `formularz.pl`
   }
#v-

Ale i ten formularz.pl zgłasza, że na STDIN nic nie ma

Ktoś orientuje się może w czym problem, bądź jak to zdebugować?

Dzięki z góry,
Pozdrawiam
Re: FastCGI, Lighttpd i dane z POST - nie ma ich w STDIN
#52233
Author: xenu536
Date: Sat, 28 May 2011 10:29
2 lines
1081 bytes
A po co się męczyć z ręcznym czytaniem POST? Możesz użyć CGI.pm albo jeśli 
jest ono dla ciebie zbyt ciężkie to pozostaje CGI::Simple. 
Re: FastCGI, Lighttpd i dane z POST - nie ma ich w STDIN
#52234
Author: Mateusz Szczyrzyca
Date: Sun, 29 May 2011 19:03
12 lines
1446 bytes
Dnia 27.05.2011 Mateusz Szczyrzyca <mateusz@annihitek.net> napisał/a:
> Witam serdecznie,
>
> Napotkałem mały problem z formularzem w aplikacji Perl 
> uruchamianej w FastCGI. Nagooglałem się trochę i wynalazłem jak w 
> perlu ,,ugryźć'' tablicę POST.
> [...]

Dobra, poradziłem sobie.

Rozwiązaniem jest użycie FCGI.                                                                                                                                                                                      
Tutaj szczegóły: http://www.ruby-forum.com/topic/145858
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads