当前位置: 首页 > 知识库问答 >
问题:

数据不会从超文本标记语言表单传递到数据库

栾和玉
2023-03-14

我是PHP新手,不知道自己做错了什么。我可以打开html表单并提供数据,但当我点击submit时,它会显示php代码,并且数据库(显然)没有更新。我已经尝试过通过phpMyAdmin手动将值插入表中,并且效果很好。我在网上看过,但我的语法看起来不错。我做错什么了吗?如果错误不太明显,是否有有效的调试方法(即查看错误)?

我有超文本标记语言代码

<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Hotel Start Page</title>
</head>

<body>
<form action="customerCreate.php" method="post">
<fieldset><legend>Enter your information in the form below:</legend>
<header align="center">   <b>Customer Sign Up</b></header>
<p><b>Surname:            </b><input type="text" name="surname" size="30" maxlength="40"/></p>
<p><b>Name:               </b><input type="text" name="name" size="30" maxlength="40"/></p>
<p><b>E-mail:             </b><input type="text" name="email" size="30" maxlength="40"/></p>
<p><b>Telephone:          </b><input type="text" name="tel" size="30" maxlength="10"/></p>
<p><b>Password:           </b><input type="password" name="passwd" size="30" maxlength="10"/></p> 
</fieldset>
<div align="center"><input type="submit" name="submit" value="Create Account"/></div>
</form>

</body>

这是PHP代码

<?php

 $host = 'localhost';
 $username = 'root';
 $password = '';
 $db = 'my_hotel';

 $conn = new mysqli($host,$username,$password,$db);

if ($conn->connect_error) {
  die("Connection Error: " .$conn->connect_error);
}

$sname = $_POST['surname'];
$name = $_POST['name'];
$email = $_POST['email'];
$tel = $_POST['tel'];
$passwd = $_POST['passwd'];

$sql = "INSERT INTO Customer (sname, name, email, tel, passwd) VALUES 
(?,?,?,?,?)";

$stmt = $conn->prepare($sql);
$stmt->bind_param("sssss",$sname,$name,$email,$tel,$passwd);
$stmt->execute();

$cid = "SELECT cid FROM Customers WHERE sname='$sname' AND passwd='$passwd' ";
$result = $conn->query($cid);
$row = $result->fetch_assoc();

echo "Customer Added.<br>";
echo "Your Customer ID is ".$row['cid'];

$stmt->close();
$conn->close();

?>

这张表位于phpMyAdmin的数据库My_hotel中

CREATE TABLE Customer (
   cid INT AUTO_INCREMENT,
   sname VARCHAR(15),
   name VARCHAR(15),
   email VARCHAR(15),
   tel VARCHAR(15),
   passwd VARCHAR(15),
   PRIMARY KEY (cid)
);

共有1个答案

蒯慈
2023-03-14

如果您得到php代码,则必须是您的应用程序不在web服务器中,因此浏览器会下载源文件。您应该将您的文件复制/同步到(可能)/var/www/html

看看这个:http://thisinterestsme.com/php-displayed-in-browser/

 类似资料:
  • 我在将一些客户端数据表逻辑迁移到服务器端时遇到了一些困难。 我当前的问题是,对于Datatables,如果要对一大组数据(20000行)进行分页,我首先需要加载控制器中的所有行,然后将它们传递给视图: 然后,在加载所有内容和Datatables将记录分页为500页之前,需要等待大约2分钟: 我更改了Datatables声明,以通过处理服务器端处理,如下所示: 让它按我所希望的方式工作非常顺利,但问

  • 简介:我必须在没有任何框架或外部库的帮助下,使用JSP、Java、Javascript和JQuery为大学课程创建一个webapp。在这个webapp中,我们必须实现一个类似日历的表格,它显示您的课程,存储在数据库中。因此,我创建了一个包含许多单元格的表,每个单元格都有自己的id,几乎每个单元格都有自己的onclick处理程序,它将您引导到一个页面,您可以在该页面中创建/编辑或删除课程。 问题:我

  • 我正在使用ITextRenderer从html生成PDF。然而,我得到以下异常: 你能帮帮我吗? 任何帮助都将不胜感激。 先谢谢你。

  • 我正在使用一个表在Jaspersoft Studio 5.6.1中创建简单的报告。 通过 JRBeanCollectionDataSource 从 Java 向此报告发送数据。 在报告中,我已经可以获取此数据 vie 字段:报告- 现在我可以显示输入的数据了。 但如果我想在表中执行,我需要创建数据集(为什么?)并选择“使用用于填充主报告的相同连接”。将相同的字段添加到新数据集没有帮助,也没有为数据

  • 我必须说我在这方面绝对是个新手。我正在编写一个带有表格的小xslt演示文件,我想根据内容更改单元格或行的背景色(两者都可以,但我更喜欢只更改单元格背景)。 示例:RATING="GOOD""MEDIUM""BAD";根据它的值,我希望背景是绿色、黄色或红色。 我当前的表格代码: 提前感谢您 --编辑——我的问题已由@Yaakov Ainspan回答,并由@Ruud解决,他为我提供了我所缺少的代码。

  • 这是我的代码: 我正在从数据库中提取信息并将它们放入表中各自的列中。所以它看起来像:|课程---部分---(按钮)| 当我让用户单击提交按钮时,我希望能够传递整行的数据。我尝试过以这种方式隐藏输入: 这只会导致一些奇怪的表格格式,并且不起作用。