我创建了一个名为contact.html
和connectivity.php
的html文件。在contact.html
内,我设置了form action="Conectivity.php"
。但是,当我运行contact.html
并单击发送按钮时,它应该将记录保存在我的数据库中,但是当我单击按钮时它只显示connectivity.php
内的整个代码。
以下是connectivity.php
中的代码:
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'practice');
define('DB_USER','root');
define('DB_PASSWORD','');
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$query = "INSERT INTO contact (contactName,contactEmail,message)VALUES('$name','$email','$message')";
$result = mysql_query($query);
if($result)
{
echo "Successfully updated database";
}
else
{
die('Error: '.mysql_error($con));
}
mysql_close($con);
?>
答案 0 :(得分:3)
你说“它只显示了connectivity.php中的整个代码” - 听起来你没有安装Web服务器并且看到PHP代码,因为它没有执行你的脚本。您需要安装Web服务器。
注意:如果您访问file:///foo/Connectivity.php
这样的文件,您也会遇到此问题 - 必须通过HTTP才能让Web服务器执行PHP。您必须访问通过HTTP的文件,如http://localhost/Connectivity.php
或任何本地服务器名称而不是localhost。
请检查您的拼写。你的问题是i set form action="conectivity.php"
。您的文件名为Connectivity.php
- 请确认您在<form>
标记中拼写正确。
此外,don't use mysql_* - 使用MySQLi或PDO。你必须使用准备好的陈述;您当前的代码极易受到SQL注入攻击。