Hallo,
ik heb een gastenboek tutorial van internet gevolgd om er een nieuws post systeem van te maken.
Nu heb ik echter een fout !
Dit is mijn script:
<?php
  include("verbinding.php");
  if ($_POST["submit"]) {
  mysql_connect("$dbhost","$username","$dbww");
  mysql_select_db("$db");
  $_POST['naam'];
  $_POST['email'];
  $_POST['msg'];

  $naam = htmlspecialchars($naam);
  $email = htmlspecialchars($email);
  $msg = htmlspecialchars($msg);

  $naam = strip_tags($naam);
  $email = strip_tags($email);
  $msg = strip_tags($msg);

    $msg = addslashes($msg);
    $msg = nl2br($msg);
  $sql = "INSERT INTO Guestbook SET Name='$naam', Email='$email', Message='$msg'";
  $query = mysql_query($sql) or die("bericht niet geplaatst!");
  echo "DB bijgewerkt, <a href=\"toon.php\">Ga naar gastenboek terug...</a>";
  } else { ?>

  <form method="post" action="<?php echo $PHP_SELF;?>">
  Naam: <input type="text" name="naam"><br>
  Email: <input type="text" name="email"><br>
  Bericht: <textarea name="msg" rows="10" cols="10"></textarea><br>
  <input type="submit" name="submit" value="submit">
  </form>
 <?php } ?>


Als je post dan krijg ik wel te zien dat het gelukt is enzo maar in de database komt niks te staan.. Dus ook geen text in het echte gastenboek..
Weet iemand raad ?
- Yorick
maak eens een if om de echo heen dat eht is gelukt.

zoiets van:

<?php //kleurtjes
if($query)
{
echo "Gelukt!";
} else {
echo "Mislukt!";
}
?>


want nu store je de query in een variable, maar doe je er verder niks mee.
probeer het eens zo;


<?
include("verbinding.php");
if ($_POST["submit"]) {
	mysql_connect("$dbhost","$username","$dbww") or die('Kon geen verbinding maken met database');
	mysql_select_db("$db") or die('Kon database niet selecteren');
	$_POST['naam'];
	$_POST['email'];
	$_POST['msg'];

	$naam = htmlspecialchars($naam);
	$email = htmlspecialchars($email);
	$msg = htmlspecialchars($msg);

	$naam = strip_tags($naam);
	$email = strip_tags($email);
	$msg = strip_tags($msg);

	$msg = addslashes($msg);
	$msg = nl2br($msg);

	$query = "INSERT INTO Guestbook (Name,Email,Message) values ('".$naam."','".$email."','".$msg."');";
	if ($result = mysql_query($query)) {
		echo "DB bijgewerkt, <a href=\"toon.php\">Ga naar gastenboek terug...</a>";
	} else {
		echo "Tijdens het opslaan is de volgende fout opgetreden: ".mysql_error();
	}
} else {
	?>
	<form method="post" action="<?php echo $PHP_SELF;?>">
		Naam: <input type="text" name="naam"><br>
		Email: <input type="text" name="email"><br>
		Bericht: <textarea name="msg" rows="10" cols="10"></textarea><br>
		<input type="submit" name="submit" value="submit">
	</form>
<?
}
?>
En ehm.. Waar moet ik dat dan precies zetten ?
heb al een paar plaatsen geprobeerd maar t wil niet werken..
Cheers,
- Yorick
Yorick vervang de code die je zelf hebt gepost met de mijne en laat me post even wat je te zien krijgt.

suc6
Yorick, laat de code eens zien die de berichten print .
  <?php
  include("verbinding.php");
  mysql_connect("$dbhost","$username","$dbww");
  mysql_select_db("$db");
  $query = "SELECT Name, Email, Message FROM Guestbook ORDER BY ID Desc";
  $result = mysql_query($query) or die ("Mislukt!");

  while($obj=mysql_fetch_object($result)){
    $name = "$obj->Name";
    $email = "$obj->Email";
    $msg = "$obj->Message";
  ?>

  <table>
  <tr><td>Geplaatst door:</td>
  <td><?php echo "$name;"?></td></tr>
  <tr><td>Bericht:</td>
  <td><?php echo "$msg;"?></td></tr>
  </table>
  <?php } ?>

  <a href="toevoeg.php">Voeg een bericht toe...</a>

Cheers,
- Yorick
Waarom niet gewoon:
<?php
while($obj=mysql_fetch_object($result)){
echo $obj->Name;
echo $obj->Email;
echo $obj->Message;
?>
Je gebruikt overal dubbele quotes om variabelen heen. Waarom? Verder is mysql_fetch_object de langzaamste van alle fetch-functies. Gebruik liever mysql_fetch_assoc, of nog beter: ga je verdiepen in PDO.
Sja,
Ik volg een tutorialtje en gebruik dan ook wat in dat tutorial staat..
Lukt het niet dan mag ik toch wel om hulp vragen..
- Yorick
Vooral een tutorial gaan lezen die verkeerde info geeft..

echo 'hier een tekst';
$tekst = 'hier een tekst;
echo $tekst;

Reageren