![](/img/trans.png)
[英]Retrieving HTML dynamic form fields data and saving to MySQL database
[英]html sign up form not saving data in mysql
我写了一个非常基本的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);
在页面中插入数据后,当我单击“提交”按钮时,它将向我显示code_exec.php
文件的代码,而不是将数据存储在MySQL中。
我确实看到了几个有关此的StackOverflow帖子,但是似乎没有一个可以为我的问题提供有效的解决方案。
为什么会这样呢?
如果<?php
标签和实际的网站代码显示在页面上,则只有两种情况:
由于您已经确认XAMPP正在运行,因此我将介绍最有可能的情况二。
在XAMPP安装的内部,您应该找到一个名为htdocs
的文件夹。 该文件夹应包含您创建的所有网站及其所有 PHP代码-它充当Web服务器的根目录(如果使用专用服务器,则它等效于/var/www/html/
)。 服务器仅处理该文件夹中包含的文件。
如果您的文件不在该文件夹内,请将其移至其中(并将该目录中先前存在的所有文件删除/移动到其他文件夹中)。
接下来,一旦将文件放在文件夹中,就不能在网络浏览器中打开这些文件-您必须通过本地托管的网站导航到这些文件。
转到URL 127.0.0.1或localhost来访问本地托管的网站。 仅当XAMPP运行时,您才能在计算机上访问此文件,并且它会在htdocs
文件夹中显示文档。 您可以在该列表中选择一个文件来访问它,该文件现在应该在您的Web服务器上运行。
从现在开始,使用本地Web服务器上的文件应该相当容易。 当然,您的代码中仍然可能存在PHP错误(我迅速检查了它-一切似乎都很好,但是我可能错过了一些东西)-如果是这种情况,并且您陷入调试的困境,您总是可以询问另一个关于StackOverflow的问题!
另外,您应该能够运行XAMPP来访问127.0.0.1/phpmyadmin/ ,以通过Web界面管理MySQL表和数据库。
请注意,在这种情况下,您不能使用php内置服务器。 因为您的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");
尝试像这样建立连接:
Mysqli_connect($ mysql_hostname,$ mysql_user,$ mysql_password,$ mysql_database)或die(mysqli_error)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.