Avatar billede Slettet bruger
25. december 2005 - 20:16 Der er 34 kommentarer og
1 løsning

gæstebog

Hej alle eksperter..
Jeg er igang med at lave en gæstebog men har et problem.. ved ikk rigtig hvordan man skal sætte sit mysql op.?
Eller kan sige det på en anden måde.. kan kun finde ud af at lave .html formen.. Nogen som ville hjælpe mig med at lave koden til mysql og hvad jeg skal skrive  i php my admin.?
Det ville være en stor hjælp..
Avatar billede udvikler Nybegynder
25. december 2005 - 20:29 #1
PhpMyAdmin delen:

CREATE TABLE `artikler` (
  `id` int(11) NOT NULL auto_increment,
  `besked` text NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;

En færdig lavet gæstebog med html og mysql del:

<html>

<head>
<title>Gæstebog</title>
</head>

<body>

<form action="" method="POST">
<textarea name="besked"></textarea><br>
<input type="submit" name="submit" value="Gem besked">
</form>

<?php
include "mysql.php"; //filen der connecter til databasen

if ($_POST[submit]) {

if ($_POST[besked] == "") {
echo "Du mangler at skrive en besked";
}else{
mysql_query("INSERT INTO database (besked) VALUES ('$_POST[besked]')") or die(mysql_error());
}
}

?>

</body>

</html>
Avatar billede udvikler Nybegynder
25. december 2005 - 20:30 #2
sig til hvis der er noget du ikke kan finde ud af, så skal jeg nok hjælpe :)
Avatar billede Slettet bruger
25. december 2005 - 20:34 #3
Tak..

Jeg har lavet en form som jeg gerne vil bruge.. den ser sådan her ud..
<fieldset>
<legend align=left>GOD JUL OG GODT NYTÅR TIL ALLE FRA MUSIKLIR</legend>

<form method="post" action="tagwall.php">

<p align="center"> &nbsp;</p>
<p align="center"> <input type="text" name="navn" value="Dit Navn" size="20"></p>
<p align="center"> &nbsp;<input type="text" name="mail" size="20" value="Din Mail"></p>
<p align="center"> &nbsp;<input type="text" name="hp" value="Evt. Din Webside" size="20"></p>
<p align="center"><textarea name="text" cols="15" rows="5">Din Besked</textarea>
<p align="center"><input type="submit" value="Tilføj" name="Send"><input type="reset" value="Start Forfra" name="reset"></form>

</fieldset>

Hvad skal jeg tilføje for at gemme det og få det vist.?
Avatar billede udvikler Nybegynder
25. december 2005 - 20:42 #4
PhpMyAdmin delen:

