---
title: "PHP-dagbok/gästbok-hur svårt är det?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/119547-php-dagbok-gästbok-hur-svårt-är-det"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Knäcke"
published: "2005-01-07T12:26:11.000Z"
updated: "2005-01-09T17:35:45.000Z"
replies: 12
views: 753
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/119547-php-dagbok-gästbok-hur-svårt-är-det"
---

# PHP-dagbok/gästbok-hur svårt är det?

## #1 — Knäcke, 2005-01-07T12:26Z

Jag skulle vilja ha en dagbok och gästbok i php. Problemet är att jag inte har någon kunskap om php så jag undrar om det är svårt? Eller kan jag som nybörjare klara av detta med?
Jag har lite koll på script och kodning men inte så jag kan skapa egna.

Är det hopplöst tror ni? Ser att minsta 10-åringar minsann har både dagböcker och gallerier/gästböcker i php så jag borde ju kunna med ;) 

Alla tips är välkomna-php är ju bara SÅ snyggt dessutom!

Permalänk: https://www.webforum.nu/p/119547

## #2 — Steady, 2005-01-07T12:36Z

Mja, för att göra det så enkelt som möjligt, kan vi väl börja med att skapa databas-tabellen. Den *kan* se ut som följande:

```
ID - [i]int[/i] - autoincrement
Name - [i]varchar[/i]
Email - [i]varchar[/i]
Guestbook - [i]longtext[/i]
Written - [i]datetime[/i]
IP - [i]varchar[/i]
```

Nu när vi har tabellen är det bara att sätta igång och koda. Vi börjar med formuläret:

```
<form method="post" action="">
<p>

<table cellspacing="0" cellpadding="2" style="border: none;">
<tr>
<td><b>Namn:</b></td>
<td><input type="text" name="name" size="30" /></td>
</tr>
<tr>
<td><b>Email:</b></td>
<td><input type="text" name="email" size="30" /></td>
</tr>
<tr>
<td><input type="hidden" name="type" value="1" /></td>
<td><textarea name="guestbook" cols="30" rows="50" style="width: 300px; height: 120px;"></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="Skriv i gästboken" /></td>
</tr>
</table>

</p>
</form>
```

Vilket är väldigt enkelt uppbyggt. Som du ser har jag en hidden-input med. Detta för att förenkla senare när du lägger till datan i tabellen. Du får se...
Så, då sparar vi helt enkelt koden i databasen.

```php
if($_POST[type] == 1) {

	$written = date("Y-m-d H:i:s");
	$ip = getenv("REMOTE_ADDR");

	mysql_query("INSERT INTO guestbook (Name, Email, Guestbook, Written, IP) VALUES ('$_POST[name]','$_POST[email]','$_POST[guestbook]','$written','$ip')") or die(mysql_error());
	Header("Location: guestbook.php?");

}
```

Som du ser så har jag en if-sats som kollar om den inputen som var hidden har värdet 1, och det har den, alltså kör den koden mellan klamrarna {}. Och koden är inte så mycket att skriva om, den lägger helt enkelt till data i tabellen och sedan skickar vidare besökaren till guestbook.php? så att formulärdatan försvinner. Om du inte haft Headern där så hade datan lagts till igen om du uppdaterat sidan (enkelt beskrivet).
Nå, då ska vi loopa ut alla poster, detta görs t.ex. genom att skriva såhär:

```php
$S_GUESTBOOK = mysql_query("SELECT * FROM guestbook ORDER BY ID DESC") or die(mysql_error());
while($row = mysql_fetch_array($S_GUESTBOOK)) {

	echo '
	<table cellspacing="0" cellpadding="2" style="border: none; width: 400px;">
	<tr>
	<td style="width: 200px;"><a href="mailto:'.$row['Email'].'">'.$row['Name'].'</a></td>
	<td>'.$row['Written'].'</td>
	</tr>
	<tr>
	<td colspan="2">'.$row['Guestbook'].'</td>
	</tr>
	</table>
	<br />
	';

}
```

Så! Nu har du en färdig gästbok! Tänk på att det INSERT-koden ska ligga överst på sidan, innan all HTML-kod. Annars får du strul med Headern.

Permalänk: https://www.webforum.nu/p/1523091

## #3 — Knäcke, 2005-01-08T14:05Z

Tack men dessvärre verkar detta lite väl knepigt för mig....Har pluggat lite C och html men kan inte koda själv.  Vad ska de olika koderna här ovan ha för filtillägg? Och hur många filer ska det vara? Eller ska jag bara klistra in i min html kod?

Jag har kikat lite på php på "hotscripts.com". Där finns ju olika gästböcker-men jag förstår inte i vilken ordning jag ska göra allt-samt vilka filer som ska skickas upp var. Kan du guida mig lite längre fram på vägen?

Permalänk: https://www.webforum.nu/p/1523593

## #4 — tydal, 2005-01-08T14:12Z

