Monday, August 3, 2009

Help with a problem I have with a simple guestbook using mysql / php?

Hi guys,





I have designed a very simple guestbook using a mysql database and php to link to my website but am having problems getting it going. Am fairly new to this kind of programming so I am sure its something simple ..... Basically .....





I have a mysql database called MRCADB


%26amp; a table within called GUESTBOOK





I have 3 php pages:





GUESTBOOK.PHP


----------------------------


%26lt;table width="400" border="0" align="center" cellpadding="3" cellspacing="0"%26gt;


%26lt;tr%26gt;


%26lt;td%26gt;%26lt;strong%26gt;Test Sign Guestbook %26lt;/strong%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;/table%26gt;


%26lt;table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"%26gt;


%26lt;tr%26gt;


%26lt;form id="form1" name="form1" method="post" action="addguestbook.php"%26gt;


%26lt;td%26gt;


%26lt;table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"%26gt;


%26lt;tr%26gt;


%26lt;td width="117"%26gt;Name%26lt;/td%26gt;


%26lt;td width="14"%26gt;:%26lt;/td%26gt;


%26lt;td width="357"%26gt;%26lt;input name="name" type="text" id="name" size="40" /%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;tr%26gt;


%26lt;td%26gt;Email%26lt;/td%26gt;


%26lt;td%26gt;:%26lt;/td%26gt;


%26lt;td%26gt;%26lt;input name="email" type="text" id="email" size="40" /%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;tr%26gt;


%26lt;td valign="top"%26gt;Comment%26lt;/td%26gt;


%26lt;td valign="top"%26gt;:%26lt;/td%26gt;


%26lt;td%26gt;%26lt;textarea name="comment" cols="40" rows="3" id="comment"%26gt;%26lt;/textarea%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;tr%26gt;


%26lt;td%26gt;聽%26lt;/td%26gt;


%26lt;td%26gt;聽%26lt;/td%26gt;


%26lt;td%26gt;%26lt;input type="submit" name="Submit" value="Submit" /%26gt; %26lt;input type="reset" name="Submit2" value="Reset" /%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;/table%26gt;


%26lt;/td%26gt;


%26lt;/form%26gt;


%26lt;/tr%26gt;


%26lt;/table%26gt;


%26lt;table width="400" border="0" align="center" cellpadding="3" cellspacing="0"%26gt;


%26lt;tr%26gt;


%26lt;td%26gt;%26lt;strong%26gt;%26lt;a href="viewguestbook.php"%26gt;View Guestbook%26lt;/a%26gt; %26lt;/strong%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;/table%26gt;





[THAT SEEMS TO WORK FINE %26amp; OFFER A PAGE TO ENTER THE MESSAGE ETC]





ADD GUESTBOOK.PHP


------------------------------------





%26lt;?php


$host="localhost"; // Host name


$username="myusername"; // Mysql username


$password="mypassword"; // Mysql password


$db_name="mrcadb"; // Database name


$tbl_name="guestbook"; // Table name





// Connect to server and select database.


mysql_connect("$host", "$username", "$password")or die("cannot connect server ");


mysql_select_db("$db_name")or die("cannot select DB");





$datetime=date("y-m-d h:i:s"); //date time





$sql="INSERT INTO $tbl_name(name, email, comment, datetime)VALUES('$name', '$email', '$comment', '$datetime')";


$result=mysql_query($sql);





//check if query successful


if($result){


echo "Successful";


echo "%26lt;BR%26gt;";


echo "%26lt;a href='viewguestbook.php'%26gt;View guestbook%26lt;/a%26gt;"; // link to view guestbook page


}





else {


echo "ERROR";


}





mysql_close();


?%26gt;





and then finally:





VIEWGUESTBOOK.PHP


-------------------------------------





%26lt;table width="400" border="0" align="center" cellpadding="3" cellspacing="0"%26gt;


%26lt;tr%26gt;


%26lt;td%26gt;%26lt;strong%26gt;View Guestbook | %26lt;a href="guestbook.php"%26gt;Sign Guestbook%26lt;/a%26gt; %26lt;/strong%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;/table%26gt;


%26lt;br%26gt;





%26lt;?php





$host="localhost"; // Host name


$username="myusername"; // Mysql username


$password="mypassword"; // Mysql password


$db_name="mrcadb"; // Database name


$tbl_name="guestbook"; // Table name





// Connect to server and select database.


mysql_connect("$host", "$username", "$password")or die("cannot connect server ");


mysql_select_db("$db_name")or die("cannot select DB");





$sql="SELECT * FROM $tbl_name";


$result=mysql_query($sql);





while($rows=mysql_fetch_array($result)...


?%26gt;


%26lt;table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"%26gt;


%26lt;tr%26gt;


%26lt;td%26gt;%26lt;table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"%26gt;


%26lt;tr%26gt;


%26lt;td%26gt;ID%26lt;/td%26gt;


%26lt;td%26gt;:%26lt;/td%26gt;


%26lt;td%26gt;%26lt;? echo $rows['id']; ?%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;tr%26gt;


%26lt;td width="117"%26gt;Name%26lt;/td%26gt;


%26lt;td width="14"%26gt;:%26lt;/td%26gt;


%26lt;td width="357"%26gt;%26lt;? echo $rows['name']; ?%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;tr%26gt;


%26lt;td%26gt;Email%26lt;/td%26gt;


%26lt;td%26gt;:%26lt;/td%26gt;


%26lt;td%26gt;%26lt;? echo $rows['email']; ?%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;tr%26gt;


%26lt;td valign="top"%26gt;Comment%26lt;/td%26gt;


%26lt;td valign="top"%26gt;:%26lt;/td%26gt;


%26lt;td%26gt;%26lt;? echo $rows['comment']; ?%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;tr%26gt;


%26lt;td valign="top"%26gt;Date/Time %26lt;/td%26gt;


%26lt;td valign="top"%26gt;:%26lt;/td%26gt;


%26lt;td%26gt;%26lt;? echo $rows['datetime']; ?%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;/table%26gt;%26lt;/td%26gt;


%26lt;/tr%26gt;


%26lt;/table%26gt;


%26lt;BR%26gt;


%26lt;?


}


mysql_close(); //close database


?%26gt;


--------------------------------------...





Im sure that seems fairly straight forward to you php geniuses!





I have linked the GUESTBOOK.PHP page to my index and when you click onto the link it comes up with the form to add to the guestbook - as I expected.





When I try adding to the guestbook I get an error message that reads "CANNOT SELECT DB"





Further - if I try to view ADDGUESTBOOK.PHP or VIEWGUESTBOOK.PHP I get the same message.





It is obvious that it cannot select the database .... i'm just not sure why! Am I right in thinking that it is connecting to mysql but not finding the database within?





I have set up the mysql on my web server etc - it must just be something small! Aggggghhhhhhhh! Any idea's?!





Ta in advance! :S

Help with a problem I have with a simple guestbook using mysql / php?
That sounds right; maybe caps is an issue? You capitalized the name way at the top but not in the codes, I'm not positive if the real name is capitalized, but it will not let you connect if the cases are different.


No comments:

Post a Comment