Ankündigung

Einklappen
Keine Ankündigung bisher.

Erneutes Aufrufen einer Seite

Einklappen

Neue Werbung 2019

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

  • Erneutes Aufrufen einer Seite

    Hallo @all

    bis jetzt konnte ich immer durch fleisiges Mitlesen und googlen lösungen zu meinen Problemen finden. Doch nun muss ich doch einmal nachfragen, da wie es scheint ich einfach die falschen Suchbegriffe in die Suma reinhause.

    Und zwar folgender Sachverhalt, ich habe ein Formular das durch einen Dynamischen Link initiert wird. In diesem Formular werden direkt die Daten aus der Datenbank eingetragen und der Benutzer hat nun die Möglichkeit entsprechende Daten zu ändern, und mittels absenden, die daten in der Datenbank zu aktualisieren. Soweit funktioniert auch alles Wunderbahr und die Datenbank wird auch so wie Sie es soll aktualisiert.

    Mein Wunsch ist es nun, das nach dem Absenden des Formulars die Daten automatisch aktualisiert werden und die Geänderten Daten Angezeigt werden.

    Anfangs hatte ich versucht mittels formular einfach entsprechende Daten erneut abzufragen.

    Das Scribt wird anfangs mittels übergebenen id wert eingeleitet, und ausgewertet.

    PHP-Code:
    <?php
    require_once '../include/include.php';
    import_request_variables('gp','url_');
    $id    =    numeric($url_idtrue);
    $sql "SELECT id_tester FROM tester where id_tester = $id";
    sql_connect();
    @
    $query mysql_query($sql);
    @
    $result mysql_fetch_assoc($query);
    @
    mysql_free_result($query);
    sql_disconnect();
    Danach werden entsprechende Variablen erzeugt. Sollte das Fehlschlagen erscheint direkt ein Link zur Vorhergehenden Seite.

    PHP-Code:
    if ($result[id_tester] != $id)
    {
        echo 
    'Diese Seite Existiert nicht! Versuchen Sie es erneut <a href="update_daten.php">Zur&uuml;ck zur &Uuml;bersicht</a>';    
    }

    else
    {
    // Die Funktion details_abrufen, ruft mittels Funktion entsprechende Tabellen
    // aus der DB ab, bei Fehler wird das Script durch die Funktion beendet.

    @$res_test1             =     details_abrufen($id'test1');
    @
    $res_test2            =    details_abrufen($id'test2');
    ...........
    ?> 
    Danach beginnt mein Formular

    PHP-Code:
    <form action="<?php echo "aktualisieren.php?id=$id"?>" method="POST">
    <table width="95%" border="1" cellpadding="0" cellspacing="0" bordercolor="#0066CC" style="border:thin outset" align="center">
      <tr>
        <th scope="col">test1 </th>
       //...
      </tr>
      <tr>
        <td>
         //Hier werden Anfangs die Daten aus der DB eingetragen
          <input name="Name" type="text" id="Name" size="45%" maxlength="60" value="<?php echo @$res_test1[test1];  ?>" />
           //Hier wird mittels Funktion die Eingabe für die Datenbank gebrüft, und
          // Und entsprechend angpasst.
          <?php $Name is_wert($url_name,60); ?>
        </td>
    //...........................................usw
    //Ende des Scripts
     <input type="submit" name="insert" value="Daten Aktualisieren" />
    </td>
    </tr>
    </table>
    </form>
    Sobald nun der Senden Button gedrückt worden ist wird folgende Funktion ausgeführt.

    PHP-Code:
    if (isset($url_insert))
    {
        
        
    $sql_update    =    "update test set wert = $test
            test2 = 
    $test2       where id = $id";
         
    update_data($sql_update);

    Die Funktion update_data schaut wie folgt aus:

    PHP-Code:
    function update_data($sql)
    {
        
    sql_connect();
        
    $query    =    mysql_query($sql);
        
    $error    =    mysql_error();
        
    sql_disconnect();
        if (!empty(
    $error))
        {
            echo 
    'Fehler Beim Update bitter erneut versuchen';
        }
        else 
        {
            
    //und hier ist mein Problem
        
    }

    Wie gesagt, das Script etc läuft soweit super, doch leider fehlt mir eine Funktion oder eine Anlaufstelle, am ende mittels Else die Seite neuladen zulassen.

    Ein Meta Refresh kommt für mich selber nicht in Frage da das Formular, sich nur bei erfolgreichen Update aktualisieren soll. Derzeit funktioniert es nur mittels F5.

    Ich währe euch sehr Dankbar, wenn ihr mir evtl. einen Tipp zur Funktion oder entsprechende Suchbegriffen liefern könntet. Da unter auto refresh php, php funktion neuladen etc habe ich leider nichts gefunden.

    Ein Link zur Aktualisierung ist derzeit meine einzigste Lösung, die ich aber ungerne bevorzugen möchte. Auch das Aufrufen auf einer neuen Seite mit der erneuten Übergabe der ID wahr eine Überlegung, würde ich aber gerne vermeiden wenn möglich.

    Ich hoffe das ich mein Problem so gut wie möglich schildern konnte und evtl. einer einen Vorschlag für mein doch eher kleines Anliegen hat.

    VG und vielen Dank

    Christian

  • #2
    php-refresh vllt. hilft dir das weiter
    ACHTUNG!!! SIGNATUR!!!
    PHP-Code:
    var_dump($gehirn); exit; 
    0 ??? WTF ? nervtag.de | freutag.net | friendmetr.com

    Kommentar


    • #3
      Du könntest die Seite mittels header() auf die erste Seite weiterleiten:
      PHP-Code:
      header('Location: index.php'); 
      Es dürfen aber keinnerlei Ausgaben vorher kommen, sonst gibts ne E_NOTICE und nichts passiert.
      "My software never has bugs, it just develops random features."
      "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

      Kommentar


      • #4
        php-refresh vllt. hilft dir das weiter
        Das dürfte durch diese Aussage erübrigen:
        Ein Meta Refresh kommt für mich selber nicht in Frage da das Formular, sich nur bei erfolgreichen Update aktualisieren soll.
        Denn ein Header-Refresh macht nichts anderes wie ein Meta-Refresh.

        Mein Wunsch ist es nun, das nach dem Absenden des Formulars die Daten automatisch aktualisiert werden und die Geänderten Daten Angezeigt werden.
        Da sehe ich an sich kein Problem drin!
        In Anlehnung an Paul.Schramenko würde ich das so aufbauen:

        1. Formular -> User gibt Daten ein / ändert Daten
        2. Absenden -> Formular verzweigt auf eine reine Processing-Datei, die nur die Daten in die DB schreibt.
        3. Nach Schreiben in DB -> header('location: ...') zum Formular zurück.

        Wenn ich es richtig verstanden habe, liest Du für das Formular ja die Daten aus der DB aus.
        Dann müßten die aktuellen Daten nach Punkt 3 in dem Formular stehen...
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Vielen Dank für die schnellen Feedbacks, die erste Lösung kommt wie gesagt wirklich nicht in Frage.

          @Arne Drews werde entsprechenden Lösungsvorschlag einmal austesten werde auf jeden Fall Feedback geben.

          Vielen dank und Grüße

          Kommentar


          • #6
            Zitat von Arne Drews Beitrag anzeigen
            Denn ein Header-Refresh macht nichts anderes wie ein Meta-Refresh.
            Hast du die Überhaupt mein Link angeguckt?! Schau dir mal Method I an

            Ist nämlich das gleiche, was Paul.Schramenko schrieb.
            ACHTUNG!!! SIGNATUR!!!
            PHP-Code:
            var_dump($gehirn); exit; 
            0 ??? WTF ? nervtag.de | freutag.net | friendmetr.com

            Kommentar


            • #7
              Ja, Link hab ich angeklickt, aber wenn Du von
              Zitat von MaiKaY
              php-refresh
              redest, kann ich nicht davon ausgehen, daß Du "location" meinst...
              Competence-Center -> Enjoy the Informatrix
              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

              Kommentar


              • #8
                Klingt für mich nach einer Erweiterung des Affenformulars...
                Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                Kommentar


                • #9
                  Zitat von lstegelitz Beitrag anzeigen
                  Klingt für mich nach einer Erweiterung des Affenformulars...
                  Jopp soll es auch sein denke ich. Zumindest versteh ich das auch so.
                  "My software never has bugs, it just develops random features."
                  "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                  Kommentar


                  • #10
                    Standard-Affenformular wäre hier sicher ausreichend.
                    Ich handhabe es nur immer so, daß ich DB-Prozesse, wie UPDATE, INSERT, etc. auslagere.
                    Finde ich irgendwie besser...
                    Competence-Center -> Enjoy the Informatrix
                    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                    Kommentar

                    Lädt...
                    X