За последние 24 часа нас посетили 16785 программистов и 1647 роботов. Сейчас ищут 938 программистов ...

передача переменных по средствам линка

Тема в разделе "PHP для новичков", создана пользователем muheroes, 23 дек 2008.

  1. muheroes

    muheroes Активный пользователь

    С нами с:
    24 сен 2008
    Сообщения:
    33
    Симпатии:
    0
    Есть такое дело,
    Я обычно работал с глобальными переменными, сейчас хочу немного усложнить задачу и соответственно улучьшица защита сайта.
    Суть такава: есть ссылка
    HTML:
    1. <a href="#">Link 1 </a>
    Хотелосьбы чтобы при нажатии неё передовалась какая либо переменная. Пытался по средствам $_POST и $_GET
    но чето запутался немного, может так с просони но всеравно до меня не доходит.
    Да я понимаю что в ссылку можно в писать index.php?id=5&tyt=10 или чтото вроде того, мне этого ненадо - требуеться просто index.php и там посредствам линка передалась переменная с помошью которой ябы загрузил фаел.
    пробовал всяко разно и даже бонально тупо так:
    PHP:
    1. <a href="?link<?=$_POST[$varr]?>"><? $varr=0; ?>страница 1</a>
    2. <a href="?link<?=$_POST[$varr]?>"><? $varr=1; ?>страница 2</a>
    отправили - приняли
    PHP:
    1. $var=$_GET[$varr];
    Кто сможет помоч? :)
     
  2. GudGuy

    GudGuy Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    909
    Симпатии:
    0
    Адрес:
    Москва
    1 - читать мануаль.
    2 - биться головой об стену.
    3 - читать мануаль.
    4 - если уж очень надо - mod_rewrite
     
  3. Adamant

    Adamant Активный пользователь

    С нами с:
    8 апр 2007
    Сообщения:
    234
    Симпатии:
    0
    Адрес:
    Казахстан г.Тараз
    Не хочу показаться невежливых, но уважаемый muheroes вы сами поняли, что написали? Думаю что нет. Попробуйте сами себе более четко в мыслях оформить задачу и затем ее попытаться реализовать.
     
  4. muheroes

    muheroes Активный пользователь

    С нами с:
    24 сен 2008
    Сообщения:
    33
    Симпатии:
    0
    Базара 0, написал полный бред - но я даже представить немагу как ето будет выглядеть.
    rewrite использовать - ето если поисковикам хошь норма отнасица и людям красивые адреса давать!
    А я задался более серёзным вопросом. Я неразу невидел чтоб посредствам php была написана ссылка которая в себе содержит все переменные и недает линков с етими переменными.
    И вобще возможноли такое? или использовать для етого формачку? ну фармачка бяка ((( нелюблю их они стразу раза в 3 обрезают возможности в красивм составлении дизайна, хотя если руки примые можно и там нарисовать, но мне нехоца замарачиваться!
    Ну дак что ВОЗМОЖНОЛИ СДЕЛАТЬ ЭТОТ ЛИНК С ПЕРЕМЕННЫМИ?
     
  5. GudGuy

    GudGuy Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    909
    Симпатии:
    0
    Адрес:
    Москва
    поверь, тот кто писал апач, скорее всего класть хотел на поисковики;) а вот красота ссылки это ещё и удобство;)
    Код (Text):
    1.  
    2. RewriteRule (.*)\.htm$ /index.php?var=$1
    PHP:
    1.  
    2. include "./$_GET['var']";
    3.  
    только вот не вздумай прям так и делать, почитай о безопасности;) или вообще хоть о чём-то.
     
  6. djunkie

    djunkie Активный пользователь

    С нами с:
    19 ноя 2008
    Сообщения:
    134
    Симпатии:
    0
    PHP:
    1. <a href=<?php $var=1; echo $_SERVER['PHP_SELF'] . "?=" . $var; ?>>строничго <?php echo $var ?></a>
    2. ...
    3.  
    4. <?php if (isset($_GET['$var']))
    5. ...
    6. ?>
     
  7. GudGuy

    GudGuy Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    909
    Симпатии:
    0
    Адрес:
    Москва
    djunkie
    по телепатии не зачёт;)
     
  8. muheroes

    muheroes Активный пользователь

    С нами с:
    24 сен 2008
    Сообщения:
    33
    Симпатии:
    0
    GudGuy базара ноль, но используют его именно в этих целях обычно. Для меня красота в линках ето когда там вобще нету некакой ебо**рии и самое главное туда нечего невписать, чтоб любители всякие нелазили.
    А так полезная штука.
    djunkie это все понятно, только более нудно и заумно написано.
    И всеравно, вопрос так и неушол - передать переменные встроке адреса - да ето просто, а можно активировать переменную нажав на ссылку недобовляя нечего в строку адреса?
    Какбы небыло ето сложно я всетаки допру как ето сделать, или к 100% выводу приду что ето невозможно.
    Но хочеца и других програмеров послушать по етому поводу ) Разве не интересная тема?
     
  9. GudGuy

    GudGuy Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    909
    Симпатии:
    0
    Адрес:
    Москва
    muheroes
    нет, не интересная, ибо ни кому не нужен велосипед с кубическими цельнолитыми чугунными колёсами. если тебе так хочется попарить себе мозг можешь посмотреть в сторону js'а. но смысла в этом не вижу.
    защиту надо ставить там где её нельзя потрогать руками. не исключаю что ты добьёшься своего, но результат и затраченное время ни как не сходяться...
     
  10. Adamant

    Adamant Активный пользователь

    С нами с:
    8 апр 2007
    Сообщения:
    234
    Симпатии:
    0
    Адрес:
    Казахстан г.Тараз
    HTML:
    1.  
    2.    <h3 align=center> Внимание в вашем браузере выключена поддержка javascript</h3>
    3. <!-- На странице форма видна не будет -->
    4. <form action="res.php" name="myform" method="post" id="f">
    5.     <input type="hidden" name="varr1" value="data1 from form">
    6.     <input type="hidden" name="varr2" value="data2 from form">
    7.     <input type="hidden" name="varr3" value="data3 from form">
    8. </form>
    9. <a href="#"
    10. onClick = "document.getElementById('f').submit()";>
    11.   Передать данные
    12. </a>
    res.php
    PHP:
    1.  
    2. // смотрим чего пришло
    3. <?php
    4. echo '<pre> $_POST :<br />';
    5. print_r($_POST);
    6. echo "</pre>";
    7. ?>
    8.  
     
  11. muheroes

    muheroes Активный пользователь

    С нами с:
    24 сен 2008
    Сообщения:
    33
    Симпатии:
    0
    Adamant мысаль есна, ява чень много чего может и это работает - ну нехочеться мне яву бахать.
    1. у многих она отключена
    2. и хочеться в пхп сотварить чудо
    GudGuy может и велосипед, но при отключеных глобальных переменных, + сесии + суперглобальные переменные которые передаються через линк и не отображаються не как - улучьшит защит не в однократно.
    И я делаю не велосипед с квадратными калесами а танк с гусиницами ))))
    Но всеже от помощи я некак не отказываюсь а наоборот её прошу! Все думают логично, как в пхп по логике ето должно выглядеть - я себе предстовляю так.
    Активируя линк под определенным id мы записываем в суперглобалюную переменную с номером страници, после чего загружаем её. Но страшней становица как активировать ссылку если на ней скрыт id =\ вот с етого момента нечего непонимать моя )))
    Ждать помощи? или нестоит? мучить самому сво дримувер и браузер? )))
     
  12. GudGuy

    GudGuy Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    909
    Симпатии:
    0
    Адрес:
    Москва
    1. убить дримвивер.(если дримувер это оно).
    2. слушай внимательно.
    что мы имеем?
    есть ссылка. это некий адрес ассоциирующийся с неким ip + с некой дерикторий на сервере + с неким файлом.
    помимо этого есть два способа передать серверу иноформацию POST и GET. + мод реврайт.
    ты хочешь припомощи телепатии дать понять серверу чего ты хочешь. телепатия вещь научно не доказаная, но можно её симулировать. например так как показал Adamant, хотя джс даёт ищё несколько способов. можно мод_реврайтом.
    ты хочешь, что бы компьютер стал не пробиваемым танком. но тогда ты не сможешь им управлять, так как сам завариваешь люк.
     
  13. Adamant

    Adamant Активный пользователь

    С нами с:
    8 апр 2007
    Сообщения:
    234
    Симпатии:
    0
    Адрес:
    Казахстан г.Тараз
    "Через линк" происходит передача данных методом GET, эти данные указываются после знака ? и как вы знаете идут в последовательности имя переменной = значение и между ними стоит разделитель &.
    Не используя яваскрипт (который при этом передает данные методом POST), и ничего не добавляя в адресную строку передать параметры нельзя, попросту потому. что при "чистом" линке (методом GET) - их там нет.
    Как вы хотите без формы (методом POST) просто через чистую гиперссылку (это метод GET), передать данные?
     
  14. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Есть еще один вариант. Без js совершенно. Сделать форму с hidden полями и кнопкой submit. И прописать для этой кнопки такой css стиль, чтобы она выглядела точь в точь как обычный линк :)
     
  15. muheroes

    muheroes Активный пользователь

    С нами с:
    24 сен 2008
    Сообщения:
    33
    Симпатии:
    0
    Выслушев всех, вывод таков - что серверу некак несообщить посредствам линка и пхп о той или иной переменной.
    Формачки да ето вариант, но стили и дизайны обрезаються раза в 3, также как и возможности составления этого дизайна. Гораздо шире возможности с линками.
    Но сервер всеравно както долженже обрабатывать каждую ссылку, какаяб она небыла, и каждая ссылка в памяти должна иметь какоето значение, и до етого возможно докапаться и вытащить данные - что позволит при активации сылки присвоить той или иной переменной какое либо значение.
    Буду пытаться сотварить чудо, о последствиях отпишусь ) всем спс. за внимание.