Gleicher Code mit verschiedenen Ergebnissen???

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

  • Gleicher Code mit verschiedenen Ergebnissen???

    Ich habe hier einen Teil meines Codes, der mir komischerweise immer wieder verschiedene Ergebnisse liefert! Wie kann das sein?

    Ich habe einen Datenbankeintrag, z. B.

    <a href="http://www.irgendwas.de" target="_blank"><img src="banner.jpg" border=0 alt="Irgendwas.de"></a>

    Aus diesem Code soll die Bildadresse ermittelt werden. Da sie bei jedem Eintrag unterschiedlich ist, benutze ich diesen Code ($eintrag[1] enthält den Datenbankeintrag):

    $a_bild_code[$z]=stripslashes($eintrag[1]);
    $beginn=strpos($eintrag[1],"src=",1)+5;
    $ende=strpos($eintrag[1],"\"",$beginn+4);
    $laenge=$ende-$beginn;
    $a_bild_url[$z]=substr($eintrag [1],$beginn,$laenge);

    Die Variable $a_bannerurl[$z] liefert mir einen Wert, hier wäre das 'banner.jpg'. Nachdem ich auf Neu laden oder Aktualisieren geklickt habe, ist das Ergebnis auf einmal '"banner.jpg\', ohne die Hochkommas natürlich. Wie geht sowas? Nach einiger Zeit habe ich noch einmal auf Neu laden geklickt, und immer wieder. Das Ergebnis war immer eins von diesen beiden, fast immer im Wechsel. Wie geht sowas?

  • #2
    Code:
    $Ergebnis = '<img src="banner.jpg" border=0 alt="Irgendwas.de">';
    $Ergebnis = substr($Ergebnis,strpos($Ergebnis,"src=")+5);
    $Ergebnis = substr($Ergebnis,0,strpos($Ergebnis,"\""));
    Print "Ergebnis: $Ergebnis<br>";

    Kommentar


    • #3
      Ach ja. Es kann durchaus vorkommen, daß die Seite gecached wird und die Ergebnisse teilweise aus dem Cache (Browser Cache oder Proxy Cache angezeigt werden.

      PROXY-CACHE unterbinden:
      Aus dem Manual:
      "
      PHP-Skripte erzeugen oft dynamisches HTML, das weder vom Browser noch von irgendeinem Proxy zwischen Web-Server und Client-Browser gepuffert ("gecached") werden soll bzw. darf. Bei vielen Proxies und Browsern kann das Cachen unterbunden werden und zwar mit:
      header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum der Vergangenheit
      header ("Last-Modified: " . gmdate ("D, d M Y H:i:s") . " GMT"); // immer geändert
      header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
      header ("Pragma: no-cache"); // HTTP/1.0
      "
      Versuche diese Header Informationen ganz zu Beginn Deines Skripts einzufügen, vor dem Statement, das ist wichtig. Diese Statements müssen ganz zu Beginn des Datenstroms übertragen werden, damit der Proxy Chache Mechanismus ausgeschaltet wird.

      LOKALEN BROWSER-CACHE unterbinden:

      Den Browsercache umschiffst Du mit dem Meta-Tag
      <META http-equiv="expires" content="0">
      im HEAD-Bereich.

      Kommentar

      Lädt...
      X