2017-03-20 29 views
2

如果輸入的值已經存在於數據庫中,我試圖將用戶重定向到現有的URL(存儲在MySQL數據庫中)。我有大多數它的工作,但我遇到了一些問題。如果數據庫中存在輸入,則重定向到URL

我使用AJAX來檢查數據庫。它將輸入值發送到另一個PHP文件&檢查數據庫以查看它是否已經存在。

if($row) { 
    echo ".$row["itemNum"]."; 
} else { 

} 

這是我有問題的AJAX代碼中,尤其是這樣的:

success: function (response) { 
    if (response == <?php ".$row["itemNum"]." ?>) { 
     window.location.href = "http://www.example.com/" <?php echo "+"; if (".$row["itemNum"].") { echo ".$row["itemNum"]." } else {""} 
    } else { 
     // do other stuff 
    } 
} 

$row["itemNum"]並不總是存在的,所以這是一個條件語句,以防止出現語法錯誤。

無論我如何做,以上都不起作用。

我有一個感覺,主要問題是與if (response == <?php ".$row["itemNum"]." ?>)線?

+0

嘗試刪除你的'回聲()。「; 'line like:'window.location.href =「http://www.example.com/ <?php if($ row [」itemNum「]){echo $ row [」itemNum「]; };' –

+0

您可能還想將'if(response == <?php「。$ row [」itemNum「]。」?>)''改爲'if(response =='<?php「。$ row [ 「itemNum」]。「?>')',即圍繞回顯值添加撇號。 – mrun

+0

你不能混合php(服務器端)和js(客戶端) – Sojtin

回答

3

基於此代碼: -

if($row) { 
    echo $row["itemNum"]; // check the change here 
} else { 

} 

你必須這樣做: -

success: function (response) { 
    if (response !== '') { // if response have some value 
     window.location.href = "http://www.example.com/"+response; 
    } else { 
     // do other stuff 
    } 
} 
0

當你懷疑你有以下線的問題。

if (response == <?php ".$row["itemNum"]." ?>) { 

問題是你的(「)使用+ 」和字符

以下語法會給你想要的東西

if (response == <?=$row["itemNum"]?>) { 
相關問題