2016-07-16 12 views
0

私のコードはlocalhost xamppで動作します。しかし、実際のサーバーにアップロードしてしまえば、動作しません。スクリプトは実際のサーバでは動作しませんが、localhost XAMPPで動作します。

私はそれがローダーを出力し、その後消えフォームと<div id="status"></div>

ジャバスクリプトで出力なし成功メッセージまたはエラーメッセージが提出したときに何

を出力するエラーもありません:

<script> 
    function _(id){ return document.getElementById(id); } 
    function submitForm(){ 
     _("bankbtn").disabled = true; 
     _("status").innerHTML = '<div class="progress"><div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"><span class="sr-only">Loading...</span></div></div><br />'; 
     var formdata = new FormData(); 
     formdata.append("bcountry", _("bcountry").value); 
     formdata.append("bname", _("bname").value); 
     formdata.append("baname", _("baname").value); 
     formdata.append("bno", _("bno").value); 
     formdata.append("bswift", _("bswift").value); 
     var ajax = new XMLHttpRequest(); 
     ajax.open("POST", "editbank_engine.php"); 
     ajax.onreadystatechange = function() { 
      if(ajax.readyState == 4 && ajax.status == 200) { 
       if(ajax.responseText == "success"){ 

        _("editbank").innerHTML = '<div class="alert alert-success"><h2>Changes has been saved</h2></div>'; 
       } else { 
        _("status").innerHTML = ajax.responseText; 
        _("bankbtn").disabled = false; 
       } 
      } 
     } 
     ajax.send(formdata); 
    } 
</script> 

HTML

は、
<div class="modal fade" id="edit" tabindex="-1" role="dialog"> 
    <div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
     <h4 class="modal-title">Edit</h4> 
     </div> 
     <div class="modal-body"> 

     <form id="editbank" onsubmit="submitForm(); return false;"> 
     <div id="status"></div> 
      <input class="form-control" type="text" value="<?php echo $bank['bank_country']?>" id="bcountry" placeholder="Bank Country" required=""/><br /> 
      <input class="form-control" type="text" value="<?php echo $bank['bank_name']?>" id="bname" placeholder="Bank Name" required=""/><br /> 
      <input class="form-control" type="text" value="<?php echo $bank['bank_accountname']?>" id="baname" placeholder="Bank Account Name" required=""/><br /> 
      <input class="form-control" type="text" value="<?php echo $bank['bank_no']?>" id="bno" placeholder="Bank Account No." required=""/><br /> 
      <input class="form-control" type="text" value="<?php echo $bank['bank_swiftcode']?>" id="bswift" placeholder="Bank Swift Code"/><br /> 

     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     <button id="bankbtn" type="submit" class="btn btn-primary">Save changes</button> 
     </div> 
     </form> 
    </div><!-- /.modal-content --> 
    </div><!-- /.modal-dialog --> 
</div><!-- /.modal --> 

php

<?php 
session_start(); 
include_once('../php/config.php'); 
include_once('../php/func.php'); 
if(
    isset($_SESSION['hotel_id']) && 
    isset($_POST['bcountry']) && 
    isset($_POST['bname']) && 
    isset($_POST['baname']) && 
    isset($_POST['bno']) && 
    isset($_POST['bswift']) && 
    !empty($_SESSION['hotel_id']) && 
    !empty($_POST['bcountry']) && 
    !empty($_POST['bname']) && 
    !empty($_POST['baname']) && 
    !empty($_POST['bno']) && 
    !empty($_POST['bswift']) 
){ 
    $update = $dbo->prepare('UPDATE bank_details SET bank_country=:bankcountry, bank_name=:bankname, bank_accountname=:bankaccountname, bank_no=:bankno, bank_swiftcode=:bankswift, active=0, last_updated=NOW() WHERE hid=:hid AND active = 1'); 
    $update->bindParam(':bankcountry', $_POST['bcountry'], PDO::PARAM_STR); 
    $update->bindParam(':bankname', $_POST['bname'], PDO::PARAM_STR); 
    $update->bindParam(':bankaccountname', $_POST['baname'], PDO::PARAM_STR); 
    $update->bindParam(':bankno', $_POST['bno'], PDO::PARAM_STR); 
    $update->bindParam(':bankswift', $_POST['bswift'], PDO::PARAM_STR); 
    //$update->bindParam(':active', '0', PDO::PARAM_STR); 
    $update->bindParam(':hid', $_SESSION['hotel_id'], PDO::PARAM_STR); 
    $update->execute(); 
    if($update->rowCount() == 1){ 
     echo 'success'; 
     //echo '<div class="alert alert-success"><b>Changes has been saved</b></div>' ;  
     //mail_log('-User '.$_SESSION['extranet_user'].' has updated his bank details at '.date(time(), 'Y/m/d H:i:s').''); 
    }else{ 
     echo '<div class="alert alert_danger"><strong>Error has occurred, You can only update once your account has been approved</strong></div>'; 
     //mail_log(' User '.$_SESSION['extranet_user'].' has run into an error via bank details at '.date(time(), 'Y/m/d H:i:s').''); 
    } 
} 
?> 
+2

実稼働ホストでエラー報告が抑止されている可能性があります。 PHPコードの先頭に 'error_reporting(E_ALL);'を挿入して、起こりうるエラーメッセージを確認してください。 – syck

答えて

0

私はこの問題を発見しました。私のphpmyadmin(実際のサーバ)の 私はid of 0のテストユーザを使って自分のフォームをテストしていました。なぜなら何らかの理由で1に変更して0に設定できないか、それ以外の場合は

関連する問題