Avatar billede jih Nybegynder
14. februar 2004 - 22:38 Der er 7 kommentarer og
1 løsning

PHP guestbook virker ikke

nogen som kan hjælpe mig at få denne gæstebog til at virke ?

/***************************************************
      oplysninger:
***************************************************/

har flg. filer: display.php - insert.php - wrapperclass.php - listguests.php
liggende i en mappe der hedder guestbook... den mappe har en undermappe som hedder files... der bliver der dynamisk lavet textfiler, som skal stå i gæstebogen..

/***************************************************
      oplysninger:
***************************************************/

Mit problem er at når jeg skriver i gæstebogen, gemmer den ik beskeden på siden... den gemmer textfilen i "../guestbook/files/", men den kan ikke ses på siden.. og MySQL bliver også opdateret hvergang... så jeg forstår ik rigtigt... kan nogen lige hjælpe mig lidt med den her ?

guestbook link: http://webpsycho.users.whitehat.dk/guestbook/display.php

På forhånd tak.
Avatar billede ztyxx Nybegynder
14. februar 2004 - 22:57 #1
tror nærmere at det ville være en god ide med noget kode
Avatar billede jih Nybegynder
14. februar 2004 - 23:08 #2
aha... ok.... kommer...

/*******************************************************************************
insert.php:
*******************************************************************************/
<?
$name    = $HTTP_POST_VARS['txtName'];
$title  = $HTTP_POST_VARS['txtTitle'];
$message = $HTTP_POST_VARS['txtaMessage'];

/*******************************************************************************
    puts name and title into the table
*******************************************************************************/
//include file for the wrapperclass
include "../guestbook/wrapperclass.php";

//make an object of the wrapperclass
$guest=new GuestInterface();

//make db connection
$guestpointer=$guest->connect();

//insert record
$guest->addToGuestBook($name, $title);

$rs = $guest->getUniqID($name, $title);

if ($row=mysql_fetch_assoc($rs))
{
  $filename = "../guestbook/files/guest".$row['ID'].".txt";
}

//disconnect to db
$guest->Disconnect($guestpointer);

/*******************************************************************************
    puts message into a file
*******************************************************************************/

//make file and insert content
$guest->makeFile($filename, $message);

//Redirct to the display php
header("Location: display.php");

?>
/*******************************************************************************
insert.php:
*******************************************************************************/
<?php
       
/****************************************************
      Wrapper class around mysql database.
*****************************************************/
class GuestInterface
{

  /****************************************************
      Construct
  *****************************************************/
  function GuestInterface()
  {


  }

  /*****************************************************************************
      Methods for the database
  ******************************************************************************/

   
  /****************************************************
      Connects to database
  *****************************************************/
  function Connect()
  {
      $host = "localhost";
      $username = "minbruger";
      $password = "minkode";
      $database = "mindatabase";
      $server = mysql_connect($host, $username, $password) or die(mysql_error());           
      $connection = mysql_select_db($database, $server);
   
      return $server;
  }

  /****************************************************
      Disconnect from database
  *****************************************************/
  function Disconnect($server)
  {
      mysql_close($server);
  }


   
  /****************************************************
      Get info from all the users
  *****************************************************/
    function getGuestBook()
    {
            $rs = mysql_query("SELECT * FROM tbGuestBook ORDER BY ID DESC") or die(mysql_error());
          return $rs;
    }
   
  /****************************************************
      Get a uniq id that we will use for making the file
  *****************************************************/
    function getUniqID($name, $title)
    {
            $rs = mysql_query("SELECT * FROM tbGuestBook WHERE Name = '$name' AND Topic = '$title' ORDER BY ID DESC") or die(mysql_error());
          return $rs;
    }

  /****************************************************
      Add to guestbook
  *****************************************************/
  function addToGuestBook($name, $title)
  {
      $sql = mysql_query("INSERT INTO tbGuestBook VALUES ( '', '$name', '$title'  ) ")or die(mysql_error());   
  }


  /*****************************************************************************
      Methods for making and deleting files
  ******************************************************************************/
 
   
  /****************************************************
      This method make a file, and takes the filename as an argument
  *****************************************************/
    function makeFile($filename, $content)
    {
      $content = stripslashes($content);
      $fp = fopen($filename,"w") or die ("Error opening file in write mode!");
      fputs($fp,$content);
      fclose($fp) or die ("Error closing file!");
    }
   

  /****************************************************
      This method display the data in a file
  *****************************************************/
    function displayFile($filename)
    {
    if (!file_exists($filename))
        {
        echo "Couldn't find datafile, please contact administrator!";
    }
    else
        {
        $newfile = fopen($filename,"r");
        $content = fread($newfile, filesize($filename));
      fclose($newfile);
    }


    $content = stripslashes($content);
    $content = htmlentities($content);
    $content = nl2br($content);
   
    print "$content";
  }
   
}
?>
/*******************************************************************************
insert.php:
*******************************************************************************/
<?
//include file for the wrapperclass
include "../guestbook/wrapperclass.php";

//make an object of the wrapperclass
$guest=new GuestInterface();

//make db connection
$guestpointer=$guest->connect();

$rs = $guest->getGuestBook();

while ($row=mysql_fetch_assoc($rs))
{
?>
<br><br>
<table summary="" border="0">
<tr class="head">
<td width="420"><?     echo($row['Name']); ?></td>
</tr>
<tr class="main">
<td><?     echo($row['Topic']); ?></td>
</tr>
<tr class="main">
<td>
<?    
$guest->displayFile("../guestbook/files/guest".$row['ID'].".txt");
?>
</td>
</tr>

</table> 

<?
}

//disconnect to db
$guest->Disconnect($guestpointer);

?>
Avatar billede jih Nybegynder
14. februar 2004 - 23:38 #3
hmmm..... det er lidt forkert....
den første kode er insert.php...
den anden er wrapperclass.php...
den tredje er  listguests.php...
Avatar billede ztyxx Nybegynder
14. februar 2004 - 23:40 #4
har du også oprettet tabellen i din MySQL database?
Avatar billede jih Nybegynder
14. februar 2004 - 23:42 #5
jepper... koden er:
---
CREATE TABLE `tbGuestBook` (
`ID` INT AUTO_INCREMENT,
`Name` CHAR( 75 ) NOT NULL ,
`Topic` CHAR( 50 ) NOT NULL ,
UNIQUE (
`ID`
)
);
Avatar billede jih Nybegynder
15. februar 2004 - 01:05 #6
Topic er nu lavet om til Message (og har skiftet over til en anden meget mere enkelt kode) :
---
<?php
  $my_connection = @mysql_connect('localhost', 'webpsycho', 'jc21iush');
  if (!$my_connection) {
    die('Unable to link to database. MySQL returned following errors: '.mysql_error());
  }
  mysql_select_db(webpsycho) or die("Unable to chose database.");

  $m = $_REQUEST["m"];
  if ($m == "") {
?>

<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD>
Gestabók
</TD>
</TR>
<TR>
<TD>
<FORM METHOD="post" ACTION="guestbook.php?m=sign" NAME="guestbook">
<TABLE BORDER="0" CELLSPACING="1" CELLPADDING="2">
<TR>
<TD>
<B>Navn: </B>
</TD>
<TD>
<INPUT TYPE="text" NAME="name">
</TD>
</TR>
<TR>
<TD>
<B>Boð: </B>
</TD>
<TD>
<TEXTAREA NAME="msg" cols="40" rows="10"></TEXTAREA></TD></TR>
<TR>
<TD>
<input type="submit" value="Sign the guestbook!">
</TD>
</TR>
</TABLE>
</FORM>
</TD>
</TR>
</TABLE>
<?php
  } elseif ($m == "sign") {
  $navn = $_REQUEST["name"];
  $bod = $_REQUEST["msg"];
  $query = "INSERT INTO tbGuestBook (Name, Message) VALUES('$name','$msg')";
  $result = mysql_query($query);
  } else {
  echo "ERROR!";
}
?>
Avatar billede jih Nybegynder
15. februar 2004 - 01:06 #7
samme problem alligevel...
Avatar billede jih Nybegynder
15. februar 2004 - 01:47 #8
har fundet en løsning... fandt en gratis lille simpel gæstebog.. :P

lukker...
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