Mortimer: Can't send Header-Information - Header already send- "?"

Ich bekomme immer diesen Fehler wenn die Intervalle und Loop zu gross sind.

Das Scripr macht folegendes:

Man gibt die Anzahl der wiederholungen (loops) an und die Anzahl alle wieviele Sekudnen das passieren soll (intervall).
Dann gibt man eine Bildadresse an.. und welches Format das Bild hat... ausserdem noch welchen prefix das bild später beim kopieren bekommen soll.

Dann starten man das programm und je nachdem wie die sekunden und intervalle gesetzt wurden macht er alle 50 sekunden einen kopiervorgang von einem Bild...

Das Script knüpft an mein Thread von hier an:
http://forum.de.selfhtml.org/my/?t=83475&m=487838#nachricht

Wieso sagt er mir kein Header-Fehler wenn ich intervball 10 sekunden sage und es 8 mal wiederhole... aber wenn der intervall grösser als 60 sekunden ist und die wiederholung 90 mal beträgt...? =/

ciao

CODE:

<?PHP
echo "Aktuelle Zeit: ".date("d.m.Y",time())." um ".date("H:i:s",time())." Uhr <br><bt>";
$appendix="loops=".$loops."&intervall=".$intervall."&url=".$url."&format=".$format."&name=".$name;
if (isset($setup)){

echo "System wird vorbereitet...<br><br>";
echo "Kopiervorgänge: ".$HTTP_POST_VARS['loops']."<br>";
echo "Intervall: ".$HTTP_POST_VARS['intervall']."<br>";
echo "Bildadresse: ".$HTTP_POST_VARS['url']."<br>";
echo "Bildformat: ".$HTTP_POST_VARS['format']."<br>";
echo "Kopiennamen: ".$HTTP_POST_VARS['name']."_1.".$HTTP_POST_VARS['format']."&nbsp; bis &nbsp;".$HTTP_POST_VARS['name']."_".$HTTP_POST_VARS['loops'].".".$HTTP_POST_VARS['format']."<br>";
echo "Klicken Sie hier um die Routine zu starten<br><br>";
$appendix="loops=".$HTTP_POST_VARS['loops']."&intervall=".$HTTP_POST_VARS['intervall']."&url=".$HTTP_POST_VARS['url']."&format=".$HTTP_POST_VARS['format']."&name=".$HTTP_POST_VARS['name'];
echo"<a href='$PHP_SELF?start=".(time()+$intervall)."&counter=1&$appendix'>System jetzt starten</a><br><br><br><br>";

}else{
$intervall=($intervall-1); //alle X sekunden -1 ...
if ($counter!="" && $start!="" && $counter<($loops+1)) { //-1
 //echo "Start: ".date("d.m.y - H:i:s",$start-$intervall)."<br>";
 //echo "Ende: ".date("d.m.y - H:i:s",($start))."<br>";
 $explode_counter=0;
 while($status!=1) {
  if (time()>$start){
   $status=1;
   copy($url,'logfiles/'.$name."_".$counter.".".$format);
   $filename = 'logfiles/copypaste_logfile.txt';
   $somecontent  = "Bild kopiert am ".date("d.m.Y",time())." um ".date("H:i:s",time())."<br>\r\n";
    if (is_writable($filename)) {
     if (!$handle = fopen($filename, "a")) {exit;}
     if (!fwrite($handle, $somecontent)) {exit;}
    fclose($handle);
    }
  header("Location: sleeper.php?start=".(time()+$intervall)."&counter=".($counter+1)."&".$appendix);
  //echo "header Gestartet<br>";
  }else{
  //echo "sleep @ ".date("d.m.y - H:i:s",time())." this is KNOW...zzz zzz<br>";
  sleep(1);
  $status=0;
  }
  echo "whilestatus: ".$status."<br>";
 $explode_counter++;
 }
 #header("Location: sleeper.php?finish=$counter&end=".time());
 echo "BEENDET um ".date("d.m.y - H:i:s",time())."<br>";
 echo "Explodecounter: ".$explode_counter;

}else{

if(isset($start)){
 echo "<h2>BEENDET</h2>";
 echo "Ausgeführte Aktionen waren<br><br>";
 include("logfiles/copypaste_logfile.txt");
 echo "<br><br><br><br>";
 echo "Um die Bilder runterzuladen, bitte mir bescheid geben, ich hole sie dann via FTP auf einmal rüber. <br>Das geht schneller als jedes einzelen jetzt zum speichern anzubieten.";
 }else{
 echo "<form name='copypaste' action='$PHP_SELF?setup' method='post'>";
 echo "Wie oft soll das Bild kopiert werden?<br> <input name='loops' type='text' value=''><br><br>";
 echo "Alle wieviele Sekunden(!) soll das geschehen?<br> <input name='intervall' type='text' value=''><br><br>";
 echo "Geben Sie die URL der Bildatei(!) an:<br> <input name='url' type='text' value='layout/bestand_crossed.gif'><br><br>";
 echo "Welches Format hat das Bild? (gif, jpg, etc.)<br> <input name='format' type='text' value='gif'><br><br>";
 echo "Wie sollem die Kopien heissen? <br> <input name='name' type='text' value='ISS_shot'>(Dem namen wir ein _1 anghängt und durchnummeriert)<br><br>";
 echo "<input name='run' type='submit' class='FormStandardButton' value='Eingaben benutzen'>";
 echo "</form>";
 }
}

} //isset setup

