• подскажите, как можно решить следующую задачу:
    при переходе с поста на определенную страницу необходимо вывести названия поста, с которого совершен переход.
    Подскажите как решить проблему.

    С пхп пока на расстоянии вытянутой руки.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Дело в том, что php это серверный язык, он работает от запроса к запросу, не запоминая данные между запросами. Но в php есть сессии и возможность использовать cookie. Можно каждый визит пользователя писать в сессию или куку и работать с ними.

    Навскидку пример работы с сессией:

    // Стартуем сессию, если она не стартована
    if (!session_id()) {
    	session_start();
    }
    
    // Записываем прошлый "текущий" адрес в "прошлый" адрес
    if(isset($_SESSION['currentUrl'])){
        $_SESSION['lastURL'] = $_SESSION['currentUrl'];
    }
    
    // Задаем новый "текущий" адрес
    $_SESSION['currentUrl'] = $_SERVER['URI'];

    Таким образом в сессии каждого пользователя в переменной $_SESSION[‘lastURL’] после выполнения кода, который я написал выше будет находится адрес последней стараницы, который пользоватль посетил на вашем сайте перед открытием текущей старинцы вашего сайта.

    Далее остается только сделать ссылку в нужном месте кода:

    echo "<a href='". $_SESSION['lastURL'] ."'>На старницу назад</a>";

    Вариант на куках строится аналогично, только все хранится в куках, а не в сессии.

    спасибо, Alex
    я только что нашел, более простое решение title передаеться в ссылке
    <a href="/contacts/?title=<?php the_title(); ?>">contact</a>
    а потом уже забираю в нужное место функцией GET

    Имеет такое решение на жизнь?

    Фактически да, я неправлиьно видимо понял вас сначала и именно на ссылку ориентировался, а не на текст. Можно передавать в виде параметра и получать из глобального массива GET.

    Только для чего это все делается?

    это нужно чтобы всавить название в форму отправки заявки.
    Но у меня теперь другая проблема IE перекодирует кирилицу и вставляет только цифры.
    Я нашел здесь http://guide.avantajprim.com/?p=219 описание моей проблемы, но так как я не программист мне тяжело разобраться как и что сделать.

    Попробуйте брать значение параметра не из массива глобального массива GET, а с помощью функции дфижка get_query_var(‘title’), прежде чем попасть в query var там скорее всего проходят данные ряд проверок и преобразований

    я вставляю это в contact form 7 через динасическое поле этого плагина http://sevenspark.com/wordpress-plugins/contact-form-7-dynamic-text-extension
    «CF7_GET key=’title'» работает, а «CF7_get_query_var(‘title’)» нет, может какой-то синтаксис другой или еще что-то…

    А я вам про CF7_get_query_var() ничего не писал, я вам про функциюю get_query_var() написал, которая входит в дивжок, а не поставляется с расширением contact-form-7.

    И про GET я думал, что вы пишите о глобальном массиве $_GET в php.

    Почитайте про глобальный массив $_GET в php

    Насчет плагина я не знаю, тут тестить нужно
    [dynamictext dynamicname «CF7_bloginfo show=’url'»]

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «вывод названия предыдущего поста» закрыта для новых ответов.