2014-10-28 4 views
0

Я потерял свой путь к поиску решения и вам нужна помощь немедленно. У меня есть php-страница с именем list.php, которая показывает список продуктов с значком BUY для каждого продукта. После нажатия кнопки BUY он направит action.php (который содержит скрипт для добавления в базу данных), а затем вернется на ту же страницу, используя заголовок (location: list.php? Id = $ r [id_product]). Я хочу показать всплывающее сообщение «продукт теперь добавлен в корзину» после возврата в list.php. Как это сделать?PHP-JQuery-AJAX, показать всплывающее сообщение

+0

При возврате в список положите атрибут или что-то вроде заголовка (location: list.php? Show = 1) –

+0

Извините, что не добавил. Вопрос отредактирован. Я уже использовал его. –

ответ

0

Вы можете получить cookie и после возвращения просто проверить, есть ли указатель cookie или нет, и если есть, покажите сообщение.

Однако, если вы используете ajax вам не нужно печенье, просто добавить всплывающую функцию в Ajax функции синтаксического анализа, что-то вроде этого

function addToBasket(itemId) { 
    var x = new XMLHttpRequest(); 
    x.open('GET', '/ajax/action.php?add=' + itemId, true); 
    x.onreadystatechange = function() { 
     if (x.readyState == 4) && (x.status == "200") { 
      var responseObj = eval('(' + x.responseText + ')'); 
      if (responseObj.status == 0) 
       window.alert('The product successfully added to your basket'); 
      else 
       window.alert('An error has occured during the processing the data. Please try again later'); 
     } 
    }; 
    x.send(null); 

action.php Пример кода

<?php 
    // ... 

    $response = array('status' => 1); 

    if (isset($_GET['itemId'] && $_GET['itemId'] != '') 
    { 
     $item_id = htmlspecialchars($_GET['itemId']); 
     if (is_numeric($item_id) 
     { 
      put_in_table($item_id); 
      $response = array('status' => 0); 
     } 
    } 

    // output an Ajax response 
    header('Content-Type: application/javascript'); 
    echo json_encode($response); 
?> 
+0

Я использую скрипт из http://jsfiddle.net/pX5kr/, но все еще не работаю. Это то же самое или что-то другое? –

+0

В моем браузере это woking. Почти так же, как раз в вашем примере выше вы достигли результата trhough 'jquery'. В моем примере я использовал чистый javascript. Оба они дают одинаковые результаты. Выберите то, что вы превзошли. –

0

Создать сессии или Cookie на action.php

Проверить на list.php, если найти всплывающее окно

Уничтожьте его, показывая всплывающее окно, чтобы оно отображалось снова и снова.

0

Вы упоминаете ajax в заголовке, так почему бы вам не использовать ajax для выполнения сообщения в action.php, и при успешном завершении запроса ajax вы можете отобразить всплывающее окно.

+0

Я пробовал это без успеха. –

0

<?php if(isset($_POST['id']) && $_POST['id']>0){ ?> alert(message); <?php } ?>

0

о всплывающей штуковина, проверить эту ссылку Launch Bootstrap Modal on page load, это называется начальной загрузки модальный, очень проста в использовании. У вас есть небольшой скрипт для записи, чтобы запустить его при загрузке страницы.

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