Probleempje met mijn gastenboek

Status
Niet open voor verdere reacties.

Twanno5483

Gebruiker
Lid geworden
1 mrt 2009
Berichten
74
Hoi allemaal,

Ik ben een beetje aan het stoeien met PHP en MySQL. Ik heb een eenvoudige gastenboek gemaakt en hij maakt ook een record aan in MySQL database, maar de inhoud van mijn velden worden niet opgeslagen. Wat mis ik.

Alvast bedankt
Twan

De codes

guestbook.php
<html>
<head>
<title>Gastenboek</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body,td,th {
font-family: Viner Hand ITC;
}
body {
background-color: #C0C0C0;
}
.style1 {
font-size: 24px;
font-weight: bold;
}
-->
</style></head>
<body>
<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><div align="center" class="style1">Gastenboek Cynthia Damen </div></td>
</tr>
</table>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#C0C0C0">
<tr>
<form name="guestbook" method="POST" action="addguestbook.php">
<td>
<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#C0C0C0">
<tr>
<td width="117">Naam</td>
<td width="14">:</td>
<td width="357"><input name="name" type="text" id="name" size="80" /></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input name="email" type="text" id="email" size="80" /></td>
</tr>
<tr>
<td valign="top">Commentaar</td>
<td valign="top">:</td>
<td><textarea name="comment" cols="76" rows="10" id="comment"></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Verstuur" /> <input type="reset" name="Submit2" value="Reset" /></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong><a href="viewguestbook.php">Bekijk gastenboek</a> </strong></td>
</tr>
</table>

</body>
</html>


PHP:
><?php
$host="localhost"; // Host name 
$username="username"; // Mysql username 
$password="**************"; // Mysql password 
$db_name="cynthiadamen_database"; // Database name 
$tbl_name="guestbook"; // Table name 




// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("Kan de server niet vinden "); 
mysql_select_db("$db_name")or die("Kan de database niet bereiken");



$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 "Gelukt";
echo "<BR>";
echo "<a href='viewguestbook.php'>Bekijk gastenboek</a>"; // link to view guestbook page 
}

else {
echo "FOUT";
}

mysql_close();
?>
 
Laatst bewerkt:
Het is niet slim om je wachtwoord en username te posten hier, we kunnen je ook zonder helpen :D
 
Dank je voor je Tip. Heb er helemaal niet bij stil gestaan. Ik heb het gewijzigd.
 
Je vraagt de velden niet op de juiste manier op. De manier waarop jij het doet is al zo'n 10 jaar standaard uitgeschakeld.
Verander de regel
PHP:
$sql="INSERT INTO $tbl_name(name, email, comment, datetime)VALUES('$name', '$email', '$comment', '$datetime')";
eens in
PHP:
$sql="INSERT INTO $tbl_name(name, email, comment, datetime)VALUES('" . $_POST['name'] . "', '" . $_POST['email'] . "', ' " . $_POST['comment'] . "', '" . date("Y-m-d H:j:s") . "')";
 
Hoi allemaal.

Heel erg bedankt voor de reactie. Het probleempje is opgelost.

Vriendelijk bedankt.
Twan
 
Ik bedenk me trouwens net dat je code wel kwetsbaar is voor SQL-injectie.
Om dat op te lossen kan je het beste dit gebruiken:
PHP:
$sql="INSERT INTO $tbl_name(name, email, comment, datetime)VALUES('" . mysql_real_escape_string($_POST['name']) . "', '" . mysql_real_escape_string($_POST['email']) . "', ' " . mysql_real_escape_string($_POST['comment']) . "', '" . date("Y-m-d H:j:s") . "')";
 
Dank je. Dit werkt ook. en bedankt voor de heldere uitleg via die link.

Twan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan