• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[php] Problem mit get

Slein

New member
Guten Tag

Ich habe folgenden Scriptcode:

PHP:
<?php
		//header
		if ($get['lang'] == "de")
		{
			include("deheader.php");
		}
		elseif ($get['lang'] == "nl")
		{
			include("nlheader.php");
		}
		else
		{
			include("header.php");
		}
		
		//inhalt
		if (file_exists($get['lang'].$get['inhalt'].'.php'))
		{
		include($get['lang'].$get['inhalt'].".php");
		}
		else
		{
			include("start.php");
		}
		
		//footer
		if ($get['lang'] == "de")
		{
			include("defooter.php");
		}
		elseif ($get['lang'] == "nl")
		{
			include("nlfooter.php");
		}
		else
		{
			include("footer.php");
		}
		
		?>

Wenn ich nun am URL "?lang=de" anhänge, sollten ja die Dateien deheader.php und defooter.php eingefügt werden.
Allerdings kommen da immer die normalen dateien footer.php und header.php.

Ich habe auch schon folgendes oberhalb des eigentlichen scripts eingefügt:

PHP:
	<?php
    error_reporting(E_ALL);
    
    if(isset($_GET['lang'])) { // guckt nach ob 'xy' übergeben wurde
        echo "Die Variable 'lang' wurde übergeben<br />\n";
        echo "Sie hat den Wert: ".$_GET['lang']."<br />\n";
    } else {
        echo "Die Variable 'inhalt' wurde nicht übergeben.\n";
    }
?>
<?php
    error_reporting(E_ALL);
    
    if(isset($_GET['inhalt'])) { // guckt nach ob 'xy' übergeben wurde
        echo "Die Variable 'inhalt' wurde übergeben<br />\n";
        echo "Sie hat den Wert: ".$_GET['inhalt']."<br />\n";
    } else {
        echo "Die Variable 'inhalt' wurde nicht übergeben.\n";
    }
?>

Da wurde einfach der restliche Inhalt etwas nach unten geschoben, aber ausgegeben wurde nichts.

An was kann das liegen?

Danke im Voraus
Gruss Slein
 
Sofern du die $_GET Variable nicht $get zugeordnet hast,
versuch mal $_GET anstatt $get zu schreiben.

Das sollte dir zumindest bei dem Code helfen:

<?php
//header
if ($_GET['lang'] == "de")
{
include("deheader.php");
}
elseif ($_GET['lang'] == "nl")
{
include("nlheader.php");
}
....
 
Ich habe dass jetzt so gemacht.
So kommen wenigstens nicht mehr die Standartdateien.
Allerdings wird dann anstatt den Dateien nur ein Link "function.include" angezeigt.

Was könnte denn da das Prob sein? Unter dem else integriert es ja die richtige datei, beim elseif und beim if demfall nicht.
 
Dateinamen falsch (eventuell Groß-Kleinschreibung beachten).

Deine Art den Inhalt zu includen ist übrigens gefährlich. $_GET['lang'] könnte auf Dateien verweisen die auf anderen Servern liegen oder Dateien die du nicht der Öffentlichkeit zugänglich machen willst.
 
Zuletzt bearbeitet:
AW: [php] Probleme bei meiner Website

Guten Tag
Ich habe folgendes Problem

PHP:
<BODY>
		
<div id="header" border="0">
<div id="menu">
<a href='?lang=de&inhalt=wissen'>
<img alt="Wissen" src="http://forum.jswelt.de/images/de/wissen.jpg" border="0">
</a>
<a href='?lang=de&inhalt=archiv'>
<img alt="Archiv" src="http://forum.jswelt.de/images/de/archiv.jpg" border="0">
</a>
<a href='?lang=de&inhalt=kontakt'>
<img alt="Kontakt" src="http://forum.jswelt.de/images/de/kontakt.jpg" border="0">
</a>
</div>
</div>

<div id="inhalt" border="0">
<div id="button">
<h1>Hallo</h1>
<h2>Hallo</h2>
<p>Hallo</p>
</div>
</div>

<div id="footer" border="0">
<div id="menu">
<p>Der gesamte Inhalt dieser Website ist © by Niels de Bruijn. Die Bilder dürfen nur mit einem Verweis auf diese Seite weiterverwendet werden.</p>
</div>
</div>	
</BODY>
</HTML>

Zwischen den Div Tags bzw. den Teilen "Header", "Inhalt" und "Footer".

Habe ich beim Firefox und bei Opera immer einen Abstand von ca. 20 px.
Das sollte aber flüssig übergehen.
Beim IE wird es korrekt dargestellt.
Auch die Startseite wird immer korrekt dargestellt.

Weiss jemand an was das liegen kann?

EDIT: Warum wird der HTML-Code nach dem Editieren normal angezeigt und jedesmal wenn ich diese Seite neu lade wieder nur in einer Zeile?
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben