За последние 24 часа нас посетили 17720 программистов и 1650 роботов. Сейчас ищет 1041 программист ...

Передача дополнительной информации вместе со ссылкой

Тема в разделе "Решения, алгоритмы", создана пользователем VasyaM, 29 авг 2013.

  1. VasyaM

    VasyaM Новичок

    С нами с:
    29 авг 2013
    Сообщения:
    5
    Симпатии:
    0
    Имеется страница с несколькими ссылками на другие страницы
    Код (Text):
    1. <a href="Lesson.php?lesson_id=33&lesson_name=Тестовые программы...
    и т. д.

    Кроме того, на форме имеется чекбокс, его значение (включен/выключен) надо передавать в форму, на которую указывает ссылка. Как это сделать? Методы POST и GET при переходе по ссылке не работают.
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    неправда. GET работает. а с помощью JS можно и POST посылать по любому событию.
     
  3. VasyaM

    VasyaM Новичок

    С нами с:
    29 авг 2013
    Сообщения:
    5
    Симпатии:
    0
    По крайней мере, у меня и GET не работает. Сообщение должно быть послано при переходе по ссылке. Может подскажете, как сделать с JS?
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.793
    Симпатии:
    1.330
    Адрес:
    Лень
    $_REQUEST[''] пробуй в скрипте
     
  5. VasyaM

    VasyaM Новичок

    С нами с:
    29 авг 2013
    Сообщения:
    5
    Симпатии:
    0
    $_REQUEST[''] в форме Lesson.php значение чекбокса не содержит. Мне важно, чтобы информация передавалась даже если пользователь этот чекбокс не трогал.
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    GET работает везде и всегда. Просто вы что-то делаете не правильно, это ближе к истине.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    дык он небось никак чекбокс сам не чекает, а ждет что он автоматом чекнется если ссылка пришла красивая =)
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    На такой случай вот еще одна заповедь, которой я руководствуюсь:

    Ну будь самонадеян. Ежели ты все сделал правильно, но оно работает не так как надо, не вини машину, вини себя. Вероятность, что косяк обусловлен машиной близка к 0%, вероятность что накосячил ты сам где-то, близка к 146%.
     
  9. VasyaM

    VasyaM Новичок

    С нами с:
    29 авг 2013
    Сообщения:
    5
    Симпатии:
    0
    Более подробное описание задачи: Обучающая программа. Есть страница со списком тестов. Каждый тест - ссылка. Тесты - это одна и та же страница, просто в конце URL дописывается идентификатор теста. А внизу имеется чекбокс "показывать подсказки" (по умолчанию включенный). В зависимости от положения этого флажка на странице тестов при ответе либо высвечивается сообщение "ответ правильный(неправильный)" либо тест просто молча переходи к следующему вопросу. Такой порядок утвержден заказчиком. Все работает, но вот как предать значение этого чекбокса, я пока не знаю.
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    жабоскриптом, если там не формы.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    В форму всунь
     
  12. VasyaM

    VasyaM Новичок

    С нами с:
    29 авг 2013
    Сообщения:
    5
    Симпатии:
    0
    Решил проблему с помощью JavaScript. Вот как это выглядит:
    Код (Text):
    1. function ToLess(id)
    2.     {
    3.         var newF=document.createElement("form");
    4.         newF.action="Lesson.php";
    5.         newF.method='POST';
    6.         var newH=document.createElement("input");
    7.         newH.name='id_lesson';
    8.         newH.type='hidden';
    9.         newH.value=id;
    10.         newF.appendChild(newH);
    11.         var newA=document.createElement("input");
    12.         newA.name='is_answer';
    13.         newA.type='hidden';
    14.         if(document.getElementById("ans").checked)
    15.             newA.value='1';
    16.         else
    17.             newA.value='0';
    18.         newF.appendChild(newA);
    19.         document.getElementsByTagName('body')[0].appendChild(newF);
    20.         newF.submit();
    21.     }
    Ссылки теперь выглядят вот так:
    Код (Text):
    1. <A HREF="JavaScript:ToLess(34);">Физика</A>
    где 34 - идентификатор теста.
    "ans" - идентификатор чекбокса

    В форме Lesson.php переменные извлекаются из массива $_POST

    Все заработало!!!!