Umleitungsfehler beim aufrufen von index.php

Alles, was PHP betrifft, kann hier besprochen werden.

Umleitungsfehler beim aufrufen von index.php

Postby Pint47 » 06. February 2007 02:57

Erstmal Guten Morgen,

ich habe da ein kleines Problem, dass mich allmählig zum verzweifeln bringen will.

Ich versuche eine selbst geschriebene PHP-Internetseite zu pflegen und in Xampp aufzurufen.

Als erstes hab ich Xampp installiert. Funzt auch. D. H. wenn ich LocalHost im Mozilla eingebe, kommt der Xampp Splash bildschirm.

Ich habe die Internetseite (index.php) und einige unterordner in htdocs kopiert.

Sobald ich meine Seite aufrufe über Mozilla kommt folgende Meldung:

Umleitungsfehler. Die Seite könnte nicht mehr beendet werden.
Ich glaube es ist eine Endlosschleife in der index.php.

Da stehen solche Sachen wie $_Server. Ich denke es hat damit zu tun und ich muss nur irgendwas auf LocalHost umschreiben.

Vielleicht kann mir da ja jemand helfen, der mit der Sache schon etwas bewandert ist.

Ich würde mich auf jeden Fall sehr Freuen.

Vielen Dank !!!!!!!!! und bis Dann
Pint47
 
Posts: 5
Joined: 06. February 2007 02:44

Postby Wiedmann » 06. February 2007 03:16

Vielleicht kann mir da ja jemand helfen,

Mögl., nur kann hier keiner Hellsehen... ;-)

Umleitungsfehler. Die Seite könnte nicht mehr beendet werden.

Da würde dann erstmal schauen, ob du nicht noch eine ".htaccess" mit reinkopiert hast.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby taladan » 06. February 2007 03:21

Kann es sein, das du einige Dateien überschrieben hast? Mach mal einen Simplen test und erstelle eine index.php datei mit dem üblichen "hallo welt" oder was dir sonnst noch einfällt (also z.b. eine reine einfache html seite). Übeschreibe deine aktuelle index.php damit und guck ob diese überhaupt ausgeführt wird. Wenn nicht liegt der fehler wo anders. wenn ja, nimm der reihe nach dein script wieder rein. step by step. bis der server irgendwann aufgibt.
Meine Idee ist eher, das du irgendwo versehentlich zwei Scripte gemischt hast.
Mit den php Befehl print_r($_SERVER) kannst du dir übrigens deine servervariable (auch andere arrays) anschauen. wenn da sich nichts tut, liegt hier dein problem.
Häufig sitzt das Problem des Computers an immer der selben Stelle, zwischen Monitor und Rückenlehne.
taladan
 
Posts: 44
Joined: 04. February 2007 01:22

Umleitungsfehler beim aufrufen von index.php

Postby Pint47 » 06. February 2007 13:57

Erstmal Danke für die schnelle Antwort !!!

Zu taladan:

Überschrieben hab ich nichts.
Erklär mir das mal genauer mit der ht.access datei, da ist nemlich tatsächlich eine dabei in dem Ordner USAGE.

In dieser steht folgendes: RewriteEngine off

kenn mich damit nicht aus !

Ich denke den fehler gabs schon öfter. Die index.php macht glaube ich eine Endlosschleife !
Pint47
 
Posts: 5
Joined: 06. February 2007 02:44

Postby Wiedmann » 06. February 2007 14:52

Die index.php macht glaube ich eine Endlosschleife !

IMHO liegt das am 3. Wort von Links in der 5. Zeile (Leerzeilen ausgenommen). ;-)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Umleitungsfehler. Die Seite könnte nicht mehr beendet werden

Postby Pint47 » 06. February 2007 15:51

Ich des jetzt auf on gestellt das mit der rewrite engine. Geht aber immernochnicht.

Hier noch einige Infos: Es handelt sich um eine PHP-Seite, die aus einer Indexdatei bzw. Includes besteht.

Ich zeig euch mal wie der Anfang von der Index.php aussieht.

Ich denke es liegt an dem Ausdruck $_Server, ich hab ja die Seite von nem Server runtergezogen, jetzt möchte ich Sie mir aber in Xampp über LocalHost ansehen !!!

Vielen Dank wieder mal !!!
Pint47
 
Posts: 5
Joined: 06. February 2007 02:44

Ich denke es liegt an folgendem Header !

Postby Pint47 » 07. February 2007 16:33

So beginnte die index.php:

____________________________________________________________

<?php

if ($loc == "") {
$loc = "home";
}

