Bei buttonclick dynamische url anzeigen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bei buttonclick dynamische url anzeigen

    Hi,

    ich habe ein Formular erstellt, mit dem man Daten in eine Sql-Datenbank schreiben kann. Nun möchte ich, dass der click auf den Button den User direkt zurück zur mainpage bringt nur diesmal mit der ID des neuen Datensatzes als Parameter.

    >
    Code:
    [URL="http://www.mainpage/"]example.com[/URL]
    > click auf button
    >
    Code:
    [URL="http://www.mainpage/"]example.com[/URL][URL="http://www.mainpage/"][/URL]/?p=123123
    Ich habe mir überlegt den button ein php skript aufrufen zu lassen, welches den Speichervorgang erledigt und danach per header() den link auf entsprechende Weiße modifiziert. Aber ich habe in einigen Foren gelesen, dass 1. header() problematisch wäre und 2. will er meine "saveForm.php" (<input type="submit" action="saveForm.php"...) nicht aufrufen.

    Ideen?

    Und gerade noch nebenbei: Wie schafft man es statt
    Code:
    [URL="http://www.mainpage/"]example.com[/URL][URL="http://www.mainpage.de/asd5423as%5D"]/?p=asd5423as[/URL]
    Code:
    [URL="http://www.mainpage/"]example.com[/URL][URL="http://www.mainpage.de/asd5423as%5D"]/asd5423as[/URL]
    zu bekommen?
    Zuletzt geändert von mihoff; 05.06.2010, 19:45.

  • #2
    Bitte erst mal die Verwendung von Beispieldomains gemäß Regeln anpassen!
    PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr - Ankündigungen im Forum : PHP Developer Forum



    Zum ersten: Dafür kann man durchaus eine Umleitung benutzen.
    Der Rest deiner Fragestellung ist viel zu unkonkret.

    Zum zweiten: Stichwort mod_rewrite
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Was soll an "headern" problematisch sein? Ich denke mal es geht um die Weiterleitung des Clients mittels eines Location-Header - richtig gesetzt sollte es da keine Probleme geben.

      2. will er meine "saveForm.php" (<input type="submit" action="saveForm.php"...) nicht aufrufen.
      Informiere die bitte, wie man Formulare richtig erstellt.
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #4
        Also es geht im Grunde darum, dass ich ja beim errechnen der Seite nicht weiß zu welcher ID der Button weiterleiten soll. Dies weiß ich ja erst, sobald ich die Form in die Datenbank eingetragen habe. Logische Schlussfolgerung für mich: Der Button muss zu einer php-Zwischenseite überleiten, in der die per POST übermittelten Form-Daten in die Datenbank übertragen werden. Sobald dies erledigt ist, existiert auch die ID und die php-Zwischenseite kann per "header()" wieder auf die mainpage mit angehängtem id-parameter verweißen.

        Die Form aufgebaut mit <form action="saveForm.php" method="post"> und somit denke ich auch richtig (ich nehme an, du hast dich daran gestört, dass ich in meinen Beispiel die action in den Button eingetragen habe).

        Da die Schwierigkeiten mit "header()", die ich in einem anderen Forum aufgeschnappt habe nichtig ist, werde ich die Funktion weiterhin ohne Bedenken verwenden.

        Zum Problem, dass die Weiterleitung auf die "saveForm.php" nicht korrekt funktioniert: Ich habe gerade eben gemerkt, dass ich vergaß eine die Datei zu übertragen. Ich melde mich hier wieder, falls sich in dem Bezug noch weiter Schwierigkeiten ergeben.

        Abschließend, danke für die bisherige Hilfe!

        MfG

        Kommentar


        • #5
          wg. Form - ja, Fehler in der Art kommen hier öfter, daher...

          Der Rest passt dann schon von deinen Gedanken her.
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #6
            Ich habe es inzwischen geschafft, das Schreiben des Datensatzes durch eine php-Zwischenseite zu erledigen.

            Nun versuche ich das ganze auf Ajax-Ebene umzusetzen. Sprich durch drücken des Buttons wird eine Javascript-Funktion aufgerufen, die per XMLHttpRequest und der GET-Methode die Daten an eine php-Serverseite übermittelt, die wiederum das Abspeichern übernimmt.

            Nun habe ich dabei folgende Probleme:

            Code:
              <script type="text/javascript">
                function saveText() {
                    try
                    {
                        var author  = document.getElementById("enternick").value;
                        var content = document.getElementById("entercontent").value;
            
                        var ajaxRequest
                        try
                        {
                            if (window.XMLHttpRequest)
                              {
                              ajaxRequest = new XMLHttpRequest();
                              }
                            else
                              {
                              ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                              };
                        }
                        catch(err)
                        {
                            alert(err.description);
                        };
                        try
                        {
                            // aktivieren der folgenden Zeile hat zur Folge, dass der gesamte Code nicht mehr ausgeführt wird.
                            //ajaxRequest.open("GET","http://example.com/saveGuestText.php?author="author+"&content="content,true);
                            //ajaxRequest.send(null);
                        }
                        catch(err)
                        {
                            alert(err.description);
                        };
                    }
                    catch(err)
                    {
                        alert(err.description);
                    };
                }
              </script>
            ^siehe Kommentare.

            Und mein zweites Problem:

            Wie erstelle ich eine Antwort per PHP? Bzw. ist eine "*.php" Datei dafür ungeeignet? Kennt jemand für diesen Bereich gute Tutoriale?

            P.S. über Hinweise um meinen Coding-Style zu verbessern freue ich mich immer

            Mit freundlichen Grüßen
            mihoff

            Kommentar


            • #7
              Zitat von mihoff Beitrag anzeigen
              ^siehe Kommentare.
              Der Kommentar ist wertlos.
              Wenn (d)ein Browser den Code ab irgendeiner Zeile „nicht mehr ausführt“, dann wird er das bestimmt mit irgendeiner Fehlermeldung quitieren. (Du weißt, wo man in gängigen Browsern die Fehlerkonsole findet?)
              Wenn nicht - dann wird der Code vermutlich ausgeführt, nur nicht mit dem Ergebnis, das du erwartest.


              Wie erstelle ich eine Antwort per PHP? Bzw. ist eine "*.php" Datei dafür ungeeignet?
              Eine Antwort auf einen vom Client kommenden Request, meinst du?
              Natürlich ist ein PHP-Script dazu geeignet, mit den ganz üblichen Ausgabemechanismen, wenn du dem Client per Ausgabe eines entsprechenden Content-Type HTTP-Headers mitteilst, wie er die Daten interpretieren soll.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Zitat von wahsaga Beitrag anzeigen
                Der Kommentar ist wertlos.
                Wenn (d)ein Browser den Code ab irgendeiner Zeile „nicht mehr ausführt“, dann wird er das bestimmt mit irgendeiner Fehlermeldung quitieren. (Du weißt, wo man in gängigen Browsern die Fehlerkonsole findet?)
                Wenn nicht - dann wird der Code vermutlich ausgeführt, nur nicht mit dem Ergebnis, das du erwartest.
                Hehe, gut zu wissen, dass so etwas wie eine Fehlerkonsole existiert. Wurde bisher nirgendwo erwähnt. Danke. Letztendlich waren es 2 fehlende '+' bei der String-Zusammenführung.

                Zitat von wahsaga Beitrag anzeigen
                Eine Antwort auf einen vom Client kommenden Request, meinst du?
                Natürlich ist ein PHP-Script dazu geeignet, mit den ganz üblichen Ausgabemechanismen, wenn du dem Client per Ausgabe eines entsprechenden Content-Type HTTP-Headers mitteilst, wie er die Daten interpretieren soll.
                Und wo kann ich etwas über die "üblichen Ausgabemechanismen" nachlesen. Google jetzt schon seit einer viertel Stunde und finde nichts passendes. Wahrscheinlich überseh ich die ganze Zeit nur irgendetwas.

                Kommentar


                • #9
                  Zitat von mihoff Beitrag anzeigen
                  Und wo kann ich etwas über die "üblichen Ausgabemechanismen" nachlesen. Google jetzt schon seit einer viertel Stunde und finde nichts passendes. Wahrscheinlich überseh ich die ganze Zeit nur irgendetwas.
                  Ja - dass bspw. echo/print schon zu diesen Ausgabemechanismen gehören.
                  Für komplexere Datentypen gibt's dann ggf. eigene Ausgabefunktionen.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Zitat von wahsaga Beitrag anzeigen
                    Ja - dass bspw. echo/print schon zu diesen Ausgabemechanismen gehören.
                    Für komplexere Datentypen gibt's dann ggf. eigene Ausgabefunktionen.
                    Hm.

                    Also im es geht ja darum, dass ich einen Request gesendet habe:

                    Code:
                    ajaxRequest.open("GET","http://example.com/stuff.php?author="+parameter,true);
                    ajaxRequest.send(null);
                    Und wie sende ich jetzt von der (vom Server-)aufgerufenen "/stuff.php" aus Daten zurück zum Clienten?

                    Um mein Problem vll klarer zu machen: Ich sende Daten die in die Datenbank geschrieben werden sollen zu dieser "Stuff.php" und will nun die id zurückbekommen unter der abgespeichert wurde. Ich will nämlich direkt an momentane URL die id als Parameter anhängen.


                    //edit:
                    Habe nun folgendes ausprobiert:

                    ajaxRequest.open("GET","http://example.com/stuff.php?author="+parameter,true);
                    ajaxRequest.send(null);
                    document.write(ajaxRequest.responseText);


                    und bei "Stuff.php" ein "echo "lol?";" angehängt. Das "lol?" wird nicht ausgegeben.
                    Zuletzt geändert von mihoff; 06.06.2010, 19:18.

                    Kommentar


                    • #11
                      Zitat von mihoff Beitrag anzeigen
                      Und wie sende ich jetzt von der (vom Server-)aufgerufenen "/stuff.php" aus Daten zurück zum Clienten?
                      Wie würdest du es denn machen, wenn es nicht per AJAX angefordert worden wäre?

                      Habe nun folgendes ausprobiert:
                      Damit hast du zunächst mal vollkommen ignoriert, wofür das erste große A in AJAX steht.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Perfekt, danke schön. Hab es hingekriegt

                        Kommentar

                        Lädt...
                        X