kostenloser Webspace werbefrei: lima-city


Post und danach Ausgabe

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    h2o

    h2o hat kostenlosen Webspace.

    Ich will, dass durch PHP automatisch eine bestimmte Eingabe in einem Formular-Feld gemacht wird und danach soll dann die Seite ausgegeben werden, die ausgegeben wird.

    Mal Beispiel:
    Ihr ruft die Suche hier auf lima auf, gebt da "Test" ein und dr?ckt auf Suchen.
    Nun soll durch PHP automatisch die Seite ausgeben werden, die dann angezeigt w?rde.

    Kann ich das in PHP umsetzen?
    Wie?

    H2O
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo h2o!

    Ich musste den Text mehrmals durchlesen, bevor ich verstanden habe, was du meintest. (Und das lag diesmal sicher nicht an meinen Lesef?higkeiten :wink:)


    ... und danach soll dann die Seite ausgegeben werden, die ausgegeben wird.


    Eine pleonastische Tautologie?

    Ich will mal versuchen zu erkl?ren, wie das ablaufen k?nnte und entschuldige mich schon mal im Voraus f?r meine verkorkste Ausdrucksweise:

    1.) Das PHP-Script ruft mit fsockopen() eine Web-Seite auf.

    2.) Das PHP-Script findet im zur?ckgegebenen Text das HTML-Formular.

    3.) Es wertet das Formular aus und erstellt eine Datenstruktur (assoziatives Array?), in welcher die einzugebenden Formulardaten abgespeichert werden.

    4.) Je nach Art des Formulars erstellt das Script aus der Datenstruktur einen TextString nach "URL-Query-Art" ("?bla=blubb&blo=bli") f?r GET-Requests oder eine Reihe von "Text-Zeilen" f?r einen POST-Request.

    5.) Mit fsockopen() wird die Adresse des Formulars (action-Attribut) angefordert und dabei der entsprechende Request mitgeschickt.

    6.) Die zur?ckgegebenen Daten (normalerweise wieder eine HTML-Seite) werden mit echo() oder print() ausgegeben.

    So in etwa?

    MfG
    alopex
  4. Autor dieses Themas

    h2o

    h2o hat kostenlosen Webspace.


    Ich musste den Text mehrmals durchlesen, bevor ich verstanden habe, was du meintest. (Und das lag diesmal sicher nicht an meinen Lesef?higkeiten :wink:)


    Ui, da hab ich mir ja wirklich was zusammengeschrieben...
    Aber es ist ja auch nicht so einfach auszudr?cken ;)


    Eine pleonastische Tautologie?


    Was auch immer das sein mag...


    Ich will mal versuchen zu erkl?ren, wie das ablaufen k?nnte und entschuldige mich schon mal im Voraus f?r meine verkorkste Ausdrucksweise:
    [...]


    Also ich habe schon herausgefunden, wie man das POST absendet:
    http://www.php-faq.de/q/q-code-post.html
    Aber ich wei? nicht, wie ich danach den Inhalt der Seite ausgeben kann, an die das gesendet wurde...

    Das ist mein Problem.

    Ist das vielleicht mit CGI m?glich?
    Mein Apache kann auch CGI... *gg*

    H2O
  5. c*********c


    Aber ich wei? nicht, wie ich danach den Inhalt der Seite ausgeben kann, an die das gesendet wurde...


    Das sollte, soweit ich das richtig verstanden habe :wink: *alopex_imitier^^*, mit fgets funktionieren!

    <?

    $ausgabe = fgets($fp,2048);

    echo $ausgabe;

    ?>

    Das dann in eine while-Schleife packen, damit alles ausgelesen wird!

  6. Ja genau, so geht das. Unter
    http://www.php.net/de/manual/function.fsockopen.php
    m?sste sich auch ein Beispielscript befinden.

    Die Vorgehensweise ist zweiteilig:

    1.) Mit fputs() den HTTP-Request senden.

    2.) Wenn dies erfolgreich war, mit fgets() abholen, was der Server alles schickt.

    Wie es der Zufall so will, habe ich vor ca. 3 Stunden gerade sowas ?hnliches angefangen zu programmieren. Hier mal ein Ausschnitt:

    $err = ''; // Kein Fehler im Normalfall
    $timeout = 30; // Sekunden
    $ua = 'Zomilla/1.0';
    $referrer = '';
    $server = '127.0.0.1';
    $server = 'www.mein-horst.de';
    $request_uri = '/site/index.shtml';
    $sh = fsockopen($server, 80, $err_num, $err_str, $timeout);
    if($sh === FALSE) {
    warn('Error: Could not not establish fsock connection to "'.$server.$request_uri.'"!');
    warn('fsockopen() Error: '.$err_str);
    $err = '('.$err_num.') '.$err_str;
    return(FALSE);
    }

    print("Sending Headers ...<br />\n");
    // Seite anfordern
    $ok = TRUE;
    $ok = @fputs($sh, 'GET '.$request_uri." HTTP/1.0\n");
    $ok = @fputs($sh, 'Host: '.$server."\n"); // sonst erzeugt PHP auf dem Server keine HTTP_HOST-Variable
    $ok = @fputs($sh, 'Referer: '.$referrer."\n");
    $ok = @fputs($sh, 'User-Agent: '.$ua."\n");
    $ok = @fputs($sh, "\n");
    if($ok === FALSE) {
    $err = 'Error: Could not send HTTP request!';
    warn($err);
    @fclose($sh);
    return(FALSE);
    }
    print("Receiving ...<br />\n");
    // Seite empfangen
    while( !feof($sh) ) {
    $tmp_buffer = @fgets($sh);
    if( $tmp_buffer === FALSE ) break;
    //printf("%s<br />\n", dehtml($tmp_buffer) );
    $buffer .= $tmp_buffer;
    }
    if($tmp_buffer === FALSE) {
    $err = 'Error: Could not receive full page!';
    warn($err);
    @fclose($sh);
    return(FALSE);
    }
    @fclose($sh);

    Das ist nat?rlich wieder ?belster M?slifresser-Programmierstil, aber es sollte dir nicht schwerfallen, das passend hinzubiegen. Unter
    http://alopex.pyrokar.lima-city.de/srccodelist/index.php?name=h2o_fsockopen
    kannst du dir den Qu?ltext formatiert anschauen. Unter
    hhttp://alopex.pyrokar.lima-city.de/srccodelist/index.php?name=h2o_fsockopen&mode=coloured
    auch in bunt aber ohne Zeilennummern.

    ... Aber ich sehe gerade (*logfile_analysier*), compactdisc war wieder schneller als du ... :wink: (*mich_selbst_imitier*)



    Eine pleonastische Tautologie?

    Was auch immer das sein mag...


    Ich w?rde sagen: Nicht verzagen, Thornet fragen! Der kennt sich doch mit Sprache aus.


    Mein Apache kann auch CGI... *gg*


    Wow! Von den Apachen, die ich kenne ist einer tot (der Blutsbruder von Old Shatterhand) und mit dem anderen schie?t man irakische Zivilisten tot, die nicht schnell genug weglaufen k?nnen. Aber CGI? Noch nie davon geh?rt ... :wink:

    @compactdisc

    (Meine geistigen F?higkeiten nehmen durch diese st?ndige Lima-City-Berieselung langsam ab, jetzt fange ich auch schon an, "@"'s vor die Namen zu setzen, um pers?nliche Anrede zu simulieren)

    Seit PHP4.2.0 (ungef?hr) kann der zweite Parameter bei fgets() weggelassen werden. PHP nimmt dann automatisch einen Puffer von 8192 Bytes und kann auch l?ngere Zeilen einlesen.

    compactdisc imitier :wink:, wie er mich imitiert :wink:
    (Ich glaube, dass hab ich schon mal irgendwo so ?hnlich geschrieben).

    MfG
    alopex

    *nachtr?glich_einf?g*

    Ja, ausgeben muss man den Text schon, wenn man ihn sehen muss. *schmunzel*
  7. Autor dieses Themas

    h2o

    h2o hat kostenlosen Webspace.

    Argghhh...

    Ich hab das Problem gel?st...

    Das Script auf http://www.php-faq.de/q/q-code-post.html hat bereits gemacht was ich wollte, ich hatte nur leider vergessen ein echo $x anzuh?ngen *ggg*

    Sorry...

    Aber vielen Dank f?r eure Bem?hungen.

    [ closed ]

    H2O
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!