CREATE TABLE `artikler` (
  `id` int(11) NOT NULL auto_increment,
  `navn` varchar(200) NOT NULL default '',
  `mail` varchar(200) NOT NULL default '',
  `hp` varchar(200) NOT NULL default '',
  `besked` text NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;

En færdig lavet gæstebog med html og mysql del:

<html>

<head>
<title>Gæstebog</title>
</head>

<body>

<fieldset>
<legend align=left>GOD JUL OG GODT NYTÅR TIL ALLE FRA MUSIKLIR</legend>

<form method="post" action="tagwall.php">

<p align="center"> &nbsp;</p>
<p align="center"> <input type="text" name="navn" value="Dit Navn" size="20"></p>
<p align="center"> &nbsp;<input type="text" name="mail" size="20" value="Din Mail"></p>
<p align="center"> &nbsp;<input type="text" name="hp" value="Evt. Din Webside" size="20"></p>
<p align="center"><textarea name="besked" cols="15" rows="5">Din Besked</textarea>
<p align="center"><input type="submit" value="Tilføj" name="send"><input type="reset" value="Start Forfra" name="reset">
</form>

</fieldset>

<?php
include "mysql.php";

if ($_POST[send]) {

if ($_POST[navn] == "") {
echo "Du mangler at skrive et navn";
exit;
}
if ($_POST[mail] == "") {
echo "Du mangler at skrive en mail";
exit;
}
if ($_POST[hp] == "") {
echo "Du mangler at skrive en hp";
exit;
}
if ($_POST[besked] == "") {
echo "Du mangler at skrive en besked";
exit;
}
else{
mysql_query("INSERT INTO database (navn,mail,hp,besked) VALUES ('$_POST[navn]','$_POST[mail]','$_POST[hp]','$_POST[besked]')") or die(mysql_error());
}
}
?>

</body>

</html>
Avatar billede udvikler Nybegynder
25. december 2005 - 20:44 #5
nu skal du bare lige tilføje en fil der hedder mysql.php i samme mappe som din gæstebog med følgene indhold:

<?
$host="localhost";
$user="brugernavn";
$pass="kodeord";
$db="database";

mysql_connect($host,$user,$pass);
mysql_select_db($db);
?>

hvor du selvfølgelig skal ændre brugernavn,kodeord og databasenavnet til dine personlige oplysninger.

sig til hvis du har flere problemer :)
Avatar billede Slettet bruger
25. december 2005 - 20:55 #6
prøver lige.
Avatar billede Slettet bruger
25. december 2005 - 21:06 #7
så.. æh.. men skal jeg ikke lave en side hvor tingne bliver "gemt" altså hvor du kan se indlægne?
Avatar billede udvikler Nybegynder
25. december 2005 - 21:13 #8
Jo, men havde regnet med at du først lige skulle få det der til at virke, virker det ?

du kan så udskrive indlæggene således:

<?php
include "mysql.php";

$query = mysql_query("SELECT * from database ORDER BY id DESC") or die(mysql_error());
while ($row=mysql_fetch_array($query)){

echo "<table border=\"0\" width=\"500\">";

echo "<tr>";
echo "<td>;
echo "navn: ";
echo $row[navn];
echo "</td>;
echo "</tr>;

echo "<tr>";
echo "<td>;
echo "mail: ";
echo $row[mail];
echo "</td>;
echo "</tr>;

echo "<tr>";
echo "<td>;
echo "hp: ";
echo $row[hp];
echo "</td>;
echo "</tr>;

echo "<tr>";
echo "<td>;
echo "besked: ";
echo $row[besked];
echo "</td>;
echo "</tr>;

echo "</table>";

}
?>
Avatar billede Slettet bruger
25. december 2005 - 21:29 #9
Har lavet 3 filer nu. en der hedder mysql.php , en der hedder gem.php(siden hvor indlægene skal visses) og en der hedder gæstebog.html (formen) er det de rigtige endelser?
Avatar billede udvikler Nybegynder
25. december 2005 - 21:31 #10
nej, gæstebog.html skal omdøbes til gæstebog.php
Avatar billede Slettet bruger
25. december 2005 - 21:38 #11
okey
Avatar billede Slettet bruger
25. december 2005 - 21:46 #12
hmm.. den skriver bare siden kan ikk vises... Vil du ikk prøve at lave filerne og sende dem til min mail?
ca.and@webpeed.dk
Avatar billede udvikler Nybegynder
25. december 2005 - 21:49 #13
kan da bare skrive dem her:

-------------start på mysql.php--------------
<?
$host="localhost";
$user="brugernavn";
$pass="kodeord";
$db="database";

mysql_connect($host,$user,$pass);
mysql_select_db($db);
?>

-------------slut på mysql.php--------------



-------------start på gem.php--------------
<?php
include "mysql.php";

