Hi! I'm trying to get the information in this form be saved in a database (so far so good) and when I click the link beneath the form I will use an AJAX script to execute a php-script that reads from a database and then submits it into the div called "info". But the whole part from reading the database and then send it back to the client doesn't work.
The scripts I use is:
HTML Code:
<form action="insert-pm.php" method="post">
Sender: <input type="text" name="sender" /><br />
Receiver: <input type="text" name="receiver" /><br />
Title: <input type="text" name="title" /><br />
Content: <textarea name="content"/></textarea><br />
<input type="submit" value="Sänd"/>
</form>
<a href="javascript:showUser()">Visa info</a>
<script type="text/javascript" language="javascript">
var xmlhttp;
function showUser(str)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="php_mysql-connect.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("info").innerHTML=xmlhttp.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
</script>
<div id="info">
The php-script that writes into the database:
PHP Code:
<?php
$user_name = "root";
$password = "XXXXX";
$database = "test";
$server = "localhost";
$con = mysql_connect($server, $user_name, $password);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database, $con);
$sql="INSERT INTO pm (UserID, SenderID, Title, Content)
VALUES
('$_POST[sender]','$_POST[receiver]','$_POST[title]','$_POST[content]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
The php script that reads the database and then returns the data:
PHP Code:
<?php
$user_name = "root";
$password = "XXXXX";
$database = "test";
$server = "localhost";
$q=$_GET["q"];
$con = mysql_connect($server, $user_name, $password);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database, $con);
$sql="SELECT * FROM pm WHERE id = '".$q."'";
$result = mysql_query($sql);
echo "<table border='0'>
<tr>
<th>UserID</th>
<th>ReceiverID</th>
<th>Title</th>
<th>Content</th>
<th>Date</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['UserID'] . "</td>";
echo "<td>" . $row['SenderID'] . "</td>";
echo "<td>" . $row['Title'] . "</td>";
echo "<td>" . $row['Content'] . "</td>";
echo "<td>" . $row['Date'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
Can anyone help me with this? I think I'm doing some kind of basic mistake. Thanks!
One more thing: How do I write the date and time when I submit the form into the databasefield called Date?
Bookmarks