Php Dropbox不返回值
在这个程序中,get data方法似乎不正确,您能看到当用户与下拉框交互时,是什么导致下拉框中没有填充内容吗 更新get_数据类确实有效,感谢您的反馈Php Dropbox不返回值,php,html,sql,Php,Html,Sql,在这个程序中,get data方法似乎不正确,您能看到当用户与下拉框交互时,是什么导致下拉框中没有填充内容吗 更新get_数据类确实有效,感谢您的反馈 <?php require("db.php"); include("functions.php"); if(isset($_POST['submit'])) { $Date = date('Y-m-d H:i:s'); $FirstName = $mysqli->real_es
<?php
require("db.php");
include("functions.php");
if(isset($_POST['submit']))
{
$Date = date('Y-m-d H:i:s');
$FirstName = $mysqli->real_escape_string($_POST['FirstName']);
$LastName = $mysqli->real_escape_string($_POST['LastName']);
$Rating = $mysqli->real_escape_string($_POST['Rating']);
$Comment = $mysqli->real_escape_string($_POST['Comment']);
$sql = "INSERT INTO guest(GuestID, FirstName, LastName, PostcodeFK, Email, Date, Rating,Comment)"
." VALUES ('', '$FirstName', '$LastName', '$Postcode', '$Email', '$Date', '$Rating', '$Comment')";
if($mysqli->query($sql)==TRUE)
{
echo "<script>alert('Record Added.'); location.href='customers.html'</script>";
}else{
echo "<script>alert('Error'); location.href='#'</script>";
}
function get_data($mysqli)
{
$sql="SELECT `MealOption` FROM menu";
$result=$mysqli->query($sql);
while ($row=$result->fetch_assoc())
{
echo "<option value='". $row['MealOption'] . "'>". $row['MealOption'] ."</option>";
}
}
}
?>
<html>
<body>
<form action="" method="post">
First Name: <input type="text" name="FirstName" require/><br>
Last Name: <input type="text" name="LastName" require/><br>
Postcode: <input type="number" name="Postcode" require/><br>
Email: <input type="email" name="Email" require/><br>
<button class="btn" onclick="get_data(Meal);">Add</button>
<label for="Meal">Meal:</label>
<select name="Meal">
<?php
//echo get_data($mysqli);
?>
</select><br>
Rating: <input type="number" name ="Rating" min="1" max="5" require/><br>
Comment: <input type="text" name ="Comment"><br>
<input type="submit" name="submit">
</form>
</body>
</html>
使用函数get_datamean的Add不能调用php函数
<?php get_data($mysqli); ?>
因此,您必须创建一个javascript函数get_data,例如通过ajax请求信息
你应该从那个家伙那里拿回你的钱。你需要将get_data函数移出if语句。我可以帮你
if(isset($_POST['submit']))
{
$Date = date('Y-m-d H:i:s');
$FirstName = $mysqli->real_escape_string($_POST['FirstName']);
$LastName = $mysqli->real_escape_string($_POST['LastName']);
$Rating = $mysqli->real_escape_string($_POST['Rating']);
$Comment = $mysqli->real_escape_string($_POST['Comment']);
$sql = "INSERT INTO guest(GuestID, FirstName, LastName, PostcodeFK, Email, Date, Rating,Comment)"
." VALUES ('', '$FirstName', '$LastName', '$Postcode', '$Email', '$Date', '$Rating', '$Comment')";
if($mysqli->query($sql)==TRUE)
{
echo "<script>alert('Record Added.');location.href='customers.html'</script>";
} else {
echo "<script>alert('Error'); location.href='#'</script>";
}
}
function get_data($mysqli)
{
$sql="SELECT `MealOption` FROM menu";
$result=$mysqli->query($sql);
while ($row=$result->fetch_assoc())
{
echo "<option value='". $row['MealOption'] . "'>". $row['MealOption'] ."</option>";
}
}
对于html使用,您需要在使用php函数之前添加php标记
<?php get_data($mysqli); ?>
您的代码对于XSS攻击不安全-这可能是导致问题的原因,例如,如果您的用餐选项包含撇号 尝试更改此行:
echo "<option value='". $row['MealOption'] . "'>". $row['MealOption'] ."</option>";
echo "<option value='". htmlspecialchars($row['MealOption'],ENT_QUOTES) . "'>". htmlspecialchars($row['MealOption']) ."</option>";
关于这一行:
echo "<option value='". $row['MealOption'] . "'>". $row['MealOption'] ."</option>";
echo "<option value='". htmlspecialchars($row['MealOption'],ENT_QUOTES) . "'>". htmlspecialchars($row['MealOption']) ."</option>";
什么是不工作?当代码运行时会发生什么?@Cristik有一个下拉框,应该通过get_data函数填充它。这就是它的样子,其他一切都很好,只是菜单框付费让它检查,他说它应该工作,所以你问其他人,而不是检查它?你从别人那里得到钱让别人检查?你是说你付钱让别人检查?包含函数get_dataobj的Javascript在哪里?最后一句话中出现了单词“scammed”+1。一般来说,如果这个家伙不得不检查代码,并且不得不说什么是坏习惯,告诉OP他应该做什么不同的事情等等,他肯定不知道自己在做什么,他确实是个骗子。