如果else语句和Java脚本编码问题
if else statement and java script coding problems
我的想法是系统会弹出一个框,显示是或取消,如果取消被选中,那么它不会存储在MYSQL数据库中,如果是,则存储在数据库中,现在的问题是它存储在数据库中,无论我点击是或取消,我该如何解决这个问题?
if(isset($_POST['submit'])){
if($favour=="Chocolate"and $topping=="Chocolate Chip"){
?>
<script type="text/javascript">
if(window.confirm("You have selected chocolate's favour and chocolate's topping, are you sure?")) { alert("You have apply successfully");window.location="index.php";
} else {
window.location="customization.php";
}
</script>
<?php
}
elseif($favour=="Fruit"and $topping=="Mix Fruit"){
?>
<script type="text/javascript">
if(window.confirm("You have selected Fruit's favour and Fruit's topping, are you sure?")) { alert("You have apply successfully");window.location="index.php";
} else {
window.location="customization.php";
}
</script>
<?php
}
mysql_query("INSERT INTO customization (cakesize,cfavour,topping, ccolor, cmessage,customizeMessage, C_date, Member_ID,status) VALUES ('$cakesize','$favour' ,'$topping', '$color' ,'$cmessage','$cumessage', '$date', '$uname','pending')");
}
?>
显然你有一个问题,那是JS和PHP的混合物,对代码的想法将不能很好地工作,你需要把它们分开。这样做:(你只需要根据你的需要来调整)
<?php
if(isset($_POST['submit'])){
extract($_POST);
$con = new mysqli('localhost', 'username', 'password', 'database');
$stmt = $con->prepare('
INSERT INTO customization (cakesize,cfavour,topping, ccolor, cmessage,customizeMessage, C_date, Member_ID,status)'
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)
);
$stmt->bind_param('sssssssis', $cakesize, $favour, $topping, $color, $cmessage, $cumessage, $date, $uname, 'pending');
$stmt->execute();
if($stmt->affected_rows > 0) {
// insert success!
echo '<script>alert("Success!");</script>';
}
}
?>
<form method="POST" name="form" onsubmit="handle_form()">
<!-- your input forms blah blah -->
</form>
<script type="text/javascript">
function handle_form() {
var favour = document.forms['form']['favour'].value;
var topping = document.forms['form']['topping'].value;
var message = '';
if(favour == 'Chocolate Chip' && topping == 'Chocolate Chip') {
message = 'You have selected chocolate's favour and chocolate's topping, are you sure?';
} elseif(favour == 'Fruit' && topping == 'Mix Fruit') {
message = 'You have selected Fruit's favour and Fruit's topping, are you sure?';
}
if(confirm(message)) {
document.getElementsByName('form').submit();
} else {
window.location = "customization.php";
}
}
</script>
旁注:你有sql注入倾向,使用mysql或PDO,使用参数化语句。
相关文章:
- 以纯文本加载的脚本-未声明纯文本文档的字符编码
- 在应用程序脚本中将 base64 编码的图像与 HtmlService 一起使用
- 谷歌应用程序脚本和JavaScript中base64编码的不同结果
- JSON编码数据未解析到PhP脚本中的JqPlot图表
- 在 Java 脚本中使用追加时 HTML 标记不起作用,但在执行硬编码时 html 代码工作正常
- Windows媒体编码器9插入(链接,脚本)处理
- 使用 HTML 脚本标记在它们具有源代码时进行编码
- 函数.php当变量未硬编码时脚本中断
- 如何避免在 js/ajax 脚本中对应用程序上下文路径进行硬编码
- 避免仅使用前端脚本对 Google 进行地理编码的多次请求
- 在c#中使用带有远程脚本的类时更改编码
- 如何在java脚本中对非ascii字符进行编码
- java脚本字符串的正确编码方式
- 改变java脚本函数的编码
- 如果else语句和Java脚本编码问题
- 使用Java脚本格式化输入类型的编码
- 如何在jquery/脚本传递用户输入数据?我正在使用编码器PHP框架
- 为什么fs.readFileSync编码单引号内的脚本标签为"
- 如何编码这个脚本
- 如何编码一个脚本,可以扫描在我的网站的链接,并产生缩略图;就像Facebook一样