我写了一个非常基本的HTML注册表单:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Registration</title>
</head>
<body>
<form name="reg" action="code_exec.php" onsubmit="return validateForm()" method="post">
<table width="274" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td colspan="2">
<div align="center">
<?php
// $remarks=$_GET['remarks'];
if (!isset($_GET['remarks']))
{
echo 'Register Here';
}
if (isset($_GET['remarks']) && $_GET['remarks']=='success')
{
echo 'Registration Success';
}
?>
</div></td>
</tr>
<tr>
<td width="95"><div align="right">First Name:</div></td>
<td width="171"><input type="text" name="fname" /></td>
</tr>
<tr>
<td><div align="right">Last Name:</div></td>
<td><input type="text" name="lname" /></td>
</tr>
<tr>
<td><div align="right">Gender:</div></td>
<td><input type="text" name="gender" /></td>
</tr>
<tr>
<td><div align="right">Address:</div></td>
<td><input type="text" name="address" /></td>
</tr>
<tr>
<td><div align="right">Contact No.:</div></td>
<td><input type="text" name="contact" /></td>
</tr>
<tr>
<td><div align="right">Username:</div></td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td><div align="right">Password:</div></td>
<td><input type="text" name="password" /></td>
</tr>
<tr>
<td><div align="right"></div></td>
<td><input name="submit" type="submit" value="Submit" /></td>
</tr>
</table>
</form>
</body>
</html>
我正在使用PHP将我的HTML页面连接到本地安装/配置的XAMPP服务器上的MySQL数据库。
我已将我的连接和数据存储逻辑划分为2个不同的.php
文件:
<?php
$mysql_hostname = "localhost";
$mysql_user = "amitesh";
$mysql_password = "amitesh";
$mysql_database = "sign_up_form";
$prefix = "";
$bd = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
mysqli_select_db($mysql_database,$bd) or die("Could not select database");
?>
<?php
session_start();
include('connection.php');
$fname=$_POST['fname'];
$lname=$_POST['lname'];
$mname=$_POST['mname'];
$address=$_POST['address'];
$contact=$_POST['contact'];
$username=$_POST['username'];
$password=$_POST['password'];
mysqli_query($bd, "INSERT INTO member(fname, lname, gender, address, contact, username, password)VALUES('$fname', '$lname', '$mname', '$address', '$contact','$username', '$password')");
header("location: index.php?remarks=success");
mysqli_close($bd);
在页面中插入数据后,当我点击&#34;提交&#34;它显示了code_exec.php
文件的代码,而不是将数据存储在MySQL中。
我确实看到了几篇有关此内容的StackOverflow帖子,但它们似乎都没有为我的问题提供可行的解决方案。
为什么会发生这种情况?
答案 0 :(得分:1)
如果页面上显示<?php
代码和实际网站代码,则只有两种情况:
由于您已确认XAMPP正在运行,我将介绍第二种情况,这是最有可能的。
在XAMPP安装中,您应找到名为htdocs
的文件夹。这个文件夹应该包含您所做的任何网站,以及所有的PHP代码 - 它充当您的网络服务器的根目录(如果您使用的是专用服务器,它相当于/var/www/html/
)。服务器仅处理该文件夹中包含的文件。
如果您的文件不在该文件夹中,请将其移入该文件夹中(并删除/移动到该目录中之前所有文件的其他文件夹)。
接下来,您只能在网络浏览器中打开这些文件 - 您必须通过本地托管的网站导航到这些文件。
转到网址127.0.0.1或localhost访问您当地托管的网站。这只能在您的计算机上访问,而XAMPP正在运行,并且它会在htdocs
文件夹中显示这些文档。您可以选择该列表中的文件来访问它,现在它应该在您的Web服务器上运行。
从现在开始,您可以非常轻松地使用本地Web服务器上的文件。当然,你的代码中仍然可能存在PHP错误(我快速检查过它 - 一切似乎都很好,但我可能错过了一些东西) - 如果是这样的话你会遇到调试问题,你总是可以问StackOverflow上的另一个问题!
作为奖励,您应该能够在运行XAMPP的情况下访问127.0.0.1/phpmyadmin/,以通过Web界面管理您的MySQL表和数据库。
答案 1 :(得分:0)
请注意,在这种情况下你不能使用php builtin服务器。因为你的index.php文件不是前端控制器。将您的代码复制到XAMPP htdocs目录中,并使用localhost / your_directory_name url访问您的代码。
并注意您的connection.php文件中有错误。
在mysqli_select_db()函数中,第一个参数是mysqli链接,第二个参数是dbname。
替换
mysqli_select_db($mysql_database,$bd) or die("Could not select database");
与
mysqli_select_db($bd, $mysql_database) or die("Could not select database");
答案 2 :(得分:0)
尝试建立这样的连接:
Mysqli_connect($ mysql_hostname,$ mysql_user,$ mysql_password,$ mysql_database)或死(mysqli_error)