$query = mysql_query("SELECT * from database ORDER BY id DESC") or die(mysql_error());
while ($row=mysql_fetch_array($query)){

echo "<table border=\"0\" width=\"500\">";

echo "<tr>";
echo "<td>;
echo "navn: ";
echo $row[navn];
echo "</td>;
echo "</tr>;

echo "<tr>";
echo "<td>;
echo "mail: ";
echo $row[mail];
echo "</td>;
echo "</tr>;

echo "<tr>";
echo "<td>;
echo "hp: ";
echo $row[hp];
echo "</td>;
echo "</tr>;

echo "<tr>";
echo "<td>;
echo "besked: ";
echo $row[besked];
echo "</td>;
echo "</tr>;

echo "</table>";

}
?>
-------------slut på gem.php--------------



-------------start på gæstebog.php--------------
<html>

<head>
<title>Gæstebog</title>
</head>

<body>

<fieldset>
<legend align=left>GOD JUL OG GODT NYTÅR TIL ALLE FRA MUSIKLIR</legend>

<form method="post" action="tagwall.php">

<p align="center"> &nbsp;</p>
<p align="center"> <input type="text" name="navn" value="Dit Navn" size="20"></p>
<p align="center"> &nbsp;<input type="text" name="mail" size="20" value="Din Mail"></p>
<p align="center"> &nbsp;<input type="text" name="hp" value="Evt. Din Webside" size="20"></p>
<p align="center"><textarea name="besked" cols="15" rows="5">Din Besked</textarea>
<p align="center"><input type="submit" value="Tilføj" name="send"><input type="reset" value="Start Forfra" name="reset">
</form>

</fieldset>

<?php
include "mysql.php";

if ($_POST[send]) {

if ($_POST[navn] == "") {
echo "Du mangler at skrive et navn";
exit;
}
if ($_POST[mail] == "") {
echo "Du mangler at skrive en mail";
exit;
}
if ($_POST[hp] == "") {
echo "Du mangler at skrive en hp";
exit;
}
if ($_POST[besked] == "") {
echo "Du mangler at skrive en besked";
exit;
}
else{
mysql_query("INSERT INTO database (navn,mail,hp,besked) VALUES ('$_POST[navn]','$_POST[mail]','$_POST[hp]','$_POST[besked]')") or die(mysql_error());
}
}
?>

</body>

</html>
-------------slut på gæstebog.php--------------
Avatar billede udvikler Nybegynder
25. december 2005 - 21:50 #14
Sig til hvis du har problemer og hvad du har problemer med :)
Avatar billede Slettet bruger
25. december 2005 - 22:02 #15
den siger stadig: "siden kan ikke visses..
se selv.. http://musiklir.frac.dk og velg gæstebog i højreside
Avatar billede Slettet bruger
25. december 2005 - 22:08 #16
Når nu har jeg fået formen frem, men når jeg klikker på submit knappen skriver den: Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /web/www/frac/users/musiklir/Ny mappe/gem.php on line 11
Hvad kan jeg gøre galt
Avatar billede udvikler Nybegynder
25. december 2005 - 22:11 #17
Det viser den ikke her, men den kommer istedet for med en fejl meddelelse. Det er jo noget helt andet :)

forresten vil du aldrig kunne få det op og køre, da frac's mysql database er nede desværre!

men problemet kan vi da godt rette!

bare vis mig linie 11 i gem.php (og du skal starte med at tælle fra toppen af dokumentet og ikke fra hvor php begynder!)
Avatar billede Slettet bruger
25. december 2005 - 22:18 #18
echo "navn: ";
Avatar billede udvikler Nybegynder
25. december 2005 - 22:29 #19
Ja jeg undskylder, tænker ikke helt klart :P

-------------start på mysql.php--------------
<?
$host="localhost";
$user="brugernavn";
$pass="kodeord";
$db="database";

mysql_connect($host,$user,$pass);
mysql_select_db($db);
?>

-------------slut på mysql.php--------------



-------------start på gem.php--------------
<?php
include "mysql.php";

