Fuchur: Reload eines Teils des Codes

Ich frage mich, was der korrekte Ansatz sein könnte: Ich möchte auf einer Seite (zB.) Homepage, die in drei Spalten gegliedert ist und pro Spalte (zB.) drei Beiträge hat, den mittleren Beitrag der linken Spalte alle 30 Sekunden reloaden.

Das knifflige ist ja, dass der Text unterschiedlich lang sein kann. Darum denke ich, dass ein iFrame wegfällt. Je nach Textlänge würde ein unerwünschter Scrollbalken entstehen. Wie löse ich dieses Problem am elegantesten? Das Stichwort würde mir für meine weitere Recherche helfen.

Viele Grüsse
Fuchur

  1. [latex]Mae  govannen![/latex]

    Ich frage mich, was der korrekte Ansatz sein könnte: Ich möchte auf einer Seite (zB.) Homepage, die in drei Spalten gegliedert ist und pro Spalte (zB.) drei Beiträge hat, den mittleren Beitrag der linken Spalte alle 30 Sekunden reloaden.

    Das knifflige ist ja, dass der Text unterschiedlich lang sein kann. Darum denke ich, dass ein iFrame wegfällt. Je nach Textlänge würde ein unerwünschter Scrollbalken entstehen. Wie löse ich dieses Problem am elegantesten? Das Stichwort würde mir für meine weitere Recherche helfen.

    Generell könntest du die Texte per XMLHttpRequest nachladen und den erhaltenen Text per Javascript in das Element des zweiten Beitrages einfügen.

    Was das Aussehen bezüglich der Textlänge betrifft: Wenn die Breite gegeben ist, wird der entsprechende Eintrag halt länger oder kürzer und der dritte Beitrag dieser Spalte rutsch entsprechend höher oder tiefer. Solltest du das und auch einen Scrollbalken nicht wollen, bleibt nur noch ein sinnvolles Abschneiden des Textes und Verlinkung auf eine Ressource mit dem gesamten Text oder auch den langen Text in ein anderes Element zu laden, das du dann "on top" anzeigst (also wie man es z.B. oft bei JS-basierten Werbeeinblendungen sieht)

    Cü,

    Kai

    --
    Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
    in Richtung "Mess up the Web".(suit)
    Foren-Stylesheet
    1. [latex]Mae  govannen![/latex]

      Generell könntest du die Texte per XMLHttpRequest nachladen und den erhaltenen Text per Javascript in das Element des zweiten Beitrages einfügen.

      Dabei ggf. Alternative für "javascript aus" anbieten, z.B. in Form eines Links, der dann per Javascript ausgeblendet werden kann.

      Cü,

      Kai

      --
      Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
      in Richtung "Mess up the Web".(suit)
      Foren-Stylesheet
    2. Generell könntest du die Texte per XMLHttpRequest nachladen und den erhaltenen Text per Javascript in das Element des zweiten Beitrages einfügen.

      Danke Kai für Deine schnelle Antwort. Ich denke, XMLHttpRequest könnte meine Aufgabe lösen.

      Schöne Grüsse
      Fuchur

    3. Ich habe in der Zwischenzeit einen passenden Code gefunden. Er funktioniert auch einwandfrei. Zumindest bis ich in der Datei "test2.php" eine Datenbank-Abfrage (mySQL) machen will.

      Gibt es Restriktionen im Zusammenhang mit XMLHttpRequest?

      Vielen Dank für Eure Hilfe!
      Fuchur

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">  
      <html xmlns="http://www.w3.org/1999/xhtml">  
      	<head>  
      		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />  
      		<title>Refresh Example</title>  
      		<script type="text/javascript" language="javascript">  
      		<!--  
      			var xmlHttp = false;  
      			  
      			if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {  
      				xmlHttp = new XMLHttpRequest();  
      			}  
      			  
      			function macheRequest(url) {  
      				if (xmlHttp) {  
      					xmlHttp.open("GET", url, true);  
      					xmlHttp.onreadystatechange = alertInhalt;  
      					xmlHttp.setRequestHeader("Pragma", "no-cache");  
      					xmlHttp.setRequestHeader("Cache-Control", "must-revalidate");  
      					xmlHttp.setRequestHeader("If-Modified-Since", document.lastModified);  
      					xmlHttp.send(null);  
      				}  
      			}  
      			  
      			function alertInhalt() {  
      				if (xmlHttp.readyState==4 && xmlHttp.status==200) {  
      					document.getElementById("middle").innerHTML = xmlHttp.responseText;  
      				}  
      			}  
      			  
      			var iv = setInterval ("macheRequest('test2.php')", 100);  
      			macheRequest('test2.php');  
      		//->  
      		</script>  
      	</head>  
      	<body>  
      		Au&szlig;erhalb des Reload-Bereichs: <?=date ("H:i:s", time())?>  
        
        
      		<div id="middle"><?php include ("test2.php"); ?></div>  
      	</body>  
      </html>
      
      1. Hallo,

        Ich habe in der Zwischenzeit einen passenden Code gefunden. Er funktioniert auch einwandfrei. Zumindest bis ich in der Datei "test2.php" eine Datenbank-Abfrage (mySQL) machen will.

        was heißt das konkret? Wie äußert sich dein "Funktionieren" oder "Nichtfunktionieren"?

        Gibt es Restriktionen im Zusammenhang mit XMLHttpRequest?

        Natürlich, aber nicht in der Form, die du andeutest. Da geht ein Request an den Server, der in aller Regel ein Script anstößt, und dann kommt ein Response. Ob das Script zwischendurch nur den String "Hallo" ausgibt, oder eine Google-Suche macht, oder Informationen aus einer DB abfragt, ist egal.

        Aber ich sehe in deinem Codeauszug, dass du dasselbe Script per AJAX-Aufruf einmal als eigenständiges Script verwendest, und einmal mit include in ein anderes Dokument einbindest:

          	macheRequest('test2.php');  
          <div id="middle"><?php include ("test2.php"); ?></div>  
        

        Damit das direkte include sauber läuft, darf das PHP-Script z.B. keine HTTP-Header mehr setzen; wenn es über den XHR aufgerufen wird, muss es das aber möglicherweise. Es kommt nun also darauf an, welche Ausgaben dein PHP-Script macht und welche Header es zu senden versucht.

          	xmlHttp.open("GET", url, true);  
          	xmlHttp.onreadystatechange = alertInhalt;  
          	xmlHttp.setRequestHeader("Pragma", "no-cache");  
          	xmlHttp.setRequestHeader("Cache-Control", "must-revalidate");  
          	xmlHttp.setRequestHeader("If-Modified-Since", document.lastModified);  
          	xmlHttp.send(null);  
        

        Das ist so nicht sinnvoll: Die Header "Pragma" und "Cache-Control" müssen, wenn überhaupt, in der Server-Antwort auftauchen, nicht im Request. Oder soll deiner Meinung nach der Server auch Empfehlungen zum Cache-Verhalten auswerten?

        So long,
         Martin

        --
        Ordnung ist, wenn man etwas findet, was man gar nicht sucht.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. in der Datei "test2.php" steht folgender Code:

          <? mysql_query('TRUNCATE TABLE table_namen'); ?>  
          <?php  
          $daten = file_get_contents("http://www.meinedomain.com/xml.php4"); // Datei einlesen  
          $daten = explode("<werte>" , $daten); // Inhalt in ein Array zerlegen  
            
          for ($zaehler = 1; $zaehler < count($daten); $zaehler++) {  
           ereg("<wert1>(.*)</wert1>" , $daten[$zaehler] , $wert1);  
           ereg("<wert2>(.*)</wert2>" , $daten[$zaehler] , $wert2);  
            
            
          $sql = "INSERT INTO table_namen ";  
          $sql .= "(wert1, wert2) ";  
          $sql .= "VALUES";  
          $sql .= "('$wert1[1]', '$wert2[1]') ";  
          $result = mysql_query($sql);  
            
          }  
          ?>  
            
          <?  
          $strQuery  = "SELECT * from table_namen ";  
                $dbRS = MySQLQuery($strQuery);  
                $intMaxRows = mysql_num_rows($dbRS);  
             $arrRS = mysql_fetch_array($dbRS);  
            
          $anzmenge=$intMaxRows;  
                   $intPages = ceil($intMaxRows/$anzmenge) - 1;  
                   $intCurrentPage = (int) $pg;  
                   $intPosition = 0;  
                   $intCursor = $intNavCursor = ($pg == 0) ? 0 : $pg *$anzmenge;  
                   // Navigation vorbereiten  
                   while($arrRS = mysql_fetch_array($dbRS)) {  
                           $nItemID = (int) @mysql_result($dbRS, $intNavCursor + 1, "itemid");  
                           $cItemID = (int) @mysql_result($dbRS, $intNavCursor, "itemid");  
                           $pItemID = (int) @mysql_result($dbRS, $intNavCursor - 1, "itemid");  
                           $intNavCursor++;  
                           if ($cItemID == 0) break; // letzte Reihe ausblenden  
                           $arrNavigation[$cItemID] = array($pItemID, $nItemID);  
                   }  
                         $strNavigation = urlencode(serialize($arrNavigation));  
                   mysql_data_seek($dbRS, $intCursor); // Zeiger erneut setzen  
                   while($arrRS = mysql_fetch_array($dbRS)) {  
                           $intPosition++;  
                     //  
             include('./db/db_hirn.php');  
          echo"$str_name1, $str_name2";  
                       if ($intPosition == $anzmenge) break; // Ende der aktuellen Liste  
                   } /* end while */  
          ?>
          

          Die Fehlermeldung "Acess denied for user.." erscheint schon in der ersten Zeile. Lasse
          ich das Script "test2.php" ohne den Code im Header meines vorherigen Posts laufen, funktioniert
          es einwandfrei. Was genau löst die Fehlermeldung aus? Ich meine, dass in dieser ersten
          Code-Zeile keine Header gesendet werden: mysql_query('TRUNCATE TABLE table_namen');

          Was meinst Du dazu Martin?

          1. Hallo,

            in der Datei "test2.php" steht folgender Code:

            <? mysql_query('TRUNCATE TABLE table_namen'); ?>

            Das geht schonmal schief. Du kannst keinen SQL-Query absetzen, ohne vorher die Verbindung zur DB aufzubauen.

            $daten = file_get_contents("http://www.meinedomain.com/xml.php4"); // Datei einlesen

            Warum willst du die Datei hier als HTTP-Ressource ansprechen? Holst du sie von einem anderen Server? Wenn sie auf derselben Maschine liegt wie das hier gezeigte Script, greife besser direkt übers Filesystem darauf zu (zumal der Dateizugriff über URL-Schemata nicht bei jedem Provider erlaubt ist).

            $sql = "INSERT INTO table_namen ";
            $sql .= "(wert1, wert2) ";
            $sql .= "VALUES";
            $sql .= "('$wert1[1]', '$wert2[1]') ";
            $result = mysql_query($sql);

            Noch ein SQL-Query, ohne dass überhaupt eine Verbindung zur DB besteht.

            include('./db/db_hirn.php');

            Nette Benamsung. Kleiner Scherz zwischendurch? :-)

            Die Fehlermeldung "Acess denied for user.." erscheint schon in der ersten Zeile.

            Für den unerwarteten mySQL-Zugriff oder für den Filezugriff über HTTP?

            Ich meine, dass in dieser ersten Code-Zeile keine Header gesendet werden: mysql_query('TRUNCATE TABLE table_namen');

            Das ist richtig; ich sehe im gesamten Script nichts, was einen HTTP-Header senden könnte. Das ist (für diesen Fall) schon mal gut.

            So long,
             Martin

            --
            Er:  Mit wem warst du gestern abend aus?
            Sie: Du bist mal wieder eifersüchtig wie immer!
            Er:  Wer ist Immer?
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. Sorry, dass ich mich unklar ausdrückte. Die DB-Verbindung wird vor dem Header aufgebaut.

              1. Hi,

                Sorry, dass ich mich unklar ausdrückte. Die DB-Verbindung wird vor dem Header aufgebaut.

                das heißt, was du im Vorposting gezeigt hast, war nur ein Teil des Scripts, und nicht die ganze PHP-Datei? Sorry, aber wenn du wirklich erwartest, dass wir dir helfen, solltest du keine Informationen zurückhalten (oder wenn, dann wenigstens deutlich darauf hinweisen).

                Ciao,
                 Martin

                --
                Wissen erwirbt man, indem man immer das Kleingedruckte sorgfältig liest.
                Erfahrung bekommt man, indem man das nicht tut.
                Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                1. Die XML-Datei liegt auf einem fremden Server. Doch so wie es aussieht, hat dies nichts zur Sache. Denn ich kriege laufend folgende Fehlermeldung:

                  Warning: mysql_query() [function.mysql-query]: Access denied for user 'apache'@'localhost' (using password: NO) in /home/httpd/vhosts/meinedomain.com/httpdocs/test2.php on line 1

                  Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/httpd/vhosts/meinedomain.com/httpdocs/test2.php on line 1

                  In der Datei test2.php befindet sich in Line 1 folgender Code:
                  <? mysql_query('TRUNCATE TABLE berater_live'); ?>
                  Danach kommt momentan nur reiner HTML-Code.

                  Hier das DB-Script, welches noch vor dem <head>-Tag steht:

                  <?  
                  // Öffentliche Konstanten holen  
                  define("_DBHOST", "localhost");  
                  define("_DBUSER", "***");  
                  define("_DBPASS", "***");  
                  // Der Datenbankname gilt lokal und live  
                  define("_DBNAME", "***");  
                    
                    
                    
                  if ($_SERVER['SERVER_NAME'] == "www" or $SERVER_NAME == "localhost") {  
                     $setlocal = TRUE;  
                  } else {  
                     $setlocal = FALSE;  
                  }  
                    
                  // Datenbankzugriff  
                  function open_database() {  
                     global $setlocal;  
                     if ($setlocal) {                                // Zugriff auf lokalen Testserver  
                       $host = "localhost";  
                       $user = "root";  
                       $pass = "";  
                  //   } else {                                                // Zugriff auf Live-Maschine  
                       $host = _DBHOST;  
                       $user = _DBUSER;  
                       $pass = _DBPASS;  
                  //   }  
                     $dblink = mysql_connect($host, $user, $pass) or die("Fehler beim Öffnen der DB");  
                     return $dblink;  
                  }  
                    
                  define("MYSQL", open_database());  
                  /*****************************************************************  
                   Function:  MySQLQuery  
                   Input:     Query  
                   Output:    Resultset  
                  *****************************************************************/  
                  function MysqlQuery($Query) {  
                    $dbQy = mysql_query($Query, MYSQL) or die("<P><B>Datenbankfehler </B><P>".$Query. "<P>" . mysql_error());  
                    return $dbQy;  
                  }  
                    
                    
                  // In der Administration keine Sessionverwaltung  
                  if (strpos($PHP_SELF, "admin") == 0) {  
                          MysqlQuery("USE "._DBNAME);  
                     $sessionID = md5($REMOTE_ADDR.time());  
                  }  
                    
                  ?>
                  

                  Ich hoffe dieses Mal alle nötigen Infos genügend klar ausgedrückt genannt zu haben ;-) Vielen Dank für die Hilfe!!

                  1. Hallo,

                    Die XML-Datei liegt auf einem fremden Server.

                    okay, das ist eine klare Aussage. Dann ist der Zugriff über HTTP auch sinnvoll bzw. notwendig.

                    Doch so wie es aussieht, hat dies nichts zur Sache.

                    Wahrscheinlich ist das kein Problem; ich wollte nur darauf hingewiesen haben, dass der Zugriff auf HTTP-Ressourcen mit den file-Funktionen je nach PHP-Konfiguration vom Hoster unterbunden sein _kann_.

                    Warning: mysql_query() [function.mysql-query]: Access denied for user 'apache'@'localhost' (using password: NO) in /home/httpd/vhosts/meinedomain.com/httpdocs/test2.php on line 1

                    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/httpd/vhosts/meinedomain.com/httpdocs/test2.php on line 1

                    In der Datei test2.php befindet sich in Line 1 folgender Code:
                    <? mysql_query('TRUNCATE TABLE berater_live'); ?>
                    Danach kommt momentan nur reiner HTML-Code.

                    Ja, ich sagte doch schon: Du willst etwas von der Datenbank, ohne vorher überhaupt ein mysql_connect() und ähnliche nötige Vorarbeiten zu tun. Das heißt, mySQL weiß deinen Zugriff überhaupt nicht zuzuordnen - gerade so, als ob völlig ohne Vorwarnung jemand an der Tür klingelt und sagt: "Tach, ich soll das Klavier abholen."

                    Hier das DB-Script, welches noch vor dem <head>-Tag steht:

                    Eben hast du gesagt, die mysql_query()-Anweisung stünde in der ersten Zeile, und danach nur noch HTML-Code - wie kann dann noch weiterer PHP-Code davor stehen?

                    Ich hoffe dieses Mal alle nötigen Infos genügend klar ausgedrückt genannt zu haben ;-)

                    Ich bin mir da noch nicht so sicher - ich blick nämlich immer noch nicht ganz durch.

                    So long,
                     Martin

                    --
                    Der Dienstweg ist die Abkürzung vom Holzweg zur Sackgasse.
                    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                    1. Ich hoffe, Dir hilft diese Beschreibung mit allen relevanten Scripts:

                      index.php

                      <?  
                      // Öffentliche Konstanten holen  
                      define("_DBHOST", "localhost");  
                      define("_DBUSER", "***");  
                      define("_DBPASS", "***");  
                      // Der Datenbankname gilt lokal und live  
                      define("_DBNAME", "***");  
                        
                      if ($_SERVER['SERVER_NAME'] == "www" or $SERVER_NAME == "localhost") {  
                         $setlocal = TRUE;  
                      } else {  
                         $setlocal = FALSE;  
                      }  
                        
                      // Datenbankzugriff  
                      function open_database() {  
                         global $setlocal;  
                         if ($setlocal) {                                // Zugriff auf lokalen Testserver  
                           $host = "localhost";  
                           $user = "root";  
                           $pass = "";  
                      //   } else {                                                // Zugriff auf Live-Maschine  
                           $host = _DBHOST;  
                           $user = _DBUSER;  
                           $pass = _DBPASS;  
                      //   }  
                         $dblink = mysql_connect($host, $user, $pass) or die("Fehler beim Öffnen der DB");  
                         return $dblink;  
                      }  
                        
                      define("MYSQL", open_database());  
                      /*****************************************************************  
                       Function:  MySQLQuery  
                       Input:     Query  
                       Output:    Resultset  
                      *****************************************************************/  
                      function MysqlQuery($Query) {  
                        $dbQy = mysql_query($Query, MYSQL) or die("<P><B>Datenbankfehler </B><P>".$Query. "<P>" . mysql_error());  
                        return $dbQy;  
                      }  
                        
                      // In der Administration keine Sessionverwaltung  
                      if (strpos($PHP_SELF, "admin") == 0) {  
                              MysqlQuery("USE "._DBNAME);  
                         $sessionID = md5($REMOTE_ADDR.time());  
                      }  
                      ?>  
                      
                      

                      <html>
                      <head>
                      Meta-Tags
                      <title></title>

                      		<script type="text/javascript" language="javascript">  
                      		<!--  
                      			var xmlHttp = false;  
                      			  
                      			if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {  
                      				xmlHttp = new XMLHttpRequest();  
                      			}  
                      			  
                      			function macheRequest(url) {  
                      				if (xmlHttp) {  
                      					xmlHttp.open("GET", url, true);  
                      					xmlHttp.onreadystatechange = alertInhalt;  
                      					xmlHttp.setRequestHeader("Pragma", "no-cache");  
                      					xmlHttp.setRequestHeader("Cache-Control", "must-revalidate");  
                      					xmlHttp.setRequestHeader("If-Modified-Since", document.lastModified);  
                      					xmlHttp.send(null);  
                      				}  
                      			}  
                      			  
                      			function alertInhalt() {  
                      				if (xmlHttp.readyState==4 && xmlHttp.status==200) {  
                      					document.getElementById("middle").innerHTML = xmlHttp.responseText;  
                      				}  
                      			}  
                      			  
                      			var iv = setInterval ("macheRequest(test2.php')", 100);  
                      			macheRequest('test2.php');  
                      		//->  
                      		</script>
                      

                      </head>
                      <body>
                      HTML-Code
                      HTML-Code
                      <div id="middle"><?php include ("test2.php"); ?></div>
                      HTML-Code
                      HTML-Code
                      HTML-Code
                      HTML-Code
                      </body>

                      test2.php

                      Zeile 1: <? mysql_query('TRUNCATE TABLE table_namen); ?>
                      ab Zeile 2: HTML-Code
                      -> später soll hier die Tabelle 'table_namen' ausgewertet/ausgelesen werden
                      -> test2.php beihnhaltet keine Header-Informationen

                      Vielen Dank für Deine Geduld!!!

                      1. Hallo,

                        Ich hoffe, Dir hilft diese Beschreibung mit allen relevanten Scripts:

                        also index.php macht die ganzen Verhandlungen mit der DB, includiert test2.php, und in diesem Script wird nur noch ein DB-Query abgesetzt. Das wäre in Ordnung und müsste funktionieren.

                        Aber wenn du dann im zweiten Schritt die test2.php mit dem AJAX-Aufruf erneut ausführst, steht sie ja allein - zu diesem Zeitpunkt sind alle Vorbereitungen und Nachbereitungen, die in index.php gemacht wurden, bereits Schnee von gestern; davon "weiß" der Server nichts mehr, weil diese Scriptinstanz ja abgearbeitet und entsorgt ist. Und dann kriegst du deine Probleme beim Zugriff.

                        Merke: Jeder HTTP-Request muss isoliert betrachtet werden, eine Verbindung mit anderen Requests gibt es nicht.

                        Vielen Dank für Deine Geduld!!!

                        Naja, ich hab ja sonst nichts zu tun. ;-)

                        Aber ich hoffe, du erkennst damit nun dein Problem - ich konnte es auch erst erkennen, als mir klar wurde, dass du mehrere Scripts in einen Zusammenhang bringst, der gar nicht existiert.

                        Ciao,
                         Martin

                        --
                        Nicht jeder, der aus dem Rahmen fällt, war vorher im Bilde.
                        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                        1. Ohhhh - ja, klar. Das ist so logisch, dass auch ich es verstehe!

                          Nun muss ich also rausfinden, ob die gesamte Seite geladen wurde

                          • wenn ja, dann in test2.php nicht nochmals mit der DB verbinden
                          • wenn nein, nochmals mit der DB verbinden

                          Gibt es eine Funktion, die mir sagt, ob eine Verbindung zur DB
                          besteht? mysql_stat kommt am Nähesten. Hilft jedoch nicht.

                          Grüsse
                          Fuchur

                          1. Hallo Glücksdrache,

                            Ohhhh - ja, klar. Das ist so logisch, dass auch ich es verstehe!

                            na prima. Hat wohl ein bisschen Anlauf gebraucht.

                            Nun muss ich also rausfinden, ob die gesamte Seite geladen wurde

                            • wenn ja, dann in test2.php nicht nochmals mit der DB verbinden
                            • wenn nein, nochmals mit der DB verbinden

                            Das erscheint mir suboptimal. Natürlich kannst du test2.php beim AJAX-Aufruf einen URL-Parameter mitgeben, an dem das Script ablesen kann, dass es "standalone" läuft. Ebensogut kannst du eine aussagekräftige Variable, die in index.php angelegt wurde, in test2.php auf Existenz prüfen.

                            Aber viel sinnvoller sieht aus für mich aus, wenn du das ganze DB-Handling *grundsätzlich* in deiner test2.php machst und aus der index.php komplett raushältst. Dann brauchst du diese Fallunterscheidung nämlich gar nicht.

                            Ciao,
                             Martin

                            --
                            Fische, die bellen, beißen nicht.
                            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                            1. Ok, alles klar. Nochmals herzlichen Dank für Deine Hilfe.
                              Habe heute dank Dir verdammt viel gelernt. Ich werde das
                              DB-Handling in die test2.php-Datei verschieben.

                              Grüsse
                              Fuchur

            2. Warum willst du die Datei hier als HTTP-Ressource ansprechen? Holst du sie von einem anderen Server?

              Nein, es ist eine externe Datei! Darauf habe ich wohl nicht genügend hingewiesen.

              1. Hallo,

                Warum willst du die Datei hier als HTTP-Ressource ansprechen? Holst du sie von einem anderen Server?
                Nein, es ist eine externe Datei! Darauf habe ich wohl nicht genügend hingewiesen.

                was meinst du nun mit "externe Datei"?
                Liegt sie auf demselben Server wie das Script? - Dann ist der HTTP-Zugriff unsinnig.
                Oder liegt sie auf einem fremden Server? - Dann liegt hier ein mögliches Problem.

                Ciao,
                 Martin

                --
                Nicht jeder, der aus dem Rahmen fällt, war vorher im Bilde.
                Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  2. Hi,

    ich habs in google mal damit versucht. Ich denke das sollte helfen :)

    greetz
    hossi