我试图得到我的html表单一旦提交,然后数据被保存到mysql数据库中。然而,一旦我点击了提交按钮,它就会把我带到我的浏览器中显示的php代码。
它为什么要这么做?
我在我的环境中使用XAMP,而且当我检查数据库时,也没有添加任何数据。
任何帮助都将不胜感激。
//html form
<div id="contact_form">
<form action="contact_insert.php" method="post">
Firstname: <input type="text" name="firstname">
Lastname: <input type="text" name="surname">
Email: <input type="text" name="email">
<input type="submit">
</form>
</div>
//php contact_insert.php page
<?php
$username="root";
$password="password";
$server="127.0.0.1";
$database="eddiesdb";
$con = mysql_connect($server,$username,$password);
// Check connection
if (mysql_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO customer (FirstName, Surname, EmailAddress)
VALUES
('$_POST[firstname]','$_POST[surname]','$_POST[email]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?> 发布于 2014-04-03 19:23:05
你可以使用下面的代码。不要使用mysql和mysqli的组合。
<div id="contact_form">
<form action="contact_insert.php" method="post">
Firstname: <input type="text" name="firstname">
Lastname: <input type="text" name="surname">
Email: <input type="text" name="email">
<input type="submit" name="submit">
</form>
</div>
<?php
if(isset($_POST['submit']))
{
$username="root";
$password="password";
$server="127.0.0.1";
$database="eddiesdb";
$con = mysql_connect($server,$username,$password);
$sql="INSERT INTO customer (FirstName, Surname, EmailAddress)
VALUES
('$_POST[firstname]','$_POST[surname]','$_POST[email]')";
$a=mysql_query($sql);
if (!$a)
{
echo mysql_error();
}
else
{
echo "1 record added";
}
mysql_close($con);
}
?> 发布于 2014-04-03 19:13:53
确保您的文件具有.php扩展名。
确保将PHP代码放在<?php ... ?>标记中。
发布于 2014-04-03 19:14:10
你的脚本:
$con = mysql_connect($server,$username,$password);
// Check connection
if (mysql_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO customer (FirstName, Surname, EmailAddress)
VALUES
('$_POST[firstname]','$_POST[surname]','$_POST[email]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);你写的是if (!mysqli_query($con,$sql)),但在$con中,你使用的是mysql_connect,而不是mysqli_connect,
因此,它将是:
if (!mysql_query($con,$sql)) {
die('Error: ' . mysql_error($con));
}
echo "1 record added";
mysql_close($con);https://stackoverflow.com/questions/22835744
复制相似问题