$query = mysql_query("SELECT * from gaestebog ORDER BY id DESC") or die(mysql_error());
while ($row=mysql_fetch_array($query)){

echo "<table border=\"0\" width=\"500\">";

echo '<tr>';
echo '<td>';
echo 'navn: ';
echo $row[navn];
echo '</td>';
echo '</tr>';

echo '<tr>';
echo '<td>';
echo "mail: ";
echo $row[mail];
echo '</td>';
echo '</tr>';

echo '<tr>';
echo '<td>';
echo "hp: ";
echo $row[hp];
echo '</td>';
echo '</tr>';

echo '<tr>';
echo '<td>';
echo "besked: ";
echo $row[besked];
echo '</td>';
echo '</tr>';

echo '</table>';

}
?>
-------------slut på gem.php--------------



-------------start på gæstebog.php--------------
<html>

<head>
<title>Gæstebog</title>
</head>

<body>

<fieldset>
<legend align=left>GOD JUL OG GODT NYTÅR TIL ALLE FRA MUSIKLIR</legend>

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

<p align="center"> &nbsp;</p>
<p align="center"> <input type="text" name="navn" value="Dit Navn" size="20"></p>
<p align="center"> &nbsp;<input type="text" name="mail" size="20" value="Din Mail"></p>
<p align="center"> &nbsp;<input type="text" name="hp" value="Evt. Din Webside" size="20"></p>
<p align="center"><textarea name="besked" cols="15" rows="5">Din Besked</textarea>
<p align="center"><input type="submit" value="Tilføj" name="send"><input type="reset" value="Start Forfra" name="reset">
</form>

</fieldset>

<?php
include "mysql.php";

if ($_POST[send]) {

if ($_POST[navn] == "") {
echo "Du mangler at skrive et navn";
exit;
}
if ($_POST[mail] == "") {
echo "Du mangler at skrive en mail";
exit;
}
if ($_POST[hp] == "") {
echo "Du mangler at skrive en hp";
exit;
}
if ($_POST[besked] == "") {
echo "Du mangler at skrive en besked";
exit;
}
else{
echo "haha";
mysql_query("INSERT INTO gaestebog (navn,mail,hp,besked) VALUES ('$_POST[navn]','$_POST[mail]','$_POST[hp]','$_POST[besked]')") or die(mysql_error());
}
}
?>

</body>

</html>
-------------slut på gæstebog.php--------------
Avatar billede udvikler Nybegynder
25. december 2005 - 22:34 #20
Og der hvor der står echo "haha"; i gaestebog.php må du gerne slette, det var fordi jeg liste skulle teste om der var fejl i filen, så udskrev jeg noget tilfældigt som fx "haha" :)
Avatar billede Slettet bruger
25. december 2005 - 22:34 #21
nu skriver den: hahaTable 'musiklir.gaestebog' doesn't exist
Avatar billede udvikler Nybegynder
25. december 2005 - 22:53 #22
som sagt kan du slette linien echo "haha"; i gaestebog.php
det vil løse halvdelen af det. Det andet betyder at du ikke har oprettet den tabel jeg sagde i phpmyadmin ?

gå ind i phpmyadmin og klik dernæst på SQL og derefter på gennemse knappen og find den fil der indeholder der jeg skrev:

CREATE TABLE `database` (
  `id` int(11) NOT NULL auto_increment,
  `navn` varchar(200) NOT NULL default '',
  `mail` varchar(200) NOT NULL default '',
  `hp` varchar(200) NOT NULL default '',
  `besked` text NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;
Avatar billede Slettet bruger
25. december 2005 - 23:05 #23
det har jeg gjort.. den hedder godt nok artikler som du skrev idet første
Avatar billede udvikler Nybegynder
25. december 2005 - 23:20 #24
ændre det til gaestebog og det vil virke
Avatar billede Slettet bruger
25. december 2005 - 23:22 #25
okey
Avatar billede Slettet bruger
25. december 2005 - 23:23 #26
Men hvorfor.? kan du forklare. ?
Avatar billede Slettet bruger
25. december 2005 - 23:31 #27
Nu har jeg ændret den til gaestebog og det virker også halvt.
Når jeg trykker tilføj så sker der ikke noet, jo den reseter felterne, men i min PhpMyAdmin har det tilføjet det jeg har skrevet.. så noet må jo fungere..
Avatar billede Slettet bruger
25. december 2005 - 23:37 #28
Nej nu virker det... mange tak for hjælpen.. håber ikke jeg var får tåbelig..:) smiler.....
Avatar billede udvikler Nybegynder
26. december 2005 - 13:22 #29
Ja undskyld for at jeg forsvandt igår aftes, men jeg skulle altså lige noget andet :-)
Håber ikke det gør noget ;-)

