Jan K.: Anker in " Schleife " swtzen

Hallo zusammen,

der grobe Mantel meines PHP scripts soll in etwa so funktionieren.

<?
session_start();
$_SESSION["wert"]++;
$_SESSION["ueb"]= $_SESSION["ueb"]."<q id='".$_SESSION["wert"]."'>".$_SESSION["wert"]."</q><br>";
echo "<html>";
echo "<head>";
echo "<meta http-equiv='Refresh' content='0.5; URL=session.php#".$_SESSION["wert"]."'>";
echo "</head>";
echo "<body>";
echo $_SESSION["ueb"]."<br>";
echo "</body>";
echo "</html>";
?>

Also einen wert ausgeben, per refresh wird wieder das php script aufgerufen und der nächste wert ausgegeben usw. Es soll jedoch auch immer zum letzen wert per Anker "gesprungen" werden. Aber das script hält immer an wenn ich als url Session.php#iregendeinanker Angebe.

Jemand eine Ahnung wie ich das machen kann?

Gruß,

Jan

  1. Hi,

    $_SESSION["wert"]++;

    Das ++ läßt darauf schließen, daß es sich bei $_SESSION["wert"] um eine Zahl handelt.

    $_SESSION["ueb"]= $_SESSION["ueb"]."<q id='".$_SESSION["wert"]."'>".$_SESSION["wert"]."</q><br>";

    Eine Zahl kann kein gültiger Wert für ein id-Attribut sein.

    echo "<meta http-equiv='Refresh' content='0.5; URL=session.php#".$_SESSION["wert"]."'>";

    Ich bin mir nicht sicher, aber ich würde hier keine relative, sondern eine absolute URL angeben.

    Also einen wert ausgeben, per refresh wird wieder das php script aufgerufen und der nächste wert ausgegeben usw. Es soll jedoch auch immer zum letzen wert per Anker "gesprungen" werden. Aber das script hält immer an wenn ich als url Session.php#iregendeinanker Angebe.

    Was verstehst Du unter "das script hält immer an"?
    Der Anker sollte normalerweise bereits vom Browser vor dem Request von der URL entfernt werden, da er für den Server ja irrelevant ist ...

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Das Problem ist, das ich später mal meine daten die das script verarbeiten wird von einer andern website bekomme. Wenn ich dort zu viele Anfragen mache bekommen ich nen gateway timout, deshalb der umweg über meta-refresh der auch den vorteil bietet, daß zwischenstände angezeigt werden(Vom PHP Laufzeitlimit mal abgesehen).

      Die paar Zeilen sind nur der provisorische Mantel indem der Rest mal eingebettet wird. Das mit den Zahlen als Akername und die anderen Sachen die ihr bemängelt habt sind erstmal wurscht, is nur ein provisorium und funktioniert auch, bis auf die tatsachen, das die seite nicht refresht wird, sobald ich auf einen Anker verweise.

      echo "<meta http-equiv='Refresh' content='0.5; URL=session.php'>";

      funktioniert, aber es wird halt immer nur der Seitenkopf angezeigt, will gerne auch unten die neusten Daten anzeigen.

      echo "<meta http-equiv='Refresh' content='0.5; URL=session.php#".$_SESSION["wert"]."'>";

      Verursacht, daß die Seite nicht refresht wird, nur bei manueller Aktualaisierung läuft es weiter.(Die Zahlen funktionieren im ie als Anker, nur provisorium)

      Gruß,

      Jan

  2. Hallo Jan,

    $_SESSION["ueb"]= $_SESSION["ueb"]."<q id='".$_SESSION["wert"]."'>".$_SESSION["wert"]."</q><br>";

    ehm, weiss nicht, ob es daran liegt: aber ein Anker wird doch mit <a> ausgezeichnet - oder?
    Könntest du übrigens nochmal genauer erklären, was du vorhast? Wenn ich dich richtig verstanden habe, willst du die Datei bis zum ersten Aker aufbauen, dann neu anfordern, bis zum zweiten Anker aufbauen, neu anfordern, usw... Scheint in meinen Augen nicht besonders viel Sinn zu machen, sondern eher Verschwendung von Bandbreite zu sein (und auch von Rechenleistung auf dem Server). Aber vielleicht hab ich ja auch was nicht richtig verstanden?

    liebe Grüße mbr

    1. Hallo mbr.

      ehm, weiss nicht, ob es daran liegt: aber ein Anker wird doch mit <a> ausgezeichnet - oder?

      Nein. Heutzutage kann jedes Element als Anker fungieren, es muss hierzu lediglich über eine ID verfügen.

      Einen schönen Dienstag noch.

      Gruß, Ashura

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
      [HTML Design Constraints: Logical Markup]
      1. Hi,

        ehm, weiss nicht, ob es daran liegt: aber ein Anker wird doch mit <a> ausgezeichnet - oder?
        Nein. Heutzutage kann jedes Element als Anker fungieren,

        Was verstehst Du unter "heutzutage"?
        Das ging schon im letzten Jahrtausend: http://www.w3.org/TR/1998/REC-html40-19980424/struct/global.html#idx-id_attribute

        (ok, Netscape Uralt 4.x kannte das nicht ...)

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        O o ostern ...
        Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hallo MudGuard.

          (ok, Netscape Uralt 4.x kannte das nicht ...)

          Darauf und auf noch ältere Geräte wollte ich anspielen.

          Einen schönen Dienstag noch.

          Gruß, Ashura

          --
          sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
          „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
          [HTML Design Constraints: Logical Markup]