Nav mit datenbankanbindung PROB

Headymaster

Erfahrenes Mitglied
Hallo!

Ich versuche über die Hauptpage ein Include mit Abfrage der Datenbank hinzubekommen:

index.php:
PHP:
<?php
// Verbindung zur Datenbank herstellen
function dbconnect()
{
	require_once("inc/mysql.php");
	$connect = mysql_connect($dbhost, $dbuser, $dbpw);
	$selectdb = mysql_select_db($dbname, $connect);
	if (!$connect)
	{
		mysql_close($connect);
	}
	else
	{
		if (!$selectdb)
		{
			mysql_close($connect);
		}
	}
}
//Definition der ID, Wenn keine ID uebergeben wurde
//nimmt das System die Standard ID
if(!isset($_GET['id']))
{
	$id = "1";
}
else
{
	$id = $_GET['id'];
}
echo "$id";
dbconnect();
$sql = "SELECT * FROM nav WHERE id=$id";
//Datenbank wird abgefragt
$result = mysql_query($sql);

// Abfrage in array einlesen
$array = mysql_fetch_array($result);

// Variablen definieren
$tempname = $array["name"];
$tempurl = $array["tempurl"];
$codeurl = $array["codeurl"];

include("$codeurl");
?>

Leider ist das Prob bei dem include ganz unten.
Wir nur eine datei...wie user/index.php includet funktioniert es wunderbar,
will ich aber zu Beispiel user/index.php?do=user_profil ausgeben lassen.....kommt der Fehler, dass die Datei nicht existiere und somit das includen nicht ausgeführt werden kann?

Könnt ihr mir sagen woran das liegt oder ob include da vielleicht das vollkommen falsche ist?

MFG Niels
 
Ich habe es ma so probiert:
PHP:
<?php
// überprüfen ob Datei existiert und dann includen
if (file_exists($codeurl))
{
@readfile($codeurl);
}
else
{
}
?>

Aber das funktioniert nicht.....es wird zwar kein fehler angezeigt....aber es wird auch nichts includet.....

MFG Niels
 
Und auch im Quelletxt nichts zu sehen von der Datei? Wenn die Datei wirklich nicht leer ist müsste da auch was zu sehen seien.
 
Ne da wird auch nischt angezeigt :(

Hier nochma die user/index.php:
PHP:
<?php
switch ($_GET['do'])
{
######################
####User_Profil#######
######################
case "user_profil":
echo "Sie befinden sich im Userprofil!";
break;
######################
####User_Register#####
######################
case "user_register":
echo "User registrieren";
break;
######################
####User_LostPW#######
######################
case "user_lostpw":
echo "Habe mein PW verbummelt :(";
break;
######################
####User_Edit#########
######################
case "user_edit":
echo "Willst mich ändern oder was?";
break;
}
?>
MFG Niels
 
Zuletzt bearbeitet:
Offensichtlich ist nicht die Datei das Problem sondern die mitgegebenen Parameter. Soweit ich weiß ist es nicht möglich über include("subdatei.php?do=aktionX") die Variable do zu übergeben. Aber du könntest do als global in der subdatei.php definieren ("global $do;") und dann das ganze bearbeiten!

PS: Der Quellcode müsste auch soweit OK sein, mich irritiert nur
PHP:
require_once("inc/mysql.php");
, also ich weiß nicht ob das so problemlos in eine Funktion geschrieben werden sollte...
 
So habe es nun abgeändert......die Datenbank enthält nur den Link zu der jeweiligen index.php...

Das ganze wird dann mit :
PHP:
// überprüfen ob Datei existiert und dann includen
if (file_exists($codeurl))
{
include($codeurl);
}
else
{
}
includet......
Und die einzelnen Codeabschnitte werden dann mit <a href="index.php?id=1&do=blabla angesprochen.....funktioniert wunderbar :)

Also das zu dem include("inc/myql.php");
Soll halt nur includet werden,sobald die function dbconnect aufgerufen wird......
Wie sollte man es sonst machen?
Ist es so unsicher oder warum irretiert es dich?


MFG Niels
 
Zurück