Avatar billede laitch Nybegynder
02. juni 2008 - 14:23 Der er 9 kommentarer

Problemer med simpel gæstebog

jeg er ved at udvikle en simpel gæstebog bestående af 3 filer og en database.

1. index.php - viser selve gæstebogen
2. form.html - form til at poste nye beskedder
3. postnew.php - behandler brugerens input fra "form.html" og ligger informationerne i databasen.

index.php og form.html virker efter hensigten, men af en eller anden grund virker postnew.php ikke. I internet explore står der at der er en fejl på siden, og firefox er bare blank!
Her er kildekoden for postnew.php:

<html>
  <head>
    <title>Thanks</title>
  </head>
  <body>
    <?php
    /*opret fordinbelse*/           
    mysql_connect("localhost", "-----", "-----") or die(mysql_error());
    mysql_select_db("-----") or die(mysql_error());
           
    /*Hent bruger input*/
    $name = $_POST['name'];
    $message = $_POST['message'];           
    $ts = time();
    $date = date("Y-m-d", $ts);

    /*html er ikke tilladt*/
    $change1 = str_replace("<", "&lt;", $message);
    $change2 = str_replace(">", "&gt;", $change1);
       
    /*BB code er tilladt*/
    $BBcode = array("", "", "", "", "", "" "[quote]", "[/quote]");
    $HTML = array("<b>", "</b>", "<i>", "</i>", "<u>", "</u>", "<blockquote><p>", "</p></blockquote>");
    $change3 = str_replace($BBcode, $HTML, $change2);
           
    /*læg informationer i database*/           
    mysql_query("INSERT INTO Guest_book_beskedder (Name, Date, Message, id2) VALUES ('$name', '$date', '$change3', 'Test')") or die(mysql_error());
           
    ?>
    Done. <A href="index.php">Click here</a> to go back.
  </body>
</html>

Er der nogle med lidt mere rutine i php end mig, som kan se nogle fejl?

- Lars
Avatar billede michael_stim Ekspert
02. juni 2008 - 14:33 #1
Prøv denne (har ikke rigtigt kigget hele koden igennem, så der kan være mere):
mysql_query("INSERT INTO Guest_book_beskedder (`Name`, `Date`, `Message`, `id2`) VALUES ('$name', '$date', '$change3', 'Test')") or die(mysql_error());
Avatar billede michael_stim Ekspert
02. juni 2008 - 14:34 #2
Og hedder din tabel dette?
Guest_book_beskedder
Avatar billede laitch Nybegynder
02. juni 2008 - 14:37 #3
Ingen foreskel :(
Avatar billede michael_stim Ekspert
02. juni 2008 - 14:38 #4
Kom gerne med fejlen ;o)
Avatar billede laitch Nybegynder
02. juni 2008 - 14:39 #5
Den er ikke særlig informativ:

Webstedet kan ikke vise siden.
HTTP 500 
  Mest sandsynlige årsager:
Webstedet er under vedligeholdelse.
Webstedet har en programmeringsfejl.

  Prøv at:
    Opdater siden.

    Gå tilbage til den forrige side.

    Flere oplysninger

Denne fejl (HTTP 500 intern serverfejl) betyder, at et serverproblem på det websted, som du besøger, forhindrede visning af websiden.

Hvis du vil have flere oplysninger om HTTP-fejl, skal du se i Hjælp.
Avatar billede michael_stim Ekspert
02. juni 2008 - 14:43 #6
Og hvad har du i din form.html?
Avatar billede laitch Nybegynder
02. juni 2008 - 15:09 #7
<form method="post" action="postnew.php">
  <p>Post new message:</p>
  <p>
      <label>Name:
      <br />
      <input name="name" type="text" id="Name" size="45" />
      </label>
  </p>
  <p>
      <label>Message:
      <br />
      <textarea name="message" id="Message" cols="45" rows="10"></textarea>
      </label>
  </p>
  <p>
      <label>
      <input type="submit" name="Submit" id="Submit" value="Submit" />
      </label>
  </p>
</form>
Avatar billede laitch Nybegynder
02. juni 2008 - 15:29 #8
Jeg har pillet lidt og nu får jeg af en eller anden grund også en fejl ved index.php:

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (11)

hvad betyder det?
Avatar billede laitch Nybegynder
02. juni 2008 - 16:08 #9
Jeg er ikke sikker på hvorfor men fejlen ligger i denne bid kode:
    $BBcode = array("", "", "", "", "", "" "[quote]", "[/quote]");
    $HTML = array("<b>", "</b>", "<i>", "</i>", "<u>", "</u>", "<blockquote><p>", "</p></blockquote>");
    $change3 = str_replace($BBcode, $HTML, $change2);

For det hele virkede da jeg udskiftede det med:
        /*BB code er tilladt*/
       
        /* --> <b></b>*/
        $change3 = str_replace("", "<b>", $change2);
        $change4 = str_replace("
", "</b>", $change3);
       
        /* --> <i></i>*/
        $change5 = str_replace("", "<i>", $change4);
        $change6 = str_replace("
", "</i>", $change5);
       
        /* --> <u></u>*/
        $change7 = str_replace("", "<u>", $change6);
        $change8 = str_replace("
", "</u>", $change7);
       
        /*[quote][/quote] --> <blockquote><p></p></blockquote>*/
        $change9 = str_replace("[quote]", "<blockquote><p>", $change8);
        $change10 = str_replace("[/quote]", "</p></blockquote>", $change9);


Ellers tak til dem der prøvede at hjælpe
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