php、mysql、javascript下拉列表

php、mysql、javascript下拉列表,php,javascript,jquery,mysql,ajax,Php,Javascript,Jquery,Mysql,Ajax,我是新的编码,没有线索。我设法从这个网站上抓取了这个脚本 我修改了标题和字段输入,以符合我的项目需求,而不是演示中使用的需求。我设法在我的项目中参考下拉列表来实现这一点 我现在遇到的问题是,在客户选择下拉列表并单击submit按钮后,如何使脚本接受这些值并将其输入数据库 如果有更好的方法重写这些代码? 求你了,我需要帮助。谢谢大家! 下面是我在“get_child_categories.php”文件中得到的代码: --子类别-- 还请注意,在最后选择所有下拉列表后,始终会显示“未找到记录”。

我是新的编码,没有线索。我设法从这个网站上抓取了这个脚本

我修改了标题和字段输入,以符合我的项目需求,而不是演示中使用的需求。我设法在我的项目中参考下拉列表来实现这一点

我现在遇到的问题是,在客户选择下拉列表并单击submit按钮后,如何使脚本接受这些值并将其输入数据库

如果有更好的方法重写这些代码? 求你了,我需要帮助。谢谢大家!

下面是我在“get_child_categories.php”文件中得到的代码:


--子类别--
还请注意,在最后选择所有下拉列表后,始终会显示“未找到记录”。如何解决此问题以显示提交前满足了所有标准

这是“booking.php”表单:


侏罗纪之旅/预订表格
$(文档).ready(函数(){
//$(“#加载程序”).hide();
$('.parent').livequery('change',function(){
$(this.nextAll('.parent').remove();
$(this.nextAll('label').remove();
$('show#u sub_categories')。追加('');
$.post(“get_chid_categories.php”{
父项id:$(this).val(),
},功能(回应){
setTimeout(“finishAjax('show_sub_categories','”)+转义(响应
)+"')", 400);
});
返回false;
});
});
函数finishAjax(id,响应){
$(“#加载程序”).remove();
$('#'+id).append(unescape(response));
} 
.h4{字体系列:Arial,Helvetica,无衬线;边距:0px;字体大小:14px;}
#搜索\u类别\u id{填充:3px;宽度:200px;}
.parent{padding:3px;width:150px;float:left;margin-right:12px;}
.两个{浮点:左;边距:0 0px 0;填充:0 px;}
  • 请预订



预订表单从数据库中的tour表中获取数据,其中tour、destination和duration都取决于所选的下拉列表。 这是处理部分,我不知道怎么做后,提交按钮被按下,所以我留下它空白!我可以恢复的唯一数据是customer表中的主键,如下所示

      <?php
//When submit button is pressed.
if (isset($_POST['submit'])) {

//Include the server and database connection. 
include('cn.php');

session_start();


$userUsername = $_SESSION['loggedInUser'];

// Build the SQL query to retreive the variables ($) and input the data into the database.
$sql = "INSERT INTO booking   
      (user_id) 
    VALUES ((SELECT user_id FROM user WHERE user_username =  
                         '" . $userUsername . "'))";

// test the sql statement.
if(!mysql_query($sql,$cn)) {
die(mysql_error($cn));

}
// direct to this page when booking is successful.
header('Location: booking_success.php');
}

?>

我猜您永远不会到达表单处理程序,因为您的表单页面中没有任何
标记

您需要:

<form action="your_form_processor.php" method="post">
  // your form fields
</form>

//您的表单字段
让它发挥作用

除此之外,您还需要切换到PDO(或mysqli)并准备好语句,因为您的代码容易受到sql注入的攻击


在开发代码时,还应删除所有
@
错误抑制运算符。

。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果选择PDO,。请注意:当您将用户输入的值直接传递到查询中时,您的代码容易受到SQL注入的攻击。请参阅:。这些脚本将仅用于项目,而不会在公共internet上实现。我只是需要一些东西来让这个项目工作。@kev Public或private与您的sql注入问题无关,一个包含
字符(如O'Donnel或其他)的简单名称将破坏您的应用程序。很抱歉,我对您刚才描述的内容一无所知。我在一周内才学会了编码,我希望能完成这样一个项目,直到毕业。在军队里,我们学习东西和期望把它做好的方式是不同的。我已经试着自学了两周,同时也在努力做这个项目。这让我很困惑,因为我正在运行我们的时间,我看到的所有教程都一无所获。我已经设法将这些内容包括在预订表中。所以我编辑了上面的脚本来展示这一点。
      <?php
//When submit button is pressed.
if (isset($_POST['submit'])) {

//Include the server and database connection. 
include('cn.php');

session_start();


$userUsername = $_SESSION['loggedInUser'];

// Build the SQL query to retreive the variables ($) and input the data into the database.
$sql = "INSERT INTO booking   
      (user_id) 
    VALUES ((SELECT user_id FROM user WHERE user_username =  
                         '" . $userUsername . "'))";

// test the sql statement.
if(!mysql_query($sql,$cn)) {
die(mysql_error($cn));

}
// direct to this page when booking is successful.
header('Location: booking_success.php');
}

?>
<?php
if (!empty($_GET['tour_id']) && !empty($_GET['value'])) {

$id = $_GET['tour_id'];
$value = $_GET['value'];

try {

$objDb = new PDO('mysql:host=localhost;dbname=jurassicbase', 'root', '');
$objDb->exec('SET CHARACTER SET utf8');

$sql = "SELECT * 
FROM `categories`
WHERE `master` = ?";

$statement = $objDb->prepare($sql);
$statement->execute(array($value));
$list = $statement->fetchAll(PDO::FETCH_ASSOC);

if (!empty($list)) {

$out = array('<option value="">Select one</option>');

foreach($list as $row) {
$out[] = '<option value="'.$row['tour_id'].'">'.$row    
['name'].'</option>';
}

echo json_encode(array('error' => false, 'list' => implode('', $out)));

} else {
echo json_encode(array('error' => true));
}

} catch(PDOException $e) {
echo json_encode(array('error' => true));
}

} else {
echo json_encode(array('error' => true));
}   
<form action="your_form_processor.php" method="post">
  // your form fields
</form>