2012-10-18 67 views
0

將我的PHP項目上載到Internet主機(000webhost.com)後,我得到一個保險。它在我的本地主機正常工作,但不在互聯網主機。這裏是我的代碼:JavaScript條件語句中的錯誤

//view.php (use a hidden iframe to received data after submitting) 
<form action="model.php" method="POST" target="my_iframe" id="my_form" style="display: none;"> 
       <input type="hidden" name="user" id="user" value=""/> 
       <input type="hidden" name="user_lastname" id="user_lastname" value=""/> 
       <input type="hidden" name="user_firstname" id="user_lastname" value=""/> 
      </form> 
<iframe name="my_iframe" id="my_iframe" style="display: none;"></iframe> 
<div id="sent">Sent</div> 
<srcipt type="text/javascript"> 
    jQuery('#sent').unbind('click').click(funtion(){ 
     jQuery('#user').val("an user name"); 
     jQuery('#user_lastname').val("a last name"); 
     jQuery('#user_firstname').val("a first name"); 
     jQuery('#my_form').submit(); 
     jQuery('#my_iframe').unbind('load').load(function(){ 
      if(jQuery(this).contents().text()!='success') 
       alert('Update failed'); 
      else 
       alert('Update successful'); 
     }); 
    }); 

</script> 

//model.php 
if(UpdateUser($_REQUEST['user'],$_REQUEST['user_firstname']),$_REQUEST['user_lastname'])==true) 
    echo 'success'; 
else 
    echo 'Fail in updating'; 

在我的本地主機,我得到一個消息「更新成功」,但在我的互聯網主機,我得到一個消息「更新失敗」。感謝您的進步。對不起,因爲我的英語不好。

---編輯---- 我改變了iframe的style =「display:block」來顯示它的內容。我看到iframe的內容是「成功」,但我仍然收到消息「更新失敗」。它的意思是:

+0

您在''中拼寫了「script」。但是我認爲它在真實劇本中是正確的,或者什麼都不會運行。 – Barmar

+0

您是否檢查過網絡服務器日誌以查看model.php是否正在運行? UpdateUser是否更新了它應該更新的內容? – Barmar

+0

UpdateUser正常工作。數據庫已正確更新。我如何檢查Web服務器日誌? –

回答

0

我更正了拼寫錯誤(在腳本的第一行中有另一個:函數拼寫「funtion」)。 jQuery腳本正在工作,所以問題必須與PHP頁面。也許000webhost在你的PHP頁面的輸出之前放置了一些輸出,或者這個更新失敗了。檢查PHP頁面的輸出。

+0

謝謝檢查我的拼寫錯誤。但我不明白「檢查出php頁面」的含義。我相信我的函數UpdateUser正常工作。 –

+0

我的意思是,即使您的UpdateUser函數正常工作,服務器可能會輸出「成功」以外的其他內容。由於您使用了$ _REQUEST,因此可以直接調用model.php並將參數作爲get值(model.php?user = abc)。這樣,你可以檢查model.php輸出是否正確(只應該是'成功' - 7個字符,不再是) – Moha

+0

謝謝很多。我通過使用trim()從iframe獲得的字符串解決了我的問題。 –