PHP als CGI und Probleme mit Formularen



  • Halo Leute,

    ich würde gern den webspace auf meinem UNI-Acount nutzen. Das Problem ist nur, dass der webserver php nicht als modul geladen hat. Dann kommt nur noch eine cgi-Lösung in frage. Und genau da ligt mein Problem. Ich habe noch nie mit PHP als CGI gearbeitet. Nun muste ich feststellen, dass solche Superglobalen Variablen wie $_POST oder $_GET bei der cgi-lösung nicht zur verfügung stehen 😞

    Ist es dennoch möglich Formulare zu realisieren?

    Für Eure Antwort wäre ich euch sehr dankbar 🙂

    Gruss 🙂



  • Ich weiß ja nicht, in welcher Programmiersprache du das machen willst.
    Ich habe früher mal mit Perl cgi's erstellt. Da gab es allerdings Umgebungsvariablen. Ich weiß zwar nicht, ob dir das jetzt weiter hilft, aber in Perl ging das so:

    $form_data=$ENV{'QUERY_STRING'};
    

    Die globale Variable ist hier natürlich "ENV".

    Das Problem ist nun nur, dass du die Daten in ihre Bestandteile selber Zerlegen musst. Das ist alles nicht so einfach wie PHP (deswegen bin ich auch recht schnell umgestiegen).



  • Hi,

    vielen Dank für die schnelle Antwort 🙂
    Ja mir ist die Perllösung auch bekannt. Nun bleibt nur noch festzustellen, ob das auch für PHP umsetzbar ist. Leider vermute ich, dass die Anfragen auf dem UNI-Server nicht in eine Umgebungsvariable exportiert werden 😞

    SALOMON schrieb:

    Das ist alles nicht so einfach wie PHP (deswegen bin ich auch recht schnell umgestiegen).

    Naja für webprogrammierer ist das sicherlich ein Argument. Was jedoch das Algemeine betrifft, bin ich der Meinung, dass perl die Nase vorn hat. Nicht zuletzt wegen den eregex.

    Gruss 🙂



  • SALOMON schrieb:

    Ich weiß ja nicht, in welcher Programmiersprache du das machen willst.

    Das ist jetzt nicht dein ernst, oder? 😉

    Das Problem ist nun nur, dass du die Daten in ihre Bestandteile selber Zerlegen musst. Das ist alles nicht so einfach wie PHP (deswegen bin ich auch recht schnell umgestiegen).

    use CGI;
    $cgi = new CGI;
    
    # aufruf: bla.pl?name=muh&tier=kuh
    
    $name = $cgi->param('name');
    $tier = $cgi->param('tier');
    
    # oder
    
    %params = $cgi->Vars();
    print "Ich bin eine $params{tier} und heiße $params{name}."
    

    ... und das komplizierte bei Perl war jetzt nochmal was genau? 😉


Anmelden zum Antworten