За последние 24 часа нас посетили 18097 программистов и 1598 роботов. Сейчас ищут 956 программистов ...

Передача переменной из javascript в php

Тема в разделе "PHP для новичков", создана пользователем domeenor, 8 июл 2016.

  1. domeenor

    domeenor Новичок

    С нами с:
    26 май 2016
    Сообщения:
    13
    Симпатии:
    0
    Ребят, привет! Не могу понять в чем дело.
    Код (Javascript):
    1. function PostOnline() {
    2.                 var AAAA = <?php echo $_SESSION['id'];?>;
    3.                 $.post("/BIt.php",
    4.                         {
    5.                             act: "UpDateTime",
    6.                             steamid: AAAA,
    7.                         }
    8.                         );
    9.  
    10.                 RefOnlineDiv();
    11.                 return false;
    12.             }
    $_SESSION['id'] равняется 76561198060472234
    А передается в обработчик как 76561198060472240
    Помогите
     
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @domeenor, не надо путать java и javascript
     
  3. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    var_dump($_SESSION) поможет. Ещё хорошо бы использовать отладку.
     
  4. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    И писать нужно по человечески, что ты за блин, устроил в js передачу php ты сдубу рухнул так делать, вообще по нормальному js должно быть в отдельных файлах, и ни каких скриптов на странице с html не должно быть кроме самого html . и всё


    HTML:
    1. <div class="chelobrek" data-id="<?php echo $_SESSION['id'] ;?>"> </div>
    Код (Javascript):
    1. <script>
    2.     function PostOnline() {
    3.         var AAAA = $('.chelobrek').data('id');
    4.  
    5.     $.post("/BIt.php", {
    6.         act: "UpDateTime",
    7.         steamid: AAAA,
    8.     });
    9.         RefOnlineDiv(); // Что за функция не пойму
    10.         return false;
    11.     }
    12.     // короче вот ниже как я делаю у себя и всё работает.
    13.  
    14.         var ajaxRes = '';
    15.         $.ajax({
    16.                     url: url,
    17.                     type: "POST",
    18.                     async: false,
    19.                     data: {act: "UpDateTime", steamid: AAAA},
    20.                     success: function (response) {
    21.                         ajaxRes = response;
    22.                     },
    23.                     error: function (error) {
    24.                         ajaxRes = error; // Выведет текст ошибки
    25.                     }
    26.                 }
    27.         );
    28.     alert(ajaxRes);
    29. </script>
    PHP:
    1.  return "I get act = ".$_POST['act']." and AAAA = ".$_POST['steamid'];
     
    #4 askanim, 9 июл 2016
    Последнее редактирование: 9 июл 2016
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты чего такой свирепый? Видно же, что человек осваивается в языке и его приёмах. Поделись лучшими практиками со спокойным лицом. Если чо вот рекомендую http://beeg.com прям то что нужно, уж я-то знаю.
     
    domeenor нравится это.
  6. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    ммм я добавил в закладки :D. Ладно, я там жалобу на это сообщение от себя отправил чтобы его удалили, я ниже прикрепил решение ему. которое первое от меня было, нужно удалить потому что дублик второго.
     
  7. domeenor

    domeenor Новичок

    С нами с:
    26 май 2016
    Сообщения:
    13
    Симпатии:
    0
    =================
    Как по мне специально в HTML данные пихать в див чтобы обработать в js на этом же документе как танец с бубнами выглядит. Альтернативы нет?
     
  8. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    это правильно так делать, разбивать проект на части. Во первых даже со стороны сео для робота лучше будет если он будет не будет видеть скрипты и стили в одном документе с html. А во вторых это удобно и грамтно держать скрипты все в отдельном скриптовом файле.
     
  9. domeenor

    domeenor Новичок

    С нами с:
    26 май 2016
    Сообщения:
    13
    Симпатии:
    0
    Я согласен. Разбивать для удобства надо. Но пока осваиваюсь.... Еще вопрос. Мне нужно отправить возвращенный ответ в другую функцию, но он получается пустой. Делаю так:
    var WiAlerpA = $("#WiAlerp").val();
    MessAlerp(WiAlerpA);

    ===================

    function MessAlerp(WiAlerpAP)
    {
    setTimeout("alert("+WiAlerpAP+")", 1000);
    }

    ===============
    В чем косяк?
    --- Добавлено ---
    Вааааа сорри, тут затупил немного... .val()...................
     
  10. domeenor

    domeenor Новичок

    С нами с:
    26 май 2016
    Сообщения:
    13
    Симпатии:
    0
    А как заполнить див в два шага?

    var WiAlerpAP= $("#WiAlerp").html();


    $("#WiAlerp").html("-="+WiAlerpAP+"=-");
     
  11. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Нужно добавить html код или текст в div тег? Есть функции append() и подобные.
     
  12. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    А не может быть такого, что там какая - то операция долбит постоянно запросом и меняет сессию, а вы в этот момент снова обращаетесь к скрипту? Это просто предположение :)
    Для более простого и удобного способа, на стороне сервера инклудить js файлики, исполняя только вывод буфера через <?=$_SESSION['id']?> - аналог <?php echo $_SESSION['id'];?>
    Этим дадим возможность выводить в js - php, но не сможем объявлять переменные и алгоритмы, так как будет синтаксическая ошиюка при загрузки собранных файликов js.
    то есть в file.js не сможем написать:
    PHP:
    1. <?php
    2. $a=1;
    3. ?>
    а просто вывод <?='Что - то'?> сможем:
    js.php:
    PHP:
    1. <?php
    2. $a = 1;
    3. require 'file.js';
    4. echo ob_get_clean(); // var a = "1";
    file.js:
    Код (Javascript):
    1. var a = "<?=$a?>";
    2. alert(a); //1
     
    #12 rodent90, 10 июл 2016
    Последнее редактирование: 10 июл 2016
  13. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    @domeenor ты вардамп-то заюзал?
     
  14. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    какую же ты чушь людям советуешь, те чё так спичит бред какой нибудь сказать? Молчи лучше, ты просто несёшь бред сумашедшего, так ни кто не делает потому что это бредово нахрена подключать в php Js файлы, ты чё укурился чтоли?

    Ты явно стукнулся, тебе надо запретить людям подсказывать. Ты чушь подсказываешь дикую.

    Нахрена ему ob_start (); Ох ёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёё. ААААААААААААААААААААА.

    Ты похоже из тех кто видит и использует не понимая зачем. Вот я не знаю. Советуешь и сам не понимаешь где это нужно или нет. очнись плиз. Иди почитай умные книжки. Почитай форум посмотри.
     
  15. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    WHAT!!!!? Само по себе не чего долбить не может, в ту конкретную сессию которую он создал, если он сам туда не переписывает значение. Но я думаю он бы об этом знал!
     
  16. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    askanim, Ты очередной, тролль, не понимающий зачем это нужно. Говнокодер, с шаред источника, я знаю таких оборванцев как ты :)
    Судя по твоим знаниям ты школьник, только что открывший документацию и даже не знает какие есть возможности передачи запросов между языками и потребности самого языка.

    P. S. это нужно для обновления языка " JavaScript " если были внесены глобальные правки и рефакторинг кода на сервере, чтобы js тоже знал.
    Если все же решили сделать php надстройкой над языками.
    Конечно же если это действительно возникло желание совместить языки.
    Тебя бомбит. Залетел как Semenyuk_Monkey_with_a grenade_txt.jpg на форум.
    А ты не думай за него, твое дело подсказать, а не думать - как же у него и, что же у него.
    И мне все равно на твое мнение, как ты тужишься, я привык решать разные задачи на разные темы и писать в php можно как угодно, но качество говнокода на ООП, завалом классов и объектов этому не рады. Есть динамика, нужно ей пользоваться, а не откидывать в сторону и заваливать программу.
     
  17. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    @rodent90 ок, удачи, тупишь и тупи дальше твоё право, других людей тока не учи своему говну а.
     
  18. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    @askanim, генерация js-кода на php - это в принципе нормально, хотя я тоже предпочитаю пользоваться data-атрибутами, и читать их потом из JS. JS-программа - такая же текстовая инфа, как и HTML, ничего страшного в таком подходе нету. Разве что надо антикеширующие заголовки для такого JS отдавать.
     
  19. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    можно просто выдавать на страницу объект со всеми нужными данными, не привязанными к конкретному HTML.
    PHP:
    1. <script>var myData = <?=json_encode($myData, JSON_UNESCAPED_UNICODE)?>;</script>
    А потом можно обращаться к нему
    Код (Javascript):
    1. myData.some.data
     
    mkramer нравится это.
  20. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    @igordata, да, так тоже хорошо. Но типа "скрипт в html", некоторые сеошники начинают громко визжать при виде слова <script>
     
  21. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это даже обсуждать глупо. Нет ни одной страницы без скриптов сегодня. Если сеошник пугается скриптов, то он не сеошник, а шаман ебаный и его нужно гнать поганой метлой. Встречал таких уже, да. Одному не нравилось использование onclick. Они тупые же. В сеошники идут одни дегенераты.
     
    mr.akv, mkramer и mahmuzar нравится это.