Kanske min lilla guide kan vara till hjälp:
<http://www.tydal.nu/se/dev/mysql.html>

Permalänk: https://www.webforum.nu/p/1523598

## #5 — tydal, 2005-01-08T14:14Z

Filerna ska ha tillägget .php

Filerna är helt vanliga html-filer, men med inslag av php-kod mellan \<? och ?\>

Exempel:

Vanlig html-fil: (test.html)

\<html\>
\<body\>
\<h1\>Hej!\</h1\>
\</body\>
\</html\>

Php-fil: (test.php)

\<html\>
\<body\>
\<h1\>
\<? // Här kommer lite php-kod
  echo("Hej!");
?\>
\</h1\>
\</body\>
\</html\>

Permalänk: https://www.webforum.nu/p/1523599

## #6 — Steady, 2005-01-08T14:14Z

Jaha, självklart. Ovanstående kod räcker med att du klistrar in i ett dokument som heter guestbook.php, däremot är det att rekommendera att du har databaskopplingen i en separat fil så du slipper skriva den 10 ggr om, i varje dokument du använder den i, sen är det så enkelt att man bara inkluderar den på respektive sida du ska använda. Så här kan guestbook.php se ut:

```
<?
include('config.php'); // Filen med databaskopplingen i
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
<head>

	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<!-- no cache headers -->
	<meta http-equiv="Pragma" content="no-cache" />
	<meta http-equiv="Expires" content="-1" />
	<meta http-equiv="Cache-Control" content="no-cache" />
	<!-- end no cache headers -->
	<meta name="keywords" content="" />
	<meta name="description" content="" />
	<meta http-equiv="MSThemeCompatible" content="Yes" />
	<title>Gästbok</title>

	<!-- javascript elements -->
	<script type="text/javascript">

	</script>

	<!-- css elements -->
	<style type="text/css">

	</style>

</head>
<body>

<?
if($_POST[type] == 1) {

	$written = date("Y-m-d H:i:s");
	$ip = getenv("REMOTE_ADDR");

	mysql_query("INSERT INTO guestbook (Name, Email, Guestbook, Written, IP) VALUES ('$_POST[name]','$_POST[email]','$_POST[guestbook]','$written','$ip')") or die(mysql_error());
	Header("Location: guestbook.php?");

}
?>

<form method="post" action="">
<p>

<table cellspacing="0" cellpadding="2" style="border: none;">
<tr>
<td><b>Namn:</b></td>
<td><input type="text" name="name" size="30" /></td>
</tr>
<tr>
<td><b>Email:</b></td>
<td><input type="text" name="email" size="30" /></td>
</tr>
<tr>
<td><input type="hidden" name="type" value="1" /></td>
<td><textarea name="guestbook" cols="30" rows="50" style="width: 300px; height: 120px;"></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="Skriv i gästboken" /></td>
</tr>
</table>

</p>
</form>

<br />

<?
$S_GUESTBOOK = mysql_query("SELECT * FROM guestbook ORDER BY ID DESC") or die(mysql_error());
while($row = mysql_fetch_array($S_GUESTBOOK)) {

	echo '
	<table cellspacing="0" cellpadding="2" style="border: none; width: 400px;">
	<tr>
	<td style="width: 100px;"><a href="mailto:'.$row['Email'].'">'.$row['Name'].'</a></td>
	<td>Postades '.$row['Written'].'</td>
	</tr>
	</table>

	<table cellspacing="0" cellpadding="2" style="border: none; width: 400px;">
	<tr>
	<td colspan="2">'.nl2br($row['Guestbook']).'</td>
	</tr>
	</table>
	<br />
	';

}
?>

</body>
</html>
```

Och config.php kan se ut så här:

```
<?
$databas = 'databas'; // namnet på den databas tabellen guestbook ligger i
$anvandarnamn = 'username; // användarnamnet för mysql-databasen
$losenord = 'password'; // lösenordet för mysql-databasen
mysql_connect('localhost', $anvandarnamn, $losenord) or die (mysql_error());
mysql_select_db($databas) or die (mysql_error());
?>
```

Bara att fråga om det är något annat, lycka till!

Permalänk: https://www.webforum.nu/p/1523600

## #7 — Knäcke, 2005-01-08T20:18Z

Tack-nu har jag lite att bita i :) Ser fortfarande knepigt ut men det är bara att kasta sig in i det så tror jag det klarnar. KOmmer tillbaka med resultat-tack snälla sålänge :)

Permalänk: https://www.webforum.nu/p/1523836

## #8 — Knäcke, 2005-01-08T21:37Z

:q Nääe jag fattar inte detta alls :( 
Vilka filer ska sparas var? Jag har MySQL men vad ska jag skicka upp dit? Är van att förhandstitta innan jag skickar upp via ftp men hur förhandskikar man på php-filer?
Jag har ingen som helst kunskap om MySQL och förstår inte hur det fungerar....Vare sig hur man skickar upp filer eller vilka filer som ska skickas upp...

Råd typ
1\.....
2\......
3\....

hade kanske fått mig att förstå ;) Hjääälp för jag vill så gärna lära mig detta :D

