[PHP] Kleinere Probleme bei Programmierung eines CMS

Maxefix

Grand Admiral Special
Mitglied seit
20.01.2003
Beiträge
6.223
Renomée
176
  • SIMAP Race
  • QMC Race
Hi,

ersteinmal möcht ich darauf hinweisen das ich sehr wenig Erfahrungen in Sachen PHP hab und das mein erstes Projekt ist. Aber rein theoretisch müsste ich es hinbekommen, aber ein paar Probleme hab ich leider doch noch...

Also erstmal die Grundidee meines CMS: In der index.php wird das Layout festgelegt und per "include(datei.txt)" der entsprechende Inhalt eingefügt. Die einzelnen Seiten sind also nur Textfiles die in einem eigenen Ordner liegen. Mit einer einfachen if-Abfrage werden dann die entsprechenden Dateien geladen. Der PHP-Bereich in der index.php sieht also so aus:
PHP:
<?php
if($_GET['page'])
	{
	include('content/'.$_GET['page'].'.txt');
	}
else
	{
	include('content/index.txt'); 
	}
?>
Das funktioniert alles einwandfrei. Aber jetzt will ich nen Script schreiben mitdem ich die Dateien ganz einfach erstellen kann, also das ich online neue Seiten/Artikel schreiben kann. Das ganze funktioniert sogar schon einigermassen, nur kommt immer die Meldung das ich etwas in das Textfeld schreiben soll obwohl da was drinsteht. Wenn ich dann das zweite mal was reinschreib und abschick funktionierts komischerweise...

Hier mal den Code:
PHP:
<?php
if($_POST['sent']==1)
	{
	$_POST['name']=trim($_POST['name']);
	$_POST['content']=trim($_POST['content']);
	if(file_exists('../content/'.$_POST['name'].'.txt')){$fehler='Die Datei existiert bereits. Bitte geben Sie einen anderen Namen ein.<br />';}
	if(!$_POST['name']){$fehler.='Bitte geben Sie einen Namen ein.<br />';}
	if(!$_POST['content']){$fehler.='Bitte geben Sie einen Inhalt ein.<br />';}
	if($fehler){$fehler='<h4>'.$fehler.'</h4>';}
	}
if($_POST['name'] AND $_POST['content'] AND !file_exists('../content/'.$_POST['name'].'.txt'))
	{
	$t1=chr(10);
	$t2=chr(13);
	$_POST['content']=str_replace($t1,'<br />',$_POST['content']);
	$_POST['content']=str_replace($t2,'<br />',$_POST['content']);
	$comment=fopen('../content/'.$_POST['name'].'.txt','w');
	$ausgabe=$_POST['content'];
	fputs($comment,$ausgabe);
	fclose($comment);
	unset($_POST['name']);
	unset($_POST['content']);
	}
?>
HTML:
<html>
<head>
	<title>SimpleCMS - Admin</title>
</head>
<body>
<h4>Eine neue Seite erstellen:</h4>
<?php echo $fehler; ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="sent" value="1">
<p>Name der Seite:<br>
<input type="text" name="name" size="30" value="<?php echo $_POST['name']; ?>">
<br>
Inhalt:<br>
<textarea name="content" rows="10" cols="30" wrap="virtual"><?php echo $_POST['content']; ?></textarea>
</p>
<input type="submit" value="abschicken">
</form>
</body>
</html>

Schonmal Danke für eure Hilfe und Tipps :)

MFG Max

PS: Ich weiß das das ganze ziemlich primitiv aufgebaut ist, aber wie gesagt, das ist mein erstes Projekt :)

EDIT: Jetzt funktionierts obwohl ich eigentlich im großen und ganzen nix verändert hab *noahnung* Also manchmal frag ich mich echt... *buck*
 
Zuletzt bearbeitet:
Zurück
Oben Unten