if ($lang == "") {
Header("Location: " . $_SERVER['PHP_SELF'] . "?lang=deu&loc=". $loc);
exit;

____________________________________________________________

Wie gesagt, auf dem Server läuft alles einwandfrei, jedoch nicht in xampp.
Da kommt immer die Fehlermeldung - Umleitungsfehler.

Ich denke es handelt sich um eine Endlosschleife.
Könnte es sein, das Xampp nichts mit dem Begriff $_Server anfangen kann und ich das irgendwie auf LocalHost umstellen muss.

Danke Danke und nochmals Danke. Irgendwann wird alles laufen, ganz klar !!!
Pint47
 
Posts: 5
Joined: 06. February 2007 02:44

Postby Wiedmann » 07. February 2007 17:10

Code: Select all
<?php

if ($loc == "") {
$loc = "home";
}

Du vergleichst hier gleich am Anfang deines Scriptes die Variable "$loc" definierst sie zuvor aber nirgends, bzw. gibst ihr nirgends einen Wert.
--> Diese Variable enthält also immer "" (ist immer leer)

Code: Select all
if ($lang == "") {
Header("Location: " . $_SERVER['PHP_SELF'] . "?lang=deu&loc=". $loc);
exit;

Hier natürlich das Selbe mit "$lang". Und da "$lang" immer leer ist, wird immer wieder redirected.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Umleitungsfehler beim aufrufen von index.php

Postby taladan » 07. February 2007 17:23

Pint47 wrote:Erstmal Danke für die schnelle Antwort !!!

Erklär mir das mal genauer mit der ht.access datei, da ist nemlich tatsächlich eine dabei in dem Ordner USAGE.


Sorry, ich stehe da genau so auf den Schlauch wie du.
Häufig sitzt das Problem des Computers an immer der selben Stelle, zwischen Monitor und Rückenlehne.
taladan
 
Posts: 44
Joined: 04. February 2007 01:22

Postby taladan » 07. February 2007 17:37

Mach mal folgenden test. schreibe eine einfache seite namens "test.php" in deinen root-Verzeichnis

Darin kommt der unten angegebene Code.

Dann öffenest deinen Broswer und sagst im, er soll auf "http://127.0.0.1/test.php".

Die Seite zeigt dir alle Globalen Variablen und ihre Werte an, sofern diese überhaupt deklariert sind.

Code: Select all
<html>
<head>

<title>Test der Globalen Variablen</title>

</head>
<body bgcolor="#FFFFD0">
<br><br><br>
<div align="center"><a href="../../test.php">Test</a>   </div>
<table border="#000000">
   <tr bgcolor="">
            <td align="center" valign="top">
                    <table>
                            <tr>
                                    <th colspan="2">
                                             $_SESSION
                                         </th>
                                 </tr>
<?php
   if (isset($_SESSION)) {
   $colorA = '#C0C0C0';
         $colorB = '#808080';
         $i = $colorA;
         echo sprintf ('<tr><td bgcolor="'.$i.'">Variable</td><td bgcolor="'.$i.'">Wert</td></tr>');
         if ($i == $colorA) {$i = $colorB;} else {$i = $colorA;}
   foreach ($_SESSION as $key =>$value ) {
                   echo ('<tr><td bgcolor="'.$i.'">'.$key.'</td><td bgcolor="'.$i.'">'.$value.'</td></tr>');
                   if ($i == $colorA) {$i = $colorB;} else {$i = $colorA;}

         }
         } else {echo "keine $_SESSION-Variable gesetzt";}
 ?>
                         </table>
                 </td>
                 <td align="center" valign="top">
                    <table>
                            <tr>
                                    <th colspan="2">
                                             $_GET
                                         </th>
                                 </tr>
<?php
   if (isset($_GET)) {
   $colorA = '#C0C0C0';
         $colorB = '#808080';
         $i = $colorA;
         echo sprintf ('<tr><td bgcolor="'.$i.'">Variable</td><td bgcolor="'.$i.'">Wert</td></tr>');
         if ($i == $colorA) {$i = $colorB;} else {$i = $colorA;}
   foreach ($_GET as $key =>$value ) {
                   echo ('<tr><td bgcolor="'.$i.'">'.$key.'</td><td bgcolor="'.$i.'">'.$value.'</td></tr>');
                   if ($i == $colorA) {$i = $colorB;} else {$i = $colorA;}

         }
         } else {echo "keine $_GET-Variable gesetzt";}
 ?>
          </table>
                 </td>
                 <td align="center" valign="top">
                    <table>
                            <tr>
                                    <th colspan="2">
                                             $_POST
                                         </th>
                                 </tr>
<?php
   if (isset($_POST)) {
   $colorA = '#C0C0C0';
         $colorB = '#808080';
         $i = $colorA;
         echo sprintf ('<tr><td bgcolor="'.$i.'">Variable</td><td bgcolor="'.$i.'">Wert</td></tr>');
         if ($i == $colorA) {$i = $colorB;} else {$i = $colorA;}
   foreach ($_POST as $key =>$value ) {
                   echo ('<tr><td bgcolor="'.$i.'">'.$key.'</td><td bgcolor="'.$i.'">'.$value.'</td></tr>');
                   if ($i == $colorA) {$i = $colorB;} else {$i = $colorA;}

         }
         } else {echo "keine $_POST-Variable gesetzt";}
 ?>
          </table>
                 </td>
    </tr>
         <tr>
                 <td align="center" valign="top" colspan="3">
                    <table>
                            <tr>
                                    <th colspan="2">
                                             $_SERVER
                                         </th>
                                 </tr>
<?php
   if (isset($_SERVER)) {
   $colorA = '#C0C0C0';
         $colorB = '#808080';
         $i = $colorA;
         echo sprintf ('<tr><td bgcolor="'.$i.'">Variable</td><td bgcolor="'.$i.'">Wert</td></tr>');
         if ($i == $colorA) {$i = $colorB;} else {$i = $colorA;}
   foreach ($_SERVER as $key =>$value ) {
                   echo ('<tr><td bgcolor="'.$i.'">'.$key.'</td><td bgcolor="'.$i.'">'.$value.'</td></tr>');
                   if ($i == $colorA) {$i = $colorB;} else {$i = $colorA;}

         }
         } else {echo "keine $_SERVER-Variable gesetzt";}
 ?>
          </table>
                 </td>
         </tr>
</table>
</body>
</html>


Häufig sitzt das Problem des Computers an immer der selben Stelle, zwischen Monitor und Rückenlehne.
taladan
 
Posts: 44
Joined: 04. February 2007 01:22

Postby martinpre » 07. February 2007 19:07

Wiedmann wrote:
Code: Select all
<?php

if ($loc == "") {
$loc = "home";
}

Du vergleichst hier gleich am Anfang deines Scriptes die Variable "$loc" definierst sie zuvor aber nirgends, bzw. gibst ihr nirgends einen Wert.
--> Diese Variable enthält also immer "" (ist immer leer)

Code: Select all
if ($lang == "") {
Header("Location: " . $_SERVER['PHP_SELF'] . "?lang=deu&loc=". $loc);
exit;

Hier natürlich das Selbe mit "$lang". Und da "$lang" immer leer ist, wird immer wieder redirected.


Hmmm woher kennen wir undefinierte Variablen und vorallem dann wenn da GETs vorkommen .....

... hier findest du Informationen zu dem Problem: http://faq.kwm-web.info/doku.php/php#register_globals

Wenn du noch mehr Hilfe brauchst, benutze die Forensuche zum Thema register_globals, solche Sachen kommen (fast) jeden Tag hier vor ;)

Wenn du dein Programm, wie du oben geschrieben hast, selbst gecodet hast, dann solltest du kein Problem haben dieses entsprechend anzupassen ;)
martinpre
 
Posts: 405
Joined: 22. May 2006 16:14
Location: Nähe Tulln / Österreich

Postby Wiedmann » 07. February 2007 21:27

Zuerst:
Antworten bitte hier im Forum.

Pint47 wrote:Das was du geschrieben hast mit den nicht definierten Variablen kann so aber eigentlich nicht stimmen,

Du musst ja nur das PHP-Manual lesen, um zu wissen das dem so ist ,-) Wenn du dein error_reporting anpasst, z.B. mit
Code: Select all
error_reporting(E_ALL);

