Weiterleitung mit header

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

  • Weiterleitung mit header

    Hallo, ich versuche auf einer Seite einer Weiterleitung mit header, aber leider funktioniert das nicht.
    Es handelt sich um eine php-seite, die Nachrichten in einer "Nachrichten-Inbox" einer Community löscht. Natürlich soll nach dem Löschvorgang wieder die Nachrichten-Seite mit den übrigen Nachrichten gezwigt werden.
    Wo ist mein Fehler?

    <?php
    session_start ();
    include ("checkuser.php");

    //Datenbank nach der zu löschenden Message durchsuchen

    $dblink = mysql_connect("XXX", "XXX", "XXX");

    if (!mysql_select_db("db100825751", $dblink))
    {
    die ("Keine Verbindung zur Datenbank");
    }
    if ($Aktion == "löschen")
    {

    //Hier beginnt Löschen

    if (isset ($CH0))
    {
    $sql = "SELECT * FROM `messages` WHERE ID = '$messageid0' LIMIT 1";
    $result = mysql_query ($sql) or die(mysql_error());
    //Ergebnis auswerten

    if (mysql_num_rows ($result) > 0)
    {
    //Messagedaten in ein Array auslesen.
    $data = mysql_fetch_array ($result);
    $Geloescht2 = $data[Geloescht2];
    }

    //Wenn Message schon vom Absender geloescht (Geloescht2 = 1), dann komplett löschen...
    if ($Geloescht2 == 1)
    {
    mysql_query ("DELETE FROM `messages` WHERE `ID` = '$messageid0' LIMIT 1");
    }
    //ansonsten das Kennzeichen Geloescht1 auf 1 setzen.
    else
    {
    mysql_query ("UPDATE `messages` SET `Geloescht1` = '1', `Gespeichert1` = '0' WHERE ID = '$messageid0' LIMIT 1");
    }

    }

    }
    header('Location: nachrichten_inbox.php');
    ?>

    Das Löschen funktioniert auch einwandfrei....nur die Weiterleitung nicht

  • #2
    Fehlermeldung?

    Kommentar


    • #3
      Ne, keine Fehlermeldung. EInfach ne leere Seite mit der URL der php-Seite die löscht.
      Aber ich will ja wieder auf die Seite mit den Nachrichten zurück...

      Kommentar


      • #4
        versuch mal mit absolutem URI

        Kommentar


        • #5
          Leider auch ohne Erfolg...

          Kommentar


          • #6
            versuchma den befehl header() unter
            PHP-Code:
            <?php 
            session_start 
            ();
            include (
            "checkuser.php");
            zu setzen. gibts dann ne fehlermeldung?

            versuch
            PHP-Code:
            <?php
            header
            ("Location: gibtsnich.php")
            ?>
            was passiert?

            Kommentar


            • #7
              Ja, danke. Jetzt habs ich oben und es klappt. Besten Dank

              Kommentar


              • #8
                naaa, moment. dann wird das löschen jetzt wohl nicht mehr klappen...

                Kommentar


                • #9
                  Doch, seltsamerweise schon.
                  Deswegen hatte ich den Befehl ja ursprünglich unter dem "Lösch-Code" - aber es funzt noch

                  Kommentar


                  • #10
                    wenn du die header-Zeile nur nach oben plaziert hast, glaube ich nicht, code zeigen!

                    Kommentar


                    • #11
                      <?php
                      header("Location: nachrichten_inbox.php");
                      session_start ();
                      include ("checkuser.php");

                      //Datenbank nach der zu löschenden Message durchsuchen

                      $dblink = mysql_connect("XXX", "XXX", "XXX");

                      if (!mysql_select_db("db100825751", $dblink))
                      {
                      die ("Keine Verbindung zur Datenbank");
                      }
                      if ($Aktion == "löschen")
                      {

                      //Hier beginnt Löschen

                      if (isset ($CH0))
                      {
                      $sql = "SELECT * FROM `messages` WHERE ID = '$messageid0' LIMIT 1";
                      $result = mysql_query ($sql) or die(mysql_error());
                      //Ergebnis auswerten

                      if (mysql_num_rows ($result) > 0)
                      {
                      //Messagedaten in ein Array auslesen.
                      $data = mysql_fetch_array ($result);
                      $Geloescht2 = $data[Geloescht2];
                      }

                      //Wenn Message schon vom Absender geloescht (Geloescht2 = 1), dann komplett löschen...
                      if ($Geloescht2 == 1)
                      {
                      mysql_query ("DELETE FROM `messages` WHERE `ID` = '$messageid0' LIMIT 1");
                      }
                      //ansonsten das Kennzeichen Geloescht1 auf 1 setzen.
                      else
                      {
                      mysql_query ("UPDATE `messages` SET `Geloescht1` = '1', `Gespeichert1` = '0' WHERE ID = '$messageid0' LIMIT 1");
                      }

                      }

                      }

                      ?>


                      Einzige zusätzliche Änderung ist die Nutzung von " statt ', aber das hatte vorher keinen Effekt, war nur ein anderer Versuch

                      Kommentar


                      • #12
                        und du bist sicher, dass die selektieren Messages gelöscht werden

                        Kommentar


                        • #13
                          Ja, hab sogar extra noch in die Datenbank geschaut, ohne mich auf die Anzeige zu verlassen - alles weg...

                          Kommentar


                          • #14
                            wie gesagt, das bezweifle ich, ... jetzt immer noch
                            Andererseits könnte auch möglich, denn man empfehlt ja immer exit(); direkt nach header('location:...'); einzubauen, um das Script wirklich abzubrechen. Da ich bisher diesen Rat immer befolgt habe, habe ich deshalb solches Phänomen nicht feststellen können
                            Zuletzt geändert von asp2php; 26.11.2004, 19:35.

                            Kommentar


                            • #15
                              Möglicherweise wird das Script ja noch im Hintergrund ausgeführt, bis es durch das ?> beendet wird.....

                              Kommentar

                              Lädt...
                              X