Avatar billede Slettet bruger
19. juni 2009 - 11:52 Der er 11 kommentarer

Gæstebog

Hej.
nole der kan bikse en gæstebog sammen som skal have flg. muligheder.

Skrevet af: (navn)
Dato: (dato)
Kl. (klokken)

og så selvfølgelig også mulighed for at skrive sit indlæg xD

60point!
Avatar billede tjaz Nybegynder
19. juni 2009 - 12:26 #1
Noget i den her stil, du må selv gøre det pænere :) ... koden er ikke testet, men blot skrevet herinde, dog burde det virke ;)

------
mysql tabel, msg
------
- id:int autonum
- writer:varchar(50)
- dato:int(11)

guestbook.php

<?
mysql_connect('din','db','info');
mysql_select_db('dinmysqldb')

if($_POST["submit"])
{
  mysql_query("INSERT INTO msg (writer, besked, dato) VALUES ('". $_POST["navn"] ."', '". $_POST["besked"] ."', '". time() ."')");
  echo "tak";
}
else
{
  $get = mysql_query("select * from msg");

  while($msg = mysql_fetch_object($get))
  {
      echo $msg->navn ." skrev d. ". date('d-m-Y') ." kl. ". date('H:i:s') ."<br />". $msg->besked ."<br />";
  }

  echo 'du kan også skrive en besked:
    <form action="" method="post">
    <input type="text" name="navn" />
    <textarea name="besked"></textarea>
    <input type="submit" name="submit" value="send" />
    </form>
  ';
}
?>
Avatar billede tjaz Nybegynder
19. juni 2009 - 12:27 #2
der mangler lige en ; på denne

mysql_select_db('dinmysqldb')

altså:

mysql_select_db('dinmysqldb');
Avatar billede tjaz Nybegynder
19. juni 2009 - 12:28 #3
og naturligvis besked:longtext i tabel, så det hele kommer altså til at se sådan her ud:


------
mysql tabel, msg
------
- id:int autonum
- writer:varchar(50)
- besked:longtext
- dato:int(11)

guestbook.php

<?
mysql_connect('din','db','info');
mysql_select_db('dinmysqldb');

if($_POST["submit"])
{
  mysql_query("INSERT INTO msg (writer, besked, dato) VALUES ('". $_POST["navn"] ."', '". $_POST["besked"] ."', '". time() ."')");
  echo "tak";
}
else
{
  $get = mysql_query("select * from msg");

  while($msg = mysql_fetch_object($get))
  {
      echo $msg->navn ." skrev d. ". date('d-m-Y') ." kl. ". date('H:i:s') ."<br />". $msg->besked ."<br />";
  }

  echo 'du kan også skrive en besked:
    <form action="" method="post">
    <input type="text" name="navn" />
    <textarea name="besked"></textarea>
    <input type="submit" name="submit" value="send" />
    </form>
  ';
}
?>
Avatar billede tjaz Nybegynder
19. juni 2009 - 12:30 #4
btw:
point er intet værd, så du behøver ikke reklamere med at du giver "60 point!!"

de fleste herinde som hjælper gør det ikke for fordi de får point for det, men fordi de har lyst til at hjælpe andre.

god fornøjelse :)
Avatar billede tjaz Nybegynder
19. juni 2009 - 12:32 #5
damn, måske jeg skulle tjekke min kode inden jeg sender næste gang :D

echo $msg->navn ." skrev d. ". date('d-m-Y') ." kl. ". date('H:i:s') ."<br />". $msg->besked ."<br />";

skal være:

echo $msg->navn ." skrev d. ". date('d-m-Y', $msg->dato) ." kl. ". date('H:i:s', $msg->dato) ."<br />". $msg->besked ."<br />";
Avatar billede Slettet bruger
20. juni 2009 - 12:12 #6
øøh er lidt forvirret.
er der en der kan samle det hele i et indlæg?
Avatar billede Slettet bruger
20. juni 2009 - 12:21 #7
+ jeg er ikke så god til det der php endnu så hvis en ville forklare hvordan det skulle sættes hen og sådan...
Avatar billede tjaz Nybegynder
20. juni 2009 - 19:35 #8
Du skal have en MySQL database, som du opretter denne tabel i:

------
tabel navn: msg
------
- id:int autonum
- writer:varchar(50)
- besked:longtext
- dato:int(11)

Herefter skal du have en php fil, som du f.eks. kalder guestbook.php

<?
// her skriver du connect info til databasen
mysql_connect('din','db','info');
// her skriver du navnet på databasen
mysql_select_db('dinmysqldb');

if($_POST["submit"])
{
  // dette udføres, hvis der bliver trykket "send" i formen

  // herindsættes indlæg i databasen
  mysql_query("INSERT INTO msg (writer, besked, dato) VALUES ('". $_POST["navn"] ."', '". $_POST["besked"] ."', '". time() ."')");
  echo "tak";
}
else
{
  // Dette udføres hvis ikke der er trykket send
  // dvs første gang siden hentes

  // her hentes indlæg fra tabellen
  $get = mysql_query("select * from msg");

  // her gennemløbes alle indlæg der er lavet
  while($msg = mysql_fetch_object($get))
  {
      // her udskrives indlæget
      echo $msg->navn ." skrev d. ". date('d-m-Y', $msg->dato) ." kl. ". date('H:i:s', $msg->dato) ."<br />". $msg->besked ."<br />";
  }

  // når alle indlæg er skrevet, laves en form, hvor du kan lave nye indlæg
  echo 'du kan også skrive en besked:
    <form action="" method="post">
    <input type="text" name="navn" />
    <textarea name="besked"></textarea>
    <input type="submit" name="submit" value="send" />
    </form>
  ';
}
?>

Hvis INTET af dette giver mening, så skulle du måske sætte dig ind i grundlæggende PHP først inden du begiver dig i gang med ovenstående, start evt. her:

http://phpartikler.dk/artikler/begynder1.php

Og følg så de forskellige guides der er på:

http://phpartikler.dk/
Avatar billede tjaz Nybegynder
20. juni 2009 - 19:37 #9
som sagt er dette en "quick and dirty" løsning, og kan med lidt øvelse gøres bedre, dog kan jeg forstå, at det nok ikke skal være mere avanceret pt.
Avatar billede Slettet bruger
21. juni 2009 - 19:56 #10
tusind tak for hjælpen.
men skal jeg ikke skrive noget kode i min index fil?
(undskyld, men er ikke så god)
Avatar billede tjaz Nybegynder
21. juni 2009 - 23:02 #11
ovenstående kunne være din index fil, men du kan også link til en php side fra din indexfil, som kun indeholder gæstebogen:

<a href="guestbook.php">Skriv i min gæstebog</a>
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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