als erste Zeile im Script, teilt dir PHP höchst selbst dies mit.


Pint47 wrote:da die Seite original so im Internet läuft (Genau dieses Script.) -> und es funzt !

Da es "funzen" im Duden nicht gibt, kann es schonmal nicht "funzen" ;-)

BTW:
Funktionieren tut es nur zufällig (noch) auf diesem Server.

Lese einfach das Kapitel über externe Variablen [1] im PHP-Manual und korrigiere danach dein Script. (Dort kannst du auch nachlesen, wieso es auf manchen Servern auch anders tun kann)

[1] http://de.php.net/manual/de/language.va ... ternal.php
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Umleitungsfehler gelöst

Postby Pint47 » 12. February 2007 00:29

Erstmal vielen Dank an euch alle, dass Ihr so rege geantwortet habt.

Ich bin jetzt endlich dahinter gekommen. Es lag einzig und allein an der Einstellung mit den Register_Globals. Sie waren auf "off" gestellt und ich musste dies ändern. Jetzt geht alles.

Es liegt also daran, dass auf dem Server (wo ja alles funktioniert hatte) diese Einstellung aktiviert war.

Jetzt läuft es auf jeden fall in Xampp !!! -> Perfekt.

Ich hatte probleme die Einstellung Register_Globals zu ändern.

Ich hab dauernd versucht dies unter Xampp\Htdocs\php\php.ini zu verändern , dass war aber falsch.

Ich fand dann heraus, dass man dies an einem anderen Ort verändern muss.

Diesen kann man über localhost/xampp und dann php-info herausfinden. Da steht auch, ob die einstellung auf "off" oder "on" steht.

Änderungen in den PHP.Ini-Dateien werden erst nach einem Neustart des Apache-Servers übernommen !!!


Also dann nochmals Danke an alle und vielleicht bis bald.
Pint47
 
Posts: 5
Joined: 06. February 2007 02:44

Postby Wiedmann » 12. February 2007 00:36

Jetzt geht alles.

Das ist ja schonmal was :-)

Es lag einzig und allein an der Einstellung mit den Register_Globals. Sie waren auf "off" gestellt und ich musste dies ändern.

Ich kann dir trotzdem nur nahelegen, dass du über kurz oder lang dein Script korrigierst.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to PHP

Who is online

Users browsing this forum: No registered users and 6 guests