25. december 2005 - 20:16Der 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..
<?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()); } }
sig til hvis der er noget du ikke kan finde ud af, så skal jeg nok hjælpe :)
Synes godt om
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>
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()); } } ?>
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?
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--------------
Sig til hvis du har problemer og hvad du har problemer med :)
Synes godt om
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
Synes godt om
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
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--------------
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" :)
Synes godt om
Slettet bruger
25. december 2005 - 22:34#21
nu skriver den: hahaTable 'musiklir.gaestebog' doesn't exist
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;
Synes godt om
Slettet bruger
25. december 2005 - 23:05#23
det har jeg gjort.. den hedder godt nok artikler som du skrev idet første
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..
Synes godt om
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.....
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 ;-)
Synes godt om
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)){
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... }
Synes godt om
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..?
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)
Synes godt om
Ny brugerNybegynder
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.