Permalänk: https://www.webforum.nu/p/1523870

## #9 — tydal, 2005-01-08T21:57Z

För att kunna förhandskika på php-filer måste du ha php installerat hemma. Det enklaste är därför att du bara laddar upp dem och kikar på dem online.

Vad det gäller MySQL så är det inga filer du skickar upp, utan istället "pratar" man med MySQL och säger åt den att göra saker. Detta gör du enklast med php-kod.

Kanske enklare att ta det här över ICQ? Jag har 1431981

Permalänk: https://www.webforum.nu/p/1523875

## #10 — Knäcke, 2005-01-08T22:02Z

Laddar upp dem var? Och hur hittar jag var jag ska lägga mina filer på SQL? Ska jag inte ens skicka upp några filer till SQL fattar jag än mindre.... :( Fattar fortfarande inte...tyvärr...

Använder inte ICQ längre men min MSN är <svenska_knackehaxan@hotmail.com>

Permalänk: https://www.webforum.nu/p/1523882

## #11 — tydal, 2005-01-08T22:27Z

Php-filer är precis som html-filer. Du laddar upp dem i den katalog du vill ha dem och sen skriver du adressen till dem i webbläsaren för att titta på dem.

Du styr SQL från PHP, så du skriver alltså SQL-koden i Php. Så egentligen behöver du inte bry dig om MySQL så mycket, utan det är php-kod allting.

Jag har <ttydal@hotmail.com> men vad jag kan se är du inte online nu.

Permalänk: https://www.webforum.nu/p/1523895

## #12 — Steady, 2005-01-09T12:53Z

Såg just att jag gjort en tabbe genom att skriva ut html-kod innan Headern, så här ska det se ut:

```
<?
include('config.php'); // Filen med databaskopplingen i

if($_POST[type] == 1) {

	$written = date("Y-m-d H:i:s");
	$ip = getenv("REMOTE_ADDR");

	mysql_query("INSERT INTO guestbook (Name, Email, Guestbook, Written, IP) VALUES  ('$_POST[name]','$_POST[email]','$_POST[guestbook]','$writte
n','$ip')") or die(mysql_error());
	Header("Location: guestbook.php?");

}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
<head>

	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<!-- no cache headers -->
	<meta http-equiv="Pragma" content="no-cache" />
	<meta http-equiv="Expires" content="-1" />
	<meta http-equiv="Cache-Control" content="no-cache" />
	<!-- end no cache headers -->
	<meta name="keywords" content="" />
	<meta name="description" content="" />
	<meta http-equiv="MSThemeCompatible" content="Yes" />
	<title>Gästbok</title>

	<!-- javascript elements -->
	<script type="text/javascript">

	</script>

	<!-- css elements -->
	<style type="text/css">

	</style>

</head>
<body>

<form method="post" action="">
<p>

<table cellspacing="0" cellpadding="2" style="border: none;">
<tr>
<td><b>Namn:</b></td>
<td><input type="text" name="name" size="30" /></td>
</tr>
<tr>
<td><b>Email:</b></td>
<td><input type="text" name="email" size="30" /></td>
</tr>
<tr>
<td><input type="hidden" name="type" value="1" /></td>
<td><textarea name="guestbook" cols="30" rows="50" style="width: 300px; height: 120px;"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Skriv i gästboken" /></td>
</tr>
</table>

</p>
</form>

<br />

<?
$S_GUESTBOOK = mysql_query("SELECT * FROM guestbook ORDER BY ID DESC") or die(mysql_error());
while($row = mysql_fetch_array($S_GUESTBOOK)) {

	echo '
	<table cellspacing="0" cellpadding="2" style="border: none; width: 400px;">
	<tr>
	<td style="width: 100px;"><a href="mailto:'.$row['Email'].'">'.$row['Name'].'</a></td>
	<td>Postades '.$row['Written'].'</td>
	</tr>
	</table>

	<table cellspacing="0" cellpadding="2" style="border: none; width: 400px;">
	<tr>
	<td colspan="2">'.nl2br($row['Guestbook']).'</td>
	</tr>
	</table>
	<br />
	';

}
?>

</body>
</html>
```

Permalänk: https://www.webforum.nu/p/1524091

## #13 — Knäcke, 2005-01-09T17:35Z

Oklidoki-jag kämpar vidare-ni e snälla ni :) Addar tydal nu-kommer online lite senare så kan vi kanske ta en 1 2 3 ;) Men jag börjar fatta litegrann :)

Permalänk: https://www.webforum.nu/p/1524244

---

Tråden på webben: https://www.webforum.nu/amne/php/119547-php-dagbok-gästbok-hur-svårt-är-det
