sorry kommer här:
<?php
// Inloggningsuppgifter för databasen, skriv in dina egna uppgifter här
$db_user = ''; // Användarnamn
$db_pass = ''; // Lösenord
$db_host = ''; // Serverns namn (räcker ofta med bara localhost)
$db_name = ''; // Namn på databasen
// Titel på sidan
$page_title = 'PHP-skolan del 3 - Publiceringssystem';
// Skapa koppling mot MySQL
$db_conn = mysql_pconnect($db_host, $db_user, $db_pass);
if ( !$db_conn ) {
die('Kan inte skapa koppling mot MySQL');
}
// Välj databas
if ( !mysql_select_db($db_name) ) {
die('Kan inte välja databas.');
}
// Visa formulär för nytt inlägg eller uppdatering av inlägg
function show_form($data=array()) {
global $PHP_SELF;
$mode = sizeof($data) > 0 ? 'Uppdatera' : 'Spara';
?><html><body>
<form action="<?php echo $PHP_SELF ?>" method="post">
<input type="hidden" name="id" value="<?php echo !empty($data['id']) ? $data['id'] : '' ?>">
<table>
<tr>
<th align="left">Rubrik</th>
<td><input name="header" type="text" value="<?php echo !empty($data['header']) ? $data['header'] : '' ?>"></td>
</tr>
<tr>
<th align="left" valign="top">Brödtext</th>
<td><textarea name="body" cols="50" rows="8"><?php echo !empty($data['body']) ? $data['body'] : '' ?></textarea></td>
</tr>
<tr>
<td colspan="2" align="right"><input name="mode" type="submit" value="<?php echo $mode ?>"></td>
</tr>
</table>
</form>
<?php
}
// Hämta och lista inlägg
function list_items() {
global $PHP_SELF;
// Hämta id, rubrik, brödtext och datum för samtliga inlägg i databasen. Sortera i
// fallande datumordning.
$sql = 'SELECT id, header, body, inserted FROM items ORDER BY inserted DESC';
if ( !($result = mysql_query($sql)) ) {
die('Kan inte lista inlägg i databasen! ' . mysql_error() . ' : ' . mysql_errno());
}
// Visa länk för att lägga till ett nytt inlägg
echo '<a href="'.$PHP_SELF.'?add=1">Nytt inlägg</a><br>';
// Kontrollera antalet rader
if ( mysql_num_rows($result) < 1) {
die('Kan inte hitta några inlägg i databasen!');
}
?>
<table border="0">
<tr>
<th>Rubrik</th>
<th>Inlagd</th>
<th> </th>
</tr>
<?php
// Hämta en rad i taget från databasen, fortsätt tills inga fler rader finns att hämta
while ( $row = mysql_fetch_array($result) ) {
$view_url = $PHP_SELF . '?view=' . $row['id']; // URL för att titta på ett visst inlägg
$edit_url = $PHP_SELF . '?edit=' . $row['id']; // URL för att redigera ett visst inlägg
$delete_url = $PHP_SELF . '?delete=' . $row['id']; // URL för att ta bort ett visst inlägg
?>
<tr>
<td><?php echo $row['header'] ?></td>
<td><?php echo $row['inserted'] ?></td>
<td><a href="<?php echo $view_url ?>">visa</a> |
<a href="<?php echo $edit_url ?>">redigera</a> |
<a href="<?php echo $delete_url ?>">radera</a></td>
</tr>
<?php
}
echo "</table>";
}
// Visa inlägg
function view_item($data) {
global $PHP_SELF;
echo '<h4>'.htmlentities($data['header']).' ('.$data['inserted'].')</h4>';
echo '<p>'.nl2br(htmlspecialchars($data['body'])).'</p>';
echo '<a href="'.$PHP_SELF.'">lista</a>';
}
// Hämta ett inlägg från databasen
function fetch_item($id) {
$sql = 'SELECT id, header, body, inserted FROM items WHERE id='.$id;
if ( !($result = mysql_query($sql)) ) {
die('Kan inte hämta inlägg från databasen! ' . mysql_error() . ' : ' . mysql_errno());
}
if ( mysql_num_rows($result) != 1) {
die('Kan inte hitta det valda inlägget i databasen!');
}
$row = mysql_fetch_array($result);
return $row;
}
// Lägg in ett nytt inlägg i databasen
function add_item($header, $body) {
$sql = "INSERT INTO items (header, body, inserted) VALUES ('$header', '$body', NOW())";
if ( !mysql_query($sql) ) {
die('Kan inte lägga in data i databasen! ' . mysql_error() . ' : ' . mysql_errno());
}
}
// Uppdatera ett inlägg i databasen
function update_item($id, $header, $body) {
$sql = "UPDATE items SET header='$header', body='$body' WHERE id=$id";
if ( !mysql_query($sql) ) {
die('Kan inte uppdatera inlägget! ' . mysql_error() . ' : ' . mysql_errno());
}
}
// Ta bort ett inlägg från databasen
function delete_item($id) {
$sql = 'DELETE FROM items WHERE id='.$id;
if ( !mysql_query($sql) ) {
die('Kan inte radera inlägget! ' . mysql_error() . ' : ' . mysql_errno());
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<head>
<title><?php echo $page_title ?></title>
</head>
<?php
// Visa formulär om någon har klickat på länken för att
// lägga in ett nytt inlägg.
if ( isset($add) ) {
show_form();
// Om någon har valt att visa ett inlägg, hämta det
// från databasen och visa på skärmen.
} elseif ( isset($view) ) {
$item = fetch_item($view);
view_item($item);
// När någon väljer att redigera ett inlägg, hämta det
// från databasen och visa det i formuläret.
} elseif ( isset($edit) ) {
$item = fetch_item($edit);
show_form($item);
} else {
// Ta bort inlägget om något klickat på radera-länken.
if ( isset($delete) ) {
delete_item($delete);
// Spara inlägget i databasen när någon klickar på knappen Spara.
} elseif ( isset($mode) && $mode == 'Spara' ) {
add_item($header, $body);
// Uppdatera inlägget i databasen när någon klickar på knappen Uppdatera.
} elseif ( isset($mode) && $mode == 'Uppdatera' ) {
update_item($id, $header, $body);
}
// Visa en lista över inlägg efter ovanstående tre funktioner eller när
// inget val har gjorts av användaren.
list_items();
}
?>