Loading...
HTML, CSS, Javascript | jquery + php функция, вопрос..
Товарищи, как с помощью jquery передать функцию php на вывод? Я с помощью data атрибута передаю ID пользователя, в js я хочу использовать функцию login('+id_user'+, 1) но функция не срабатывает. ID передает но функция видит id=0
---
Атрибут передает id и выводит его но без функции.
А с функцией какая-то магия..
---
Мои знания js на минималках, так что не удивляйтесь если вопрос сформирован некорректно.
________
посл. ред. 17.03.2025 в 15:43; всего 1 раз(а); by Limon
$(function() {
$(".userinfo").click(function() {
var userid = $(this).attr('data-userid');
$(".infomain").append('<?= login("' + userid + '", "1") ?>');
});
});
Решение нашел только одно и оно кажется максимально топорным, это делать атрибут на каждый элемент, а их много.
Логин, возраст, онлайн, пол, аватар

Уверен есть куда более продуктивная реализация..
За помощь могу скинуть на кофе +)
________
посл. ред. 17.03.2025 в 15:52; всего 2 раз(а); by Limon
Похоже до меня дошло почему ID 0.
Потому что в функции выполняется запрос в БД на поиск пользователя по ID а в нашем случаи запрос не проходит т.к действие в модалке..
Это уже запрос к ajax нужно делать, верно я понял?
Limon (17 мар 2025, в 15:55)
Похоже до меня дошло почему ID 0.
Потому что в функции выполняется запрос в БД на поиск пользователя по ID а в нашем случаи запрос не проходит т.к действие в модалке..
Это уже запрос к ajax нужно делать, верно я понял?
Ты пытаешься выполнить в php js атрибут , по этому у тебя 0

Скинь полный код лучше , что именно пытаешься сделать и используй
бб код
[ hljs class="php"][/hljs ]
Не совсем, я через модальное окно передаю информацию о пользователе.
Принимаю с помощью кода:
$(function() {
$(".userinfo").click(function() {
var userid = $(this).attr('data-userid');
$(".infomain").append('<?= login("' + userid + '", "1") ?>');
});
});

---
Передаю только ID пользователя и в целом ид передается но вывести я его могу только как цифру (ID и есть цифра).
Если я выведу вот так: $(".infomain").append('<a href="/user.php?id=' + userid + '">Страница пользователя</a>');
То попаду на страницу пользователя ID который передался.
Но с помощью этого ID я хочу обращаться к функции логина в которой у меня полный набор вывода (Логин, ID, пол, город и т.д) т.к в окне не только ссылка будет а вся нужная информация о пользователе. Информация естественно транслируется с БД а поиск нужной и инфы о нужном пользователе идет по ID который я передаю в атрибут.
Сама проблема в срабатывании функции login();
Limon (17 мар 2025, в 16:23)
Не совсем, я через модальное окно передаю информацию о пользователе.
Принимаю с помощью кода:
$(function() {
$(".userinfo").click(function() {
var userid = $(this).attr('data-userid');
$(".infomain").append('<?= login("' + userid + '", "1") ?>');
});
});

---
Передаю только ID пользователя и в целом ид передается но вывести я его могу только как цифру (ID и есть цифра).
Если я выведу вот так: $(".infomain").append('<a href="/user.php?id=' + userid + '">Страница пользователя</a>');
То попаду на страницу пользователя ID который передался.
Но с помощью этого ID я хочу обращаться к функции логина в которой у меня полный набор вывода (Логин, ID, пол, город и т.д) т.к в окне не только ссылка будет а вся нужная информация о пользователе. Информация естественно транслируется с БД а поиск нужной и инфы о нужном пользователе идет по ID который я передаю в атрибут.
Сделай через ajax запрос и вывод куда надо Например
php
   $(function() { $(".userinfo").click(function() { var userid = $(this).attr('data-userid'); $.post( '/api/us_info.php',  { id: userid, }, function(msg) { $('#infomain').html(msg); } ); return false; }); });   
А по адресу уже выводить /api/us_info.php твою функцию login в ответ Ты через js в php только так сможешь передать адекватно и вывести всю информацию которую тебе надо
________
посл. ред. 17.03.2025 в 16:41; всего 1 раз(а); by root
Limon ,
html
   <a href="#" data-user-id="<?php echo filter_var($id, FILTER_VALIDATE_INT); ?>">User Information</a> <script>   document.addEventListener('click', function (event) {     if (!event.target || !event.target.dataset.userId) {       return;     }      event.preventDefault();      fetch('/location/endpoint.php', {       method: 'POST',       headers: {         'Content-Type': 'application/json'       },       body: JSON.stringify({         id: event.target.dataset.userId       })     })       .then((response) => response.json())       .then((response) => {         console.log(response)       })   }) </script>   

________
посл. ред. 17.03.2025 в 18:06; всего 1 раз(а); by mrcatoff
Или же используя jQuery
html
   <a href="#" data-user-id="<?php echo filter_var($id, FILTER_VALIDATE_INT); ?>">User Information</a> <script>   (function ($) {     $(document).on('click', '[data-user-id]', function (event) {       event.preventDefault();        $.ajax({         method: "POST",         url: '/location/endpoint.php',         data: {           id: this.dataset.userId         }       }).done((response) => {         console.log(response)       })     })   })(jQuery); </script>   

________
посл. ред. 17.03.2025 в 18:10; всего 1 раз(а); by mrcatoff
Онлайн: 7
Время:
Gen. 0.1216
(c) Bym.Guru 2010-2026