我的想法是填写HTML表单中的条目,然后将信息保存到数据库(phpmyadmin)。然后在谷歌地图上显示信息(导出)。
但由于语法和逻辑问题,它不起作用。
我的 HTML 表单:
<html>
<head></head>
<body>
<form method="POST" action="../BackEnd/ShopSetup.php" name="Setup">
<td>Name</td>
<td>
<input type="text" name="name"></td>
</tr>
<tr>
<td>type</td>
<td>
<input type="varchar" name="type"></td>
</tr>
<tr>
<td>Address</td>
<td>
<input type="text" name="address"></td>
</tr>
<tr>
<td>Email</td>
<td>
<input type="email" name="email"></td>
</tr>
<tr>
<td>Phone Number</td>
<td>
<input type="varchar" name="phone"></td>
</tr>
<tr>
<td>longitude</td>
<td>
<input type="float" name="long"></td>
</tr>
<tr>
<td>latitude</td>
<td>
<input type="float" name="lat"></td>
</tr>
<tr>
<td>Opening Hour</td>
<td>
<input type="varchar" name="opening"></td>
</tr>
<tr>
<td>Closing Hour</td>
<td>
<input type="varchar" name="closing"></td>
</tr>
<tr>
<td>
<input id="button" type="submit" name="submit" value="Setup"></td>
</tr>
<tr></tr>
</form>
</body>
</html>
我在后端的PHP页面:
商店设置.php
<?php include ("../Connections/Connection.php"); if (isset($_POST["submit"])) { $name = $_POST["name"]; $type = $_POST["type"]; $address = $_POST["address"]; $email = $_POST["email"]; $phone = $_POST["phone"]; $long = $_POST["long"]; $lat = $_POST["lat"]; $opening = $_POST["opening"]; $closing = $_POST["closing"]; $sql = "INSERT INTO locations (name, type, address, email, phone, long, lat, opening, closing) VALUES('$name', '$type', '$address', '$email', '$phone', '$long', '$lat', '$opening', '$closing')"; $query = mysql_query($sql); if (!$query) { die ("Error : " . mysql_error()); } if(empty($name) || empty($type) || empty($address) || empty($email) || empty($phone) || empty($long) || empty($lat) || empty($opening) || empty($closing)) { echo "You did not fill out the required fields."; die(); // Note this } echo "<center></center>"; } ?> <h1> Your order is complete!</h1> <p class="intro-text">You will see your shop on the map soon<br></p> <center> <h3> <a href="../index.php"> go to home page </a></h3> </center>
但是当我提交表格时,我得到:
错误:您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,了解在'long,lat,open,closesing)附近使用的正确语法第 1 行的值("
"、"、"、")"
保存打开/关闭时间的最佳 HTML 属性是什么:周、天、小时、分钟、秒?
您应该在列名两边使用反引号 (')。这样:
$sql = "INSERT INTO locations (`name`, `type`, `address`, `email`, `phone`, `long`, `lat`, `opening`, `closing`)
VALUES('$name', '$type', '$address', '$email', '$phone', '$long', '$lat', '$opening', '$closing')";
建议对表名和列名使用反引号,但在使用保留关键字(如 long
)时必须使用反引号。
有关详细信息,请查看此讨论。
关于你的第二个问题,看看HTML5 datetime
输入类型。请注意,并非所有浏览器都支持它