Ankündigung

Einklappen
Keine Ankündigung bisher.

header informationen senden auf einem server läufts auf dem anderen nicht

Einklappen

Neue Werbung 2019

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

  • header informationen senden auf einem server läufts auf dem anderen nicht

    Hallo zusammen,
    und zwar habe ich jetzt ein Phänomen festgestellt und wollte mal wissen wodran es liegen könnte.
    Habe für einen bekannten ein kleines newsscript geschrieben, zum probieren auf meinem server und jetzt auf deinen server geladen.
    Bei mir klappte alles, auch die weiterleitung per header, auf der neuen seite läuft es nicht mehr. Mir ist klar das der header nur gesendet werden kann wenn noch nichts anderes gesendet worden ist. Aber komischerweise läuft es auf dem einen server und auf dem anderen nicht.

    Der server wo es läuft: PHP v5.1.6
    Der wo es nicht läuft: PHP v5.2.5


    so hier mal der code (auf beiden servern identisch)
    PHP-Code:
    <?php 
        
    include ("checkuser.php");
    ?>


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
           "http://www.w3.org/TR/html4/loose.dtd">
    <html>

    <head>
    <title> 
    | ADMIN | LOESCHEN

    </title>

    <?php
        
    include '../cssmeta.php';
        echo 
    $cssmetaadmin;
    ?>

    <style type="text/css">

    #content
        {
            min-height:800px;
        }
    </style>
    </head>
    <body>


    <?php
        
    include '../menue.php';
        echo 
    $menueadmin;
    ?>

    <div id="content">
    <div id="contentinhalt">
    <h1>News</h1>

    <?php
        
    if((isset($_GET['id'])) OR (isset($_GET['delete']))){
             include 
    '../verbinden.php';
             if(isset(
    $_GET['delete'])) {
                 
    $id $_GET['delete'];
                 
    $loeschen "
                    DELETE FROM
                                  News
                           WHERE
                                  ID = 
    $id 
                           LIMIT 1"
    ;
                
    mysql_query($loeschen) OR die (mysql_error());

                
    header ("Location: newsaendern.php");
             }else{


                 
    $sql "SELECT
                                 ID,
                                Titel,
                                Inhalt,
                                Link,
                                Quelle
                         FROM
                                News
                         WHERE
                                ID = 
    $_GET[id]";

                 
    $result mysql_query($sql) OR die(mysql_error());


                 while(
    $row mysql_fetch_assoc($result)) {
                     echo 
    '<h2>'.$row['Titel'].'</h2>'."\n";
                     echo 
    '<p class="justify">'.$row['Inhalt'].'</p><br>'."\n";
                     echo 
    '<p class="justify">Um den ganzen Bericht zu lesen, klicken Sie bitte hier</p>';
                     echo 
    '<p class="quelle">Quelle:'.$row['Quelle'].'</p><br>';
                     echo 
    '<p style="font-style:italic;font-weight:bold;color:red">Mit bestätigen des Löschvorgangs sind alle Daten unwiederruflich gelöscht.</p>';
                     echo 
    '<p style="font-style:italic;font-weight:bold;color:red">Es findet keine weitere Sicherheitsabfrage statt</p>';
                     echo 
    '<br><a href="'.$_SERVER['PHP_SELF'].'?delete='.$row['ID'].'" class="button">L&ouml;schen</a>';
                     echo 
    '<a href="newsaendern.php" class="button">Abbrechen</a>';};
            };
        }else{
                     echo 
    header ("Location: newsaendern.php");}
    ?>
    Habe jetzt nicht viel gekürzt, damit man auch sieht was vor dem header befehl steht.
    So, dann erstmal einen großen Dank an die leute die sich hier die arbeit antun.

    PS: das problem auf dem neuen server habe ich jetzt damit gelöst, das anstelle des header-befehl, ein link zu der jeweiligen seite erscheint.

  • #2
    Fehlermeldung? "läuft nicht" sagt nix

    Kommentar


    • #3
      stimmt, ´tschuldige,
      die Fehlermeldung ist die übliche:

      Warning: Cannot modify header information - headers already sent by (output started at /mnt/web8/10/81/51521081/htdocs/verbinden.php:2) in /mnt/web8/10/81/51521081/htdocs/admin/login.php on line 28

      ganz vergessen gehabt.

      Kommentar


      • #4
        Guck mal in "Vor dem posten lesen", da steht ein Link zu einer Seite die dir wahrscheinlich weiterhilft

        Kommentar


        • #5
          okay, dachte hätte alles beachtet was darin steht

          1.
          PHP-Code:
          error_reporting(E_ALL); 
          hatte ich schon probiert gibt ja trotzdem nur die eine fehlermeldung aus,

          2.
          PHP-Code:
          mysql_query($sql) or die(mysql_error()); 
          ist ja in diesem fall unerheblich

          3.
          "geht nicht" habe ich zumindestens nach deinem post verständlich erklärt (hoffe das es verständlich ist, kennt man ja wenn man selber schreibt)

          4.
          PHP-Tags verwenden habe ich gemacht5.
          Code einrücken habe mir Mühe gegeben es konform zu schreiben.

          Und zu den "Empfehlungen" darunter:
          Ich weiss ja das es nicht klappen kann den header erst später zu senden, habe mich auch schon durch meterlange websiten gelesen, um zu verstehen warum es auf einem server läuft, auf dem anderen nicht...

          wenn ich das, was du meinst, übersehen habe, bitte sag mir nochmal genau was gemeint ist.
          Gruß
          Tunnel

          achso, in dem link ist es ja erklärt, aber wie gesagt, auf beiden servern das gleiche script und beide gleich codiert,
          auf dem einen läufts - auf dem anderen nicht

          Kommentar


          • #6
            In dem Post steht folgender Link:

            OpenWebBoard - The OpenSource WebBoard / Tutorials / PHP & MySQL / Top10 der PHP-Fragen

            und da die Frage 2. Ich gehe mal davon aus deine verbinden.php hat nen BOM oder ähnliches

            Kommentar


            • #7
              danke schonmal das Du dir die zeit nimmst.
              Aber auch die verbinden.php sind auf beiden servern gleich, in die verbinden.php wir die inc.php eingebunden in der die verbindungskonstanten liegen. bis auf diese Konstanten ist alles komplett identisch, keine anderen befehle

              Kommentar


              • #8
                deine verbinden.php gibt aber was aus, wie die Fehlermeldung eindeutig aussagt und wenn du nichts siehst was ausgegeben wird, dann kanns nur ein zeilenumbruch, ein leerzeichen oder eben ein BOM sein

                Kommentar


                • #9
                  in der Verbinden.php wird eine Ausgabe gestartert, zeig uns mal den Quelltext der Fehlerseite. (Also wenn im Browser geöffnet) Da muss irgendeine Ausgabe sein.

                  Kommentar


                  • #10
                    okay, ihr habt recht....
                    habe dummerweise immer den falschen quelltext angeschaut...
                    entschuldigt, das ich eure zeit in anspruch genommen habe...
                    werde mich dann mal ans beseitigen des fehlers machen, hoffe ihr seit mir nicht zu böse

                    Kommentar


                    • #11
                      wie drieling schon sagte, zeig mal den ausgegeben html code

                      Kommentar


                      • #12
                        Und was macht das echo da? Kannst du auch davon ausgehen, dass das nie ausgegeben wird?
                        Außerdem solltest du dir angewöhnen, Klammern zu setzen.

                        Hast du die Datei mit Notepad erstellt? Wenn ja, hast du sie mit UTF-8 gespeichert? Dann ist nämlich BOM drinnen. Am besten du suchst dir einen Editor, in dem du den Zeichensatz einstellen kannst und speicherst das ganze nochmal als ANSI oder als UTF-8 ohne BOM ab. Dann prüfst du, ob das Problem immer noch auftritt.

                        Und ja, eine ungekürzte und ungetrimmte Kopie des Ausgabe-Codes wäre auch gut.
                        Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                        Kommentar


                        • #13
                          Zitat von tunnel85 Beitrag anzeigen
                          okay, ihr habt recht....
                          habe dummerweise immer den falschen quelltext angeschaut...
                          entschuldigt, das ich eure zeit in anspruch genommen habe...
                          werde mich dann mal ans beseitigen des fehlers machen, hoffe ihr seit mir nicht zu böse

                          ham wir irgendwie zu viel von dir verlangt? du sprichst hier mit einigen der besten phpler dieses forums...

                          Kommentar


                          • #14
                            aber eine frage habe ich immer noch, die dateien sind wirklich haargenau gleich, kann es denn sein, das sich durch den upload da irgendwas verändert?

                            Kommentar


                            • #15
                              Ja, das kann schon sein. Schau dir mal den Übertragungsmodus an. Die meisten FTP-Programme dürften aber eigentlich nichts ändern, es sei denn, es ist etwas anderes eingestellt. Hast du Binär-Modus eingestellt, erst recht nicht.
                              Für wahrscheinlicher halte ich jedoch, dass du die Datei vorher nochmal mit BOM gespeichert hast (aus Versehen, z.B. durch das automatische Speichern deiner Datei durch den Editor oder so).
                              Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                              Kommentar

                              Lädt...
                              X