Men godt du fik det til at virke, du kan dog stadig få en forklaring på det hele:

Måden en gæstebog virker på er at du skriver noget tekst i dine felter, og derefter tjekker php om felterne er udfyldt, dernæst sørger mysql for at indsætte felter via denne sætning:

mysql_query("INSERT INTO gaestebog (navn,mail,hp,besked) VALUES ('$_POST[navn]','$_POST[mail]','$_POST[hp]','$_POST[besked]')") or die(mysql_error());

og den udskriver samtidigt en fejl hvis noget går galt, det har du selv oplevet lidt længere oppe i dette spørgsmål.

hvis alt gik som det skulle er det nu indsat i PhpMyAdmin

nu trækker vi så det hele ud igen på gem.php via denne sætning:

$query = mysql_query("SELECT * from gaestebog ORDER BY id DESC") or die(mysql_error());
while ($row=mysql_fetch_array($query)){

### Det der skal trækkes ud ###

}

det ene kaldes en SELECT sætning og den anden en while sætning. Tilsammen trækker det alt det ud som er i tabellen gaestebog i phpmyadmin og derved kan du se alle beskederne.


Håber det hjalp, ved godt det kan være meget forvirrene forklaret, men du burde trods alt få noget ud af det ;-)
Avatar billede Slettet bruger
26. december 2005 - 21:55 #30
Det vil sige  at dette skriver til phpmyadmin
mysql_query("INSERT INTO gaestebog (navn,mail,hp,besked) VALUES ('$_POST[navn]','$_POST[mail]','$_POST[hp]','$_POST[besked]')") or die(mysql_error());

Og dette printer fra phpm....

$query = mysql_query("SELECT * from gaestebog ORDER BY id DESC") or die(mysql_error());
while ($row=mysql_fetch_array($query)){


?
Avatar billede udvikler Nybegynder
26. december 2005 - 22:25 #31
Det er korrekt, borset fra at du lige mangler at likke den der udskriver fra phpmyadmin dvs

$query = mysql_query("SELECT * from gaestebog ORDER BY id DESC") or die(mysql_error());
while ($row=mysql_fetch_array($query)){
...det der skal udskrives...
}
Avatar billede Slettet bruger
26. december 2005 - 22:31 #32
okey.
Men.. nu ved jeg ikk hva der sker.. for  den printer over hovdet ikke npet nu.. det er bare en tom side..? http://musiklir.frac.dk
kig lige.. er det serveren..?
Avatar billede udvikler Nybegynder
26. december 2005 - 22:48 #33
Det kan da ikke være serveren tror jeg :) - for så ville den komme med en fejl meddelelse.

Er du sikker på at den fil der skulle vises stadig er på ftp ?

Er du sikker på den indeholder det den skal ?
Avatar billede Slettet bruger
26. december 2005 - 23:11 #34
jah.. det virkede jo igår..
Avatar billede udvikler Nybegynder
27. december 2005 - 12:21 #35
Hvis du nu er 100% sikker på at det ikke er dig der har gjort noget galt, eller ændret i noget kan det måske alligevel være serveren. Så er det eneste du kan gøre er at vente. Dog tvivler jeg på det. Husk at bare hvis du har ændret i en lille ting så vil det ikke virke. Prøv evt. at smid den fil herind (den der nu er blank)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester