2014-02-13 6 views
0

У меня есть этот сценарий автозаполнения fron jquery. Он извлекает данные из базы данных и затем отображается пользователю, когда пользователь нажимает на определенный результат. Он переводится на страницу: - page.php? Id = (идентификатор получен через выборку в автозавершение)..htaccess не перенаправляет правильно

У меня есть .htaccess перенаправление, которое было, чтобы работать следующим образом. Предположим, что идентификатор равен 2, затем он автоматически перенаправляется на продуктов/2. Но по какой-то причине он, похоже, не работает.

Вот автозаполнения: -

<script> 
    $(function() { 
    function log(message) { 
     $("<div>").text(message).prependTo("#log"); 
     $("#log").scrollTop(0); 
    } 

    $("#birds").autocomplete({ 
     source: "search.php", 
     minLength: 2, 
     select: function(event, ui) { 


     log(ui.item ? "Selected: " + ui.item.value + " aka " + ui.item.label : 
      "Nothing selected, input was " + this.actor); 
     window.location.href = 'product_display.php?id=' + ui.item.value; 
     // document.testForm.action = "pretravel.php?id="+ui.item.value; 
     //document.testForm.submit(); 
     } 
    }); 
    }); 



    </script> 

.htaccess

RewriteRule ^products/(.+)$ product_display.php?id=$1 [L,QSA] 

product_display.php страница

<?php 
include 'dbconnector.php'; 
$id=$_GET['id']; 
$id=htmlspecialchars($id); 
$query = "SELECT productname from products where productid = '" . $id . "' order by productname"; 
$result=mysql_query($query,$db) or die (mysql_error($db)); 
$row=mysql_fetch_assoc($result); 
echo $row['productname']; 

?> 

Любые предложения приветствуются.

ответ

1

Это ваш Javascript опечатка, изменить этот

window.location.href = 'product_display.php?id=' + ui.item.value; 

Для

window.location.href = './product_display.php?id=' + ui.item.value; 

Тогда только полный URL приходит. [Update] Ваше правило переписывают, как это

RewriteRule ^products/(.+)$ product_display.php?id=$1 [L,QSA] 

Так вы URL должны прийти как этот

// sample url http://example.com/products/{id} 
//then code must be 
window.location.href = './products/' + ui.item.value; 

[обновление] Попробуйте использовать MySQLi вместо MySQL к подключите базу данных для обеспечения безопасности.

+0

Кажется, что не работает. Все еще перенаправляется на product_display.php? Id = id при нажатии. – Ankur

+0

Извините еще одну ошибку. Позвольте мне обновить – Sanoob

+0

Несомненно, что-то связанное. – Ankur

Смежные вопросы