Rolli: An zwei URL´s pro POST senden

Hallo,
ich möchte das sich Leute die sich für meinen Newsletter interessieren
sich unter z.B. URL (www.huuu.de/anmelden.php) anmelden können, hier für sende ich die Daten an die SQL
z.B. URL (www.bala.de/newsltter.php)

das klappt auch alles wunderbar.

Ich möchte aber das der User weitre hin auf der www.huuu.de/anmelden.php bleibt und nicht zu www.bala.de/newsltter.php springt.

Kamm ich überhaupt mit PHP (z.B. www.bala.de/newsltter.php?name=var&email=var1) ohne <form> Tag an eine andere URL senden.

Grüße Rolli

  1. moin,

    Kamm ich überhaupt mit PHP (z.B. www.bala.de/newsltter.php?name=var&email=var1) ohne <form> Tag an eine andere URL senden.

    probiers mal hiermit:
    http://at2.php.net/manual/en/function.fopen.php

    cu,
    hoagie

    1. Hi hoagie,

      http://at2.php.net/manual/en/function.fopen.php

      also wenn ich das richtig verstanden habe dann könnte es so aussehen!?

      if( $email !=""
      and $name !="" ){
         $fp = fopen("http://www.selfphp3.de/index.php?name=var&email=var1","r");

      }else{
          echo'<form action="http://huuu.de/anmelden.php" method="POST">';
          ...Formulardaten
      }

      oder?

      1. hi,

        also wenn ich das richtig verstanden habe dann könnte es so aussehen!?

        ja, so könnte es aussehen....
        weiss zwar nicht genau was du mit deinem if genau vorhast, aber ich würd dir vorschlagen, probiers einfach aus....

        lg
        hoagie

  2. Moin!

    Ich möchte aber das der User weitre hin auf der www.huuu.de/anmelden.php bleibt und nicht zu www.bala.de/newsltter.php springt.

    Das wird kaum gehen, weil der Browser nun mal ein POST-Request an diese URL senden muß. Und von dort kriegt er auch zwingend eine Rückmeldung.

    Rückmeldung, dass alles geklappt hat, ist für den Benutzer und Absender eines Formulares sehr wichtig. Sonst klickt der nämlich nochmal drauf, oder auch drei- oder viermal, weil das nicht geht.

    Dein POST-Skript hat mehrere Möglichkeiten:

    1. Es senden den HTTP-Status 204 No Content zurück. Dann ändert der Browser an seinem Browserfenster absolut nichts, das Formular bleibt so stehen, wie es war, und der Benutzer kann durch weitere Klicks mehr und mehr Newsletterkopien bestellen.

    2. Es seinden den HTTP-Status 302 Redirect. Dann wird der Browser statt des Ergebnisses des Skriptes sofort eine andere Datei anfordern. Das ist sinnvollerweise eine Seite, die dem Benutzer bestätigt, dass er angemeldet ist. Vorteil: Mehrfachabsendungen sind nach dem Redirect nicht mehr möglich, auch nicht durch Reloads.

    Alle diese Mechanismen setzen natürlich voraus, dass du das Anmeldeskript entsprechend anpassen kannst.

    Um es flexibel zu halten, ist beispielsweise nichts dagegen einzuwenden, wenn du die Zielurl für die Danke-Seite als Hidden-Feld mitsendest. Dann kannst du bei mehreren Formularen individuell weiterleiten.

    - Sven Rautenberg

    --
    Die SelfHTML-Developer sagen Dankeschön für aktuell 21205,05 Euro Spendengelder!
    1. Hi
      danke erst mal für die Aufklärung.

      Um es flexibel zu halten, ist beispielsweise nichts dagegen einzuwenden, wenn du die Zielurl für die Danke-Seite als Hidden-Feld mitsendest. Dann kannst du bei mehreren Formularen individuell weiterleiten.

      aber das mit dem Hidden-Feld habe ich nicht verstanden :( wie könnte das aussehen?

      1. Moin!

        danke erst mal für die Aufklärung.

        Um es flexibel zu halten, ist beispielsweise nichts dagegen einzuwenden, wenn du die Zielurl für die Danke-Seite als Hidden-Feld mitsendest. Dann kannst du bei mehreren Formularen individuell weiterleiten.

        aber das mit dem Hidden-Feld habe ich nicht verstanden :( wie könnte das aussehen?

        Du kennst hidden-Formularfelder? Da stehen Daten drin. Die man (u.a.) mit PHP auslesen kann. Um sie als String weiterzuverarbeiten. Beispielsweise, indem man sie als Zieladresse einer Weiterleitung mittels header()-Funktion benutzt.

        Wenn du nur ein einziges Formular hast, und/oder nur eine einzige Seite, die nach dem Anmelden erscheinen soll, dann vergiß dieses Detail einfach. Man soll nichts komplizierter machen, als notwendig.

        - Sven Rautenberg

        --
        Die SelfHTML-Developer sagen Dankeschön für aktuell 21205,05 Euro Spendengelder!