echo "<br><br><br><br><a href='$PHP_SELF'>System zurücksetzen!</a>";

//phpinfo();
?>

  1. hi,

    Ich bekomme immer diesen Fehler

    was er zu bedeuten hat, weißt du hoffentlich? ansonsten suche mal danach.

    wenn die Intervalle und Loop zu gross sind.
    Wieso sagt er mir kein Header-Fehler wenn ich intervball 10 sekunden sage und es 8 mal wiederhole... aber wenn der intervall grösser als 60 sekunden ist und die wiederholung 90 mal beträgt...?

    dann muss da wohl vor dem header irgendeine ausgabe erfolgen, die sonst nicht erfolgt - z.b eine fehlermeldung/warning o.ä.

    gruß,
    wahsaga

    --
    I'll try being nicer if you'll try being smarter.
    1. Ich habe jetzt gemacht udn getan und probiert... ich komme nicht drauf wieso er es nicht korrekt ausführt...

      Wenigstens ETWAS hilfe dachte ich wäre da doch gut... wenn nicht wenigstens wirkliche helfe =/

      Weil mir sagen dass es nicht geht und ich wissen sollte woran es liegt weiss ich auch =)

      ciao

      1. hi,

        Wenigstens ETWAS hilfe dachte ich wäre da doch gut... wenn nicht wenigstens wirkliche helfe =/

        Weil mir sagen dass es nicht geht und ich wissen sollte woran es liegt weiss ich auch =)

        was hast du denn bis jetzt unternommen, um herauszufinden, ob in diesen fällen fehlermeldungen/warnings auftreten, wie ich es vermutet habe ...?

        (du könntest ja z.b. vor dem auslösen des headers erst mal überprüfen, ob schon eine ausgabe erfolgt ist - dann sollte das script in diesen fällen abbrechen, und du kannst den erzeugten output auf fehlermeldungen hin untersuchen.
        dazu kannst du http://www.php.net/manual/de/function.headers-sent.php verwenden.)

        gruß,
        wahsaga

        --
        I'll try being nicer if you'll try being smarter.
      2. Hi Mortimer,

        Wenigstens ETWAS hilfe dachte ich wäre da doch gut... wenn nicht wenigstens wirkliche helfe =/

        Könnte es vielleicht sein, dass vor dem ersten <?php noch irgendetwas steht? Es muss ja kein sichtbares Zeichen sein, es kann ja weiß-der-Kuckuck-was sein, was deine Software eben nicht darstellen kann. Schreib das ganze noch einmal ab.

        Weil mir sagen dass es nicht geht und ich wissen sollte woran es liegt weiss ich auch =)

        Na ja, ist ja hier schlielich das SelfForum und nicht das GetForum ;-)

        MfG, Dennis.

        --
        Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
        Zufällige Hinweise:
        ------------------------
        Meine Homepage: http://www.riehle-web.com
        Tutorial: http://tutorial.riehle-web.com
        1. hi,

          Könnte es vielleicht sein, dass vor dem ersten <?php noch irgendetwas steht?

          bei einem fehler, der nur unter bestimmten bedingungen auftritt?

          halte ich für unwahrscheinlich ... vermute wie gesagt eher, dass woanders ein fehler herkommt, und dessen ausgabe dann den header unmöglich macht.

          gruß,
          wahsaga

          --
          I'll try being nicer if you'll try being smarter.
          1. Und wie kann das sein dass ich nun jetzt schon 10 TEst laufen lies.. unter anderem sogar einen Realen von Einer stunde alle 60 sekunden.... dass er nun auf meinem server läuft und da der fehler dennoch auftaucht... =/

            mist...

            Ich such weiter..

            ciao

        2. Dennis, ist echt jetzt kein persöhnlicher angriff... aber immer wenn ich sehe dass du auf meine Beiträge antwortest weiss ich schon dass ich danach genauso klug sein werde wie vorher....

          ciao

  2. Hi Mortimer,

    Das Script knüpft an mein Thread von hier an:
    http://forum.de.selfhtml.org/my/?t=83475&m=487838#nachricht

    Darf ich fragen, warum du dann einen neuen Thread aufmachst? Hätte es nicht gereicht, im alten noch ein Posting mit einem Titel hinzuzufügen?

    Übrigends, wie man Links macht, steht hier </faq/#Q-19>
    Und es wäre für die nicht registrierten User praktischer, wenn sie nicht zu einer Passworteingabe aufgefordert würden ;-) Kurz und gut, lass das /my weg!

    So sähe es dann aus:
    [pref:t=83475&m=487838]

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
    Zufällige Hinweise:
    ------------------------
    Probleme mit Formularen?
    http://tutorial.riehle-web.com hilft weiter.
    1. Hallo Dennis,

      Und es wäre für die nicht registrierten User praktischer, wenn sie nicht zu einer Passworteingabe aufgefordert würden ;-) Kurz und gut, lass das /my weg!

      das ist nicht notwendig - die Forensoftware erkennt, dass du auf einen andern Beitrag verlinken willst und macht automatisch ein '?t=xxxxx&m=yyyyyy' draus, was mit und ohne '/my' funktioniert.

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
      1. Hi,

        Und es wäre für die nicht registrierten User praktischer, wenn sie nicht zu einer Passworteingabe aufgefordert würden ;-) Kurz und gut, lass das /my weg!
        das ist nicht notwendig - die Forensoftware erkennt, dass du auf einen andern Beitrag verlinken willst und macht automatisch ein '?t=xxxxx&m=yyyyyy' draus, was mit und ohne '/my' funktioniert.

        Wenn es verlinkt ist, mag die Erkennung funktionieren - in diesem Fall war aber nur die URL gegeben, wer diese also per Copy/Paste in die Adreßzeile bringt und nicht registriert und eingeloggt ist, bekommt die Paßwortabfrage.

        Nur zu Testzwecken hier nochmal die ursprüngliche URL als Link
        [pref:t=83475&m=487838]
        Also zumindest in der Vorschau wird das auf den Query-String reduziert...

        cu,
        Andreas

        --
        MudGuard? Siehe http://www.Mud-Guard.de/
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hi MudGuard,

          Wenn es verlinkt ist, mag die Erkennung funktionieren - in diesem Fall war aber nur die URL gegeben, wer diese also per Copy/Paste in die Adreßzeile bringt und nicht registriert und eingeloggt ist, bekommt die Paßwortabfrage.

          Genau.

          Nur zu Testzwecken hier nochmal die ursprüngliche URL als Link
          [pref:t=83475&m=487838]
          Also zumindest in der Vorschau wird das auf den Query-String reduziert...

          Tatsächlich, habe dein Posting noch mal ohne /my und ohne Anmeldung in einem anderen Browser angeschaut, und dort wurde der Link korrekt ohne das /my dargestellt. Ist aber glaube ich neu - IMHO hat die Forumssoftware das früher nicht bzw nicht korrekt gemacht.

          MfG, Dennis.

          --
          Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
          Zufällige Hinweise:
          ------------------------
          > Bitte schickt mir die Antwort als E-Mail an xy@xy.de
          Wie bitte? Noe, gibbet net!
          1. Hallo Dennis,

            Ist aber glaube ich neu - IMHO hat die Forumssoftware das früher nicht bzw nicht korrekt gemacht.

            nein, das kann die Software schon seit November 2002: http://bugs.selfhtml.org/bug.php?op=show&bugid=48 :-)

            Grüße aus Nürnberg
            Tobias

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
            1. Hi Tobias,

              Ist aber glaube ich neu - IMHO hat die Forumssoftware das früher nicht bzw nicht korrekt gemacht.
              nein, das kann die Software schon seit November 2002: http://bugs.selfhtml.org/bug.php?op=show&bugid=48 :-)

              Also schon definitiv länger, seit ich dabei bin! *g* Na ja, auch egal.

              MfG, Dennis.

              --
              Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
              Zufällige Hinweise:
              ------------------------
              Sinnvolles Zitieren: Man zitiert nur Teilsaetze des Vorposters
              auf die man sich bezieht! Nicht einfach alles.