Lad mig gætte du har søgt 60 forskellige steder på nettet og strikket det her sammen ud fra de forskellige resultater?
må indrømme at det er meget ringe det du har lavet og langt fra det "optimale" og "nemme".
vil forslå du starter fra scratch!
start med og sig hvilke værdier du vil gemme fx. id(int), title(varchar(255)),text(text),by(varchar(255),created (dato)
herefter laver du denne tabel på din database, eventuelt med navnet pages på.
du indsætter et par tilfældige rækker og laver output kan laves meget simpelt:
<?php
if (strlen($_GET['id'])>0){
$sql = "SELECT * FROM `pages` WHERE `id` = '".mysql_real_escape_string($_GET['id'])."' LIMIT 1";
} else {
$sql = "SELECT * FROM `pages` WHERE 1 ORDER BY `created` DESC";
}
$query = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($query)==1){
$data = mysql_fetch_assoc($query);
?>
<table>
<tr><td><h1><?=$data['title']?></h1></td>
<td><?=$data['by']?></td></tr>
<tr><td colspan="2"><?=$data['text']?></td></tr>
<tr><td colspan="2" style="text-align:right"><?=$data['created']?></td></tr>
</table>
<?php
} else {
echo "ERROR, No data collected!";
}
?>
(ikke testet)
nu har du så lavet visningen så skal du blot lave indsættelsen, et forslag kunne være at samle rediger og oprettelsen på samme sted så du kun skal lave 1 side til redigereingen!
<?php
if (strlen($_GET['id'])>0){
$sql = "SELECT * FROM `pages` WHERE `id` = '".mysql_real_escape_string($_GET['id'])."' LIMIT 1";
$query = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_assoc($query);
}
if ($_POST['submit'] == 'submit'){
$sql = "`pages` SET
`title` = '" . mysql_real_escape_string( $_POST['title'] ) . "',
`text` = '" . mysql_real_escape_string( $_POST['text'] ) . "',
`by` = '" . mysql_real_escape_string( $_POST['by'] ) . "'";
if (strlen($_POST['id'])>0){
$sql = "UPDATE ".$sql." WHERE `id` = '" . mysql_real_escape_string( $_POST['id'] ) . "' LIMIT 1";
} else {
$sql = "INSERT INTO " . $sql .",`created` = NOW()";
}
mysql_query( $sql ) or die(mysql_error());
//Du kan hente id på den nye side ved at checke $_POST['id'] hvis den er strlen==0 så mysql_insert_id().
}
?>
<table>
<tr>
<td>Title</td>
<td><input type="text" name="title" value="<?=$data['title']?>" /></td>
</tr>
<tr>
<td>By</td>
<td><input type="text" name="by" value="<?=$data['by']?>" /></td>
</tr>
<tr>
<td>Text</td>
<td><textarea name="text"><?=$data['text']?></textarea></td>
</tr>
</table>
<input type="hidden" value="<?=$data['id']?>" name="id" />
<input type="submit" value="submit" name="submit" />
(ikke testet)
Mit eksempel her er blot at vise at det er MEGET hurtigere at lave de enkelte SQL's midt i teksten istedet for at lave 1000 funktioner og kalde dem hele tiden.
Samtidig har jeg også vist dig hvordan du forholdsvis let kan lave administrationsdelen af siderne, dog vil jeg forslå dig at bruge TinyMCE som WYSIWYG editor i dit textarea.
der mangler dog bruger delen til denne administrationsdel, til dette kan jeg referere til en anden guide jeg har lavet her:
http://www.testmax.dk/For.....lt-login-system.aspx