【问题标题】:Simple form wont post to mysql简单的表单不会发布到 mysql
【发布时间】:2017-11-21 08:18:06
【问题描述】:

简直迷路了...我一直在网上寻找答案,但我不明白为什么我的代码不会发布到我在 WAMP 服务器上已在本地安装的 MySQL 数据库中? 当我尝试测试它是否从表单中获取任何内容时,它也不会回显结果。

这是我的代码,它是使用 php 将其插入数据库的简单形式。 数据库表有ID(Auto Increment)、Fname、Lname、Barcode。

<!DOCTYPE html>
<HTML>
<HEAD>
<meta charset="UTF-8">
<TITLE>Testing Barcode Reader</TITLE>
<style type="text/css">
#body {margin: 0px; }
#pageTop {
height: 90px;
background: grey;
padding: 10px;
}
#pageMiddle {
padding: 20px;
height: 250px;
}
#pageBottom {
padding: 20px;
height: 90px;
}
</style>
<?php
if (isset($_POST['submit'])){
$f = $_POST['fname'];
$l = $_POST['Lname'];
$b = $_POST['barcode'];

$db_conx = mysqli_connect('localhost', 'root', 'password');
mysqli_select_db($db_conx,'barcode_test');

$sql = "INSERT INTO barcode (Fname, Lname, Barcode) VALUES ('$f','$l','$b')";
$query = mysqli_query($db_conx, $sql);
}
?>
</HEAD>
<BODY>

<div id="pageTop">
<h1>Testing Barcode Reader</h1>
</div>
<div id="pageMiddle">
<div>

<form action="form.php" method="post">
<div>First Name:</div>
<input name="fname" type="text"  /></br></br>
<div>Last Name:</div>
<input name="Lname" type="text"  /></br></br>
<div>Barcode:</div>
<input name="barcode" type="text"  /></br></br>
<div>Submit Button:</div>
<input name="submit" type="submit" value="Submit"/>
</form>

</div>
</div>
<div id="pageBottom">form for testing barcode reader inputs into mysql database</div>
<?php echo($f);
?>


</BODY>
</HTML>

感谢您提供的任何建议,因为我开始相信我的 WAMP 服务器设置存在问题,因为即使我从 Internet 复制并粘贴了带有数据库连接设置设置的简单表单,它仍然不会发布还是回声?

【问题讨论】:

  • 了解prepared Statements以防止SQL注入
  • 为了清楚起见,您问题中的代码是form.php?
  • 检查isset($_POST['submit']是否返回true
  • 然后打印出 $sql 并手动尝试验证它是否符合您的预期。
  • 嗨,Jen,我如何检查它是否属实?

标签: php html mysql


【解决方案1】:

php 是否还在您的服务器上工作?测试这一点的最佳方法是使用此代码创建一个文件,并且仅在其中包含此代码:

<?php phpinfo(); ?>

如果上述方法不起作用,php 在您的服务器上无法正常工作。

还可以使用localhost/filename.php 或类似名称检查您是否要访问该站点。

【讨论】:

  • @MichaelFrost 您是否使用 localhost 而不是 C://filename//file.php 访问该站点?
  • 我一直在使用 notepad++ 并将 form.php 保存在 wamp 服务器的 www 文件夹中,然后使用 notepad++ 中的运行菜单启动并运行它。
  • 对,我按照 KittyCat 的建议进入了浏览器,我检查了它是 //filename//file.php 所以我去把它改成了localhost/form.php,php 似乎正在呼应它现在的工作所以我只需要找出它为什么不将数据发送到 mysql
  • 让它工作了,非常感谢 KittyCat 我以为我疯了
  • @MichaelFrost 没问题,您的代码很好,但html 标签请使用小写。
猜你喜欢
  • 2014-01-24
  • 2013-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多