Avatar billede donsmooth Nybegynder
06. juni 2004 - 22:12 Der er 6 kommentarer

Problemer med at "connecte" til database

Hey

jeg er ved at lave en gæstebog via php. Jeg har lavet 4 php sider; config.inc.php, guest.php, post.php og guestbook.php.
Config indeholder passwords etc.
guest viser indholdet af gæstebogen/databasen
post er siden hvor man kan skrive sin besked
guestbook er funktionerne for formen på post-siden.

Jeg bliver ve med at få en fejlbesked om at formen ikke er udfyldt - en fejl der er inkorporeret på guestbooksiden. Så jeg tænker at fejlen er der. Her er scriptet;

include ("config.inc.php");

if (($name == "") AND ($email == "") AND ($comments == "")):

    $error1 = "<font face='Arial' color='Red'><STRONG>Udfyld venligst gæstebogen:</STRONG></font><br><br>";   
   
    include($PostPage);

else:
if ($allowHTML == 0):
$name = ereg_replace("<","&lt;",$name);
$name = ereg_replace(">","&gt;",$name);
$email = ereg_replace("<","&lt;",$email);
$email = ereg_replace(">","&gt;",$email);
$url = ereg_replace("<","&lt;",$url);
$url = ereg_replace(">","&gt;",$url);
$urltitle = ereg_replace("<","&lt;",$urltitle);
$urltitle = ereg_replace(">","&gt;",$urltitle);
$referral = ereg_replace("<","&lt;",$referral);
$referral = ereg_replace(">","&gt;",$referral);
$comments = ereg_replace("<","&lt;",$comments);
$comments = ereg_replace(">","&gt;",$comments);

endif;

$mysql_link = mysql_pconnect( "localhost", "$username", "$password") // Enter your database info here
              or die( "Unable to connect to server");
mysql_select_db( "$db_name") or die( "Unable to select database");

$insert = "INSERT INTO guestbook(name, date, email, comment) VALUES('$name', SYSDATE(), '$email', '$comments')";
$mysql_insert = mysql_query($insert, $mysql_link)
    or die("please notify $my_email that the script is not inserting entries<BR><BR>$name,<br>$email,<br>$comments<br><br>$insert");

if ($notify == 1):

$comments = ereg_replace("<BR>","\n",$comments);

mail
(
"$my_email",
"guestbook entry",
"Name : $name
Email : $email
Note:

$comments\n
",
"From: $email\n"
);
endif;

$name_chk = $name;
$email_chk = $email;
$comments_chk = $comments;

include($gbPage);

endif;

?>

Hvis fejlen ikke er der kan den evt være i selve post siden. Her er scriptet;

<html>
<head>
<title>Min gæstebog</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
<BODY bgcolor="#999333" text="#009999">
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="LEFT" valign="MIDDLE">
    <tr>
        <td align="LEFT" valign="TOP" width="85%">
<!-- begin main content -->
<table>
<tr><td rowspan="2" width="20">&nbsp;</td></tr>
<tr><td width="482" colspan="2">
<font face="Arial, Helvetica, sans-serif">
<?
include ("config.inc.php");

echo $error1; ?>
<P>Skriv en kommentar eller bare <a href="guest.php">kig i g&aelig;stebogen</a></P>
</font>
<FORM ACTION="guestbook.php" METHOD=POST>
              <P><font face="Arial, Helvetica, sans-serif"> Navn:<BR>
                <INPUT TYPE=text NAME=name SIZE=30 maxlength=80>
                <BR>
                Email&nbsp;(ikke n&oslash;dvendig):<BR>
                <INPUT TYPE=text NAME=email SIZE=30 maxlength=80>
                <br>
                Kommentar: <BR>
                <textarea name="comments" cols="60" rows="6" wrap="VIRTUAL"></textarea>
                <BR>
              </font></P>
  <P><font face="Arial, Helvetica, sans-serif">
    <INPUT TYPE=submit NAME=gb VALUE="Tilf&oslash;j">
&nbsp;&nbsp;Tryk kun en gang - der g&aring;r lige lidt tid. </font>
  </FORM>
           
<font face="Arial, Helvetica, sans-serif">
</P>
<p><br>
              <br>
            </p>
</font><p>&nbsp;</p>
            </td></tr>
</table>
<!-- end main content -->
</td>
</tr>
</table>
</body>
</html>


Er der nogen der kan checke om fejlen er heri eller om det er anden sted - og i så fald hvor.

Jeg er ret ny mht. php og MySql, så det kan være jeg er helt fucked up forkert på den og har beskrevet problemet forkert. Men jeg har prøvet i flere dage at få lortet til at virke. Og derfor dette indlæg.

:-(

I need help!!! Jeg er meget taknemlig for evt. svar.

Thomas
Avatar billede dennismp Nybegynder
06. juni 2004 - 22:24 #1
Prøv at tilføje.. øverst oppe:

$name = $_POST['name'];
$email = $_POST['email'];
$comments = $_POST['comments'];

og se om det hjælper
Avatar billede donsmooth Nybegynder
06. juni 2004 - 22:39 #2
Holy fuck!!
Så simpelt!! Arhhh, men dejligt!!
Suverænt!!
Mange tak
Jeg er vildt taknemlig!
Point på vej din vej Dennis!

Thomas
Avatar billede donsmooth Nybegynder
06. juni 2004 - 22:46 #3
smid et svar Dennis og der er pointstyla!

Thomas
Avatar billede dennismp Nybegynder
06. juni 2004 - 22:48 #4
Hehe. Hvis du er nysgerrig hvorfor det er sådan, så er det fordi at scriptet antager at register_globals er slået til. Men i nyerer version af php er dette pr. default slået fra, da det giver grim (og til tider) usikker kode
Avatar billede donsmooth Nybegynder
06. juni 2004 - 22:53 #5
Super cool - jeg havde godt læst noget om det. Men jeg må helt ærligt sige, at jeg ikke havde fattet pointen. Jeg skal nok lige læse lidt mere i MySql maualen ;)

Men mange tak - det var en stor hjælp!!

Thomas
Avatar billede dennismp Nybegynder
06. juni 2004 - 22:58 #6
Det var så lidt. Ellers spørg løs hvis du vil have noget uddybet :).
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