Jump to content

Mysql INSERT INTO help


magie

Recommended Posts

Hey i have made this guestbook, but everytime, it only put in the 1st info to the 1st field.

 

Here is the codes i used

laes.php

<html>
<title>Gæstebog</title>
<body bgcolor="#FFFFFF">

<form name="form1" method="get" action="opdater.php">

Læg venligst en besked
<br>
Navn:
<input type="text" name="navn" id="navn">
<br>
Email:
<input type"text" name"email" id="email">
<br>
Besked:
<textarea name"besked" rows="8" id="besked"></textarea>
<input type="submit" name"Submit" value="Indsend">

</form>

<hr>

Tak til de personer, som allerede har lagt en besked!

<hr>

<?php

$host = "localhost";
$user = "twossdow_magie";
$pass = "******";
$mb   = "twossdow_magie2";
$db = mysql_pconnect($host, $user, $pass);

mysql_select_db($mb,$db);

$result = mysql_query("SELECT * FROM indlaeg",$db);

while ($myrow = mysql_fetch_row($result)){

?>

Navn: <? echo $myrow[1] ?>
<br>
Email: <? echo $myrow[2] ?>
<br>
Besked: <? echo $myrow[3] ?>
<br>

<hr>

<?
}
?>


</body>
</html>

 

opdater.php

<?php

$host = "localhost";
$user = "twossdow_magie";
$pass = "280788";
$mb   = "twossdow_magie2";
$db = mysql_pconnect($host, $user, $pass);
$navn = $_REQUEST['navn'] ;
$email = $_REQUEST['email'] ;
$besked = $_REQUEST['besked'] ;

mysql_select_db($mb,$db);

$sql = "INSERT INTO indlaeg (`navn`,`email`,`besked`) "
  ."VALUES ('".$_POST["navn"]."', "
  ."VALUES ('".$_POST["besked"]."'), "
  ."'".$_POST["email"]."')";


$result = mysql_query($sql);

?>

<html>
<title>Opdater</title>
<body bgcolor="#FFFFFF">

Tak for det. <a href="laes.php">Klik for at vende tilbage til gæstebogen.</a>

</body>
</html>

Link to comment
Share on other sites

The query you use to insert the new entry seems to contain "VALUES" twice.  It sould be only once:

 

$sql = "INSERT INTO indlaeg (`navn`,`email`,`besked`) "
  ."VALUES ('".$_POST["navn"]."', "
  ."'".$_POST["besked"]."', "
  ."'".$_POST["email"]."')";

 

Also two remarks:

 

1. If your date of birth happens to be 28 of July 1988, you really need a more secure MySql password. ;-)

 

2. After someone writes an entry, he is taken to opdater.php.  Keep in mind that there is no checking on multiple attempts to post an entry there.  By simply pressing F5 over and over, I can easily spam multiple entries in your guestbook.

Link to comment
Share on other sites

yea, here is the code

<?php

$host = "localhost";
$user = "twossdow_magie";
$pass = "******";
$mb   = "twossdow_magie2";
$db = mysql_pconnect($host, $user, $pass);
$navn = $_REQUEST['navn'] ;
$email = $_REQUEST['email'] ;
$besked = $_REQUEST['besked'] ;

mysql_select_db($mb,$db);

$sql = "INSERT INTO indlaeg (`navn`,`email`,`besked`) "
  ."VALUES ('".$_POST["navn"]."', "
  ."'".$_POST["besked"]."', "
  ."'".$_POST["email"]."')";


$result = mysql_query($sql);

?>

<html>
<title>Opdater</title>
<body bgcolor="#FFFFFF">

Tak for det. <a href="laes.php">Klik for at vende tilbage til gæstebogen.</a>

</body>
</html>

 

 

How do i get the mysql error code?

Link to comment
Share on other sites

Like so:

 

$result = mysql_query($sql);

echo mysql_error($result);

 

I also noticed that you seem to use $_REQUEST at first and then switch to $_POST.  It is always better to use $_POST or $_GET or $_COOKIE, depending on where the data is coming from.

Link to comment
Share on other sites

It just say error, when put this in

 

echo mysql_error($result);

 

Weird, it should normally also give a bit more info on which error.  But if there is an error, at least we know why no info is inserted.

 

If you replace

 

echo mysql_error($result);

 

by

 

echo $sql;

 

What does it say on the screen?

Link to comment
Share on other sites

yep here it is

 

<?php

$host = "localhost";
$user = "twossdow_magie";
$pass = "280788";
$mb   = "twossdow_magie2";
$db = mysql_pconnect($host, $user, $pass);

mysql_select_db($mb,$db);

if(trim($_POST["navn"]) == "Plz fill this out")

$sql = "INSERT INTO indlaeg (`navn`,`email`,`besked`) "
  ."VALUES ('".$_POST["navn"]."', "
  ."'".$_POST["besked"]."', "
  ."'".$_POST["email"]."')";


$result = mysql_query($sql);
echo $sql;


?>

<html>
<title>Opdater</title>
<body bgcolor="#FFFFFF">

Tak for det. <a href="laes.php">Klik for at vende tilbage til gæstebogen.</a>

</body>
</html>

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.