2012-02-02 2 views
1

В моей .php-файл, я делаю следующее:цель после того, как PHP вызова

<a href="php/make_favorite.php" title="sn" alt=" Favorit " target="_self"><img src="image.jpg" width="40" height="30" alt="Zgen"></img></a></br> 

Так что, если кто-то нажимает на это изображение, я называю PHP и фактический рецепт будет отмечен как любимый. Теперь, когда я нажимаю на него, я добираюсь до файла php/make_favorite.php.

Но я хочу, чтобы пользователь не видел php-файл, он должен оставаться на одной странице и видеть сообщение об ошибке или успехе.

Как мне это сделать?

+4

Javascript Ajax вызов или перенаправить обратно –

+0

Возможно Ajax запрос, в противном случае пользователь увидит некоторую задержку и дальше будет приземлиться на вершине страница :) – tim

+0

Я бы пошел по маршруту AJAX. – j08691

ответ

3

Использование Ajax (ansynchronous JavaScript запросов):

1) включают, например, JQuery библиотеку JavaScript jQuery на странице так:

<head> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
</head> 

2) Добавить яваскрипт функции, чтобы запросить ваш PHP/make_favorite.php файл

<script type='text/javascript'> 
function addFavourite(data1, data2) 
{ 
    $.ajax({ 
     type: "POST", 
     url: "php/make_favorite.php", 
     data: {var1: data1, var2: data2}, 
     success: function(msg){ 
      alert("Favourite remembered!: " + msg); //Anything you want 
     } 
    }); 
} 
</script> 

3) Добавить функцию к событию OnClick из Ваша ссылка

<a href="#" onClick="addFavourite('image_id', 'some_data')" title="sn" alt=" Favorit " target="_self">... 
+0

Спасибо, отлично! Так что, если мне нужно дать php только переменную recipe_id, я пишу 'var1 = recipe_id'? – user896692

+0

Да, это идея. В этом примере вы найдете эти значения в $ _POST (например, $ _POST ['recipe_id']) в вашем скрипте. – Clemens

+0

Хм, я просто попытался, но добрался до сайта 'php/make_favorite.php'. Я изменил тип в GET, это проблема? EDIT: Хорошо, проблема была решена ... Спасибо за вашу помощь! – user896692

1

Для начала, ваш HTML является повсюду, это будет правильный синтаксис:

<a href="php/make_favorite.php" title="sn" alt="Favorit" target="_self"><img src="image.jpg" width="40" height="30" alt="Zgen" /></a><br /> 

Кроме того, что вы просите потребует либо перенаправлять обратно на страницу каким-то образом в PHP, например:

header("Location: http://www.site.com/page.php"); 

Или отправить вызов AJAX в сценарий, так что пользователь остается на той же странице, при нажатии на эту ссылку вы используете JavaScript.

Для AJAX я бы рекомендовал использовать JQuery library, так как он делает простой ajax, и есть много документации, которая поможет вам.

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