[英]Script not working in actual server but works in localhost XAMPP
[英]php script isn't working on server while works on localhost [xampp]
在xampp上运行时,此代码有效,但在Web服务器上仅出现空白页。 请帮忙 !
PHP版本:Xampp:7.2.7服务器:7.1.18
<?php
require_once("config.php");
$bar=$conn->query("SELECT DATE_FORMAT(date,'%m')as mn,sum(amount)as am FROM
ENTRY WHERE sale_status='paid' OR sale_status='in process' AND YEAR(date) =
YEAR(CURDATE()) GROUP BY mn");
while($arr=$bar->fetch_assoc()){
$arry[array_shift($arr)]=$arr['am'];
}
$bar2=$conn->query("SELECT DATE_FORMAT(date,'%m')as mn,sum(amount)as am FROM ENTRY WHERE sale_status='chargeback' OR sale_status='refund' OR sale_status='fraud' OR sale_status='adjusted' AND YEAR(date) = YEAR(CURDATE()) GROUP BY mn");
while($arr2=$bar2->fetch_assoc()){
$arry2[array_shift($arr2)]=$arr2['am'];
}
$arr3=array();
for($i=1;$i<=12;$i++){
if(!array_key_exists(sprintf("%02d",$i), $arry)){
$arry[sprintf("%02d",$i)]="0";
}
if(!array_key_exists(sprintf("%02d",$i), $arry2)){
$arry2[sprintf("%02d",$i)]="0";
}
echo $arry[sprintf("%02d",$i)]-$arry2[sprintf("%02d",$i)].",";
}
?>
您应该使用event.preventDefault();
<script type="text/javascript">
function alert(event){
event.preventDefault();
$.ajax({
method: "POST",
url: "../enq.php",
data:$('#eform').serialize() + "&uname=<?=$u_name?>&pname=<?=$titlename?>&link=<?=$splink?>",
success: function(msg) {
if(msg!=""){
alert("Query Successfully sent !");
}
else{
alert("Some Error");
}
}
}); }
</script>
通过在表单的onsubmit
属性内返回false来防止提交。 还将自定义函数alert()
重命名为其他名称,以免与同名的js本机函数混淆。
尝试:
<form method="post" id="eform" onsubmit="return alert2();">
Name<input type="text" name="name" required>
URL<input type="text" name="link" required>
<button type="submit" value="submit">Submit Me</button>
</form>
和
<script type="text/javascript">
function alert2(){
$.ajax({
method: "POST",
url: "enq.php",
data:$('#eform').serialize() + "&uname=<?=@$u_name?>&pname=<?=@$titlename?>",
success: function(msg) {
if(msg!=""){
alert("Query Successfully sent ! Msg: " + msg);
}
else{
alert("Some Error");
}
}
});
return false;
}
</script>
使用event.preventDefault()和event.stopPropagation()防止提交时重新加载页面。 event.stopPropagation()将在Firefox浏览器上运行。
如下更改表单属性:
<form method="post" id="eform" name="eform" onsubmit="alert()">
Name<input type="text" name="name" required>
URL<input type="text" name="link" required>
<button type="submit" value="submit"></button>
</form>
并编写如下的javascript:
$('form[name=eform]').on('submit', function(event){
event.preventDefault();
event.stopPropagation();
$.ajax({
url: '../enq.php',
type: 'POST',
dataType: 'json',
data: $(this).serialize(),
success: function(result){
// your success script
},
error: function(jqXHR, textStatus){
// your error scripts
}
});
});
不要使用按钮类型作为提交,使用类型按钮或使用锚标记并放置一些CSS以将其视为按钮。当您使用按钮类型作为提交时,它使用的是不带js的普通表单提交。
<button type="button" onClick="save()" value="submit"></button>
而且也不要使用警报功能,它已经在Js中定义了功能。 使用类似保存的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.