[PHP] Hilfe beim coden eines Mini-CMS

dmncstmpfl

Lt. Commander
Registriert
Dez. 2003
Beiträge
1.348
Hallo Zusammen

Wie der Titel schon sagt, benötige ich einige Hilfe beim Coden eines Mini-CMS

Ich habe erst eine design.php welche eigentlich nur die Tabellenstruktur enthält. Diese Datei include ich dann in die inhalt.php

design.php
PHP:
<?php
echo ("
   <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
   <html>
	  <head>
                <title>NEON | Mirkwood - Version 0.1 Beta</title>
	  </head>
	 <body>
		<!-- Strukturtabelle -->
		<table cellspacing=0 cellpadding=0 border=1 width=100% height=100%>
		      <tr height=100 align=\"left\" valign=\"top\">
			   <td colspan=3>LOGO</td>
		      </tr>
		      <tr height=10 align=\"left\" valign=\"top\">
		           <td><a href=\"index.php?id=1\">Home</a></td>
			   <td>Leiste Mitte</td>
			   <td>Leiste Rechts</td>
		       </tr>
		       <tr align=\"left\" valign=\"top\">
		           <td width=15%>
	 ");
				
include "navi/navi_main.php";

echo ("
			   </td>
			   <td>$content</td>
			   <td width=20%>Misc</td>
			</tr>
			<tr height=10>
			   <td>Footer Links</td>
			   <td>Footer Mitte</td>
			   <td>Footer Rechts</td>
		        </tr>
		</table>
	 </body>
   </html>
");
?>
index.php
PHP:
<?php
//Aufbau und Überprüfung der Datenbankverbindung
mysql_connect ("localhost", "root", "[passwort]") or
die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db ("main");

//Query
if($_REQUEST["id"])
{
    $id = $_REQUEST["id"];
    $cmd = "SELECT * FROM content WHERE id = '$id'";
    $qry = mysql_query($cmd);
    $res = mysql_fetch_array($qry);
    $content = $res[content];
    include("design.php");
}
else
{
    $inhalt = "Kein Inhalt gewählt";
    include("design.php");
}

?>

die nav/main.php ist nicht so wichtig. Sie enhält nur nomrale <a href> - links

wie ihr sicher schon kapiert habt bezieht es alle inhalte aus der tabelle inhalt.
Der code und funktioniert soweit. Der inhalt wird richtig angezeigt und so.

Es kommt einfach noch ein fehler:
Notice: Use of undefined constant content - assumed 'content' in C:\_webserver\site\index.php on line 18

Weiss nicht genau was dort falsch sein soll. line 18 ist überigens $content = $res[content];

so nun seit ihr dran. Könnte es eine Fehleinstellung an meinem Server sein?

Danke für eure Hilfe!
 
Re: Hilfe beim coden eines Mini-CMS

Verwuch mal $content = $res['content'];

Dann sollte es eigentlich fehlerfrei laufen.
 
Re: Hilfe beim coden eines Mini-CMS

hurra, du bist mein held :D

funktioniert fehlerfrei

jetzt gleich noch was anderes:
wenn ich den Homepagenamen im Browser eingebe (in meinem fall jetzt localhost), sollte es ja direkt auf home, also index.php?id=1 wie muss ich das jetzt machen?

Weill wenn ich einfach localhost eingeben, fehlt ihm natürlich die Request ID
 
Re: Hilfe beim coden eines Mini-CMS

Du bekommst von deinem Webserver standardmäßig nur die Index.php aufgerufen, wenn du sie dort angegeben hast.

Die Request brauchst du nicht, du kannst ja abfragen, ob im GET die Variable ID schon gesetzt wurde, und wenn dem nicht so ist, einfach den Fall mit id=1 laden.

Das würde folgendemaßen gehen:
Code:
if(!isset($_GET['id'])
{
  $id = 1;
}
 
Re: Hilfe beim coden eines Mini-CMS

PHP:
<?php
if ( !$_GET['id'] )
  $_GET['id'] = 1;
?>
;)
 
Re: Hilfe beim coden eines Mini-CMS

und wo genau kommt das hin?
 
Re: Hilfe beim coden eines Mini-CMS

Deine Index.php hat folgenden Code

PHP:
//Query 
if($_REQUEST["id"]) 
{ 
    $id = $_REQUEST["id"]; 
    $cmd = "SELECT * FROM content WHERE id = '$id'"; 
    $qry = mysql_query($cmd); 
    $res = mysql_fetch_array($qry); 
    $content = $res[content]; 
    include("design.php"); 
} 
else 
{ 
    $inhalt = "Kein Inhalt gewählt"; 
    include("design.php"); 
} 

?>

Ich würde ihn folgendermaßen erstellen:

PHP:
//Query
if(isset($_REQUEST['id'])
{
    $id = $_REQUEST['id'];
}
else
{
    $id = 1;
}

$cmd = "SELECT * FROM content WHERE id = '$id'"; 
$qry = mysql_query($cmd); 
$res = mysql_fetch_array($qry); 
$content = $res['content']; 
include("design.php"); 

?>

Somit hast du immer einen Inhalt und im Notfall, kannst du noch id prüfen, ob es außerhalb der Inhalte aus der Datenbank liegt. Dann kannst du immer sicher sein, dass da nie was fehlerhaftes aufgerufen wird.
 
Re: Hilfe beim coden eines Mini-CMS

jetzt kommt das hier:
Parse error: syntax error, unexpected '{' in C:\_webserver\site\index.php on line 9

/edit
line 9 ist die zeile gleich nach dem if, also die Klammer
 
Re: Hilfe beim coden eines Mini-CMS

Ups ja, da hat sich der Fehlerteufel eingeschlichen.
Es fehlte die zweite Klammer in der Zeile

PHP:
//Query 
if(isset($_REQUEST['id']))
{ 
    $id = $_REQUEST['id']; 
} 
else 
{ 
    $id = 1; 
} 

$cmd = "SELECT * FROM content WHERE id = '$id'"; 
$qry = mysql_query($cmd); 
$res = mysql_fetch_array($qry); 
$content = $res['content']; 
include("design.php"); 

?>
 
Re: Hilfe beim coden eines Mini-CMS

das geht, wundebar, danke.

Nächste frage kommt bestimmt :D
 
Zurück
Oben