ФорумПрограммированиеJavaScript → Передача даных

Передача даных

  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz Март 14, 2011, 11:58 д.п., спустя 54 минуты 24 секунды

    Интересно а с помощью ajax можно организовать, передачу данных переменной login c javascript кода, коду выполнения запроса к базе данных ну в смысле
    mysql_query ("SELET login FROM users WHERE login=".login."");

    $login=echo "<script>login;</script>";



    Наверное написал бред полный, но может гдето близко к истине.
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Март 14, 2011, 12:03 п.п., спустя 4 минуты 22 секунды


    Да я понимая что php передает данные на сервер
    Наоборот, обычно, передает данные с сервера в браузер.
    Спустя 129 сек.

    Интересно а с помощью ajax можно организовать, передачу данных переменной login c javascript кода, коду выполнения запроса к базе данных ну в смысле
    mysql_query ("SELET login FROM users WHERE login=".login."");

    $login=echo "<script>login;</script>";

    Наверное написал бред полный, но может гдето близко к истине.
    Вот как раз сейчас не бред, именно с помощью ajax и передают в основном данные джаваскрипта серверу, то биш php скрипту.
    Спустя 44 сек.
    Хотя вот эта строчка
    $login=echo "<script>login;</script>";
    бред
  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz Март 14, 2011, 12:13 п.п., спустя 10 минут 5 секунд

    А как правильно передать помоги, а то я не знаю.
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Март 14, 2011, 12:24 п.п., спустя 10 минут 53 секунды

    Во первых, надо понять, что echo это уже передача данных клиенту. Т.е. никакого $login= не надо. У тебя же php уже закончил работу, и присваивание ушло в никуда. Тем более echo вообще значения никогда не возвращает.

    Во вторых надо определить, в каком формате ты передаешь данные HTML, XML, JSON или еще что-то. Заметь, ты должен передать именно данные, а не скрипт. Удобнее всего для таких случаев JSON, в php есть функция, которая массив развертывает в json.

    В третьих, нужна клиентская часть, которая этот JSON получит. Тут смотри любые примеры, например в доке по jquery.
  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz Март 14, 2011, 12:56 п.п., спустя 32 минуты 21 секунду

    А вот дальше не знаю как значение login с помощью ajax передать серверу.

    Да еще и написать запрос оброботки где заместо ? будет значение вводимое клиентом то есть переменная login в javascript.
    mysql_query ("SELET login FROM users WHERE login="?");
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Март 14, 2011, 12:47 п.п., спустя 23 часа 51 минуту 8 секунд


    А вот дальше не знаю как значение login с помощью ajax передать серверу.
    Для этого существует гугл, слова ajax jquery, думаю, найдут не одну тысячу примеров.
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Март 14, 2011, 12:50 п.п., спустя 3 минуты

    Да ладно тебе, тож ведь вариант ))) Хотя если столкнусь с подобным пожалуй буду делать через json :)

    но учти, что он только с utf-8 работает
  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz Март 14, 2011, 12:54 п.п., спустя 4 минуты 15 секунд


    Для этого существует гугл, слова ajax jquery, думаю, найдут не одну тысячу примеров.

    Спасибо, буду разбираться.
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Март 14, 2011, 12:55 п.п., спустя 39 секунд


    Да еще и написать запрос оброботки где заместо ? будет значение вводимое клиентом то есть переменная login в javascript.
    mysql_query ("SELET login FROM users WHERE login="?");


    Ты не знаешь какие есть способы получения данных запроса в PHP?
    В основном это массивы $_GET и $_POST … тебе стоит почитать самые основы.

    stanick, сорри, я тут твое сообщение слегка отредактировал, промахнулся по кнопке. Но суть понятна, ты не знаешь как сформировать ajax запрос после того, как джаваскриптом получил значение из формы.

  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz Март 14, 2011, 1:13 п.п., спустя 17 минут 47 секунд


    Да ладно тебе, тож ведь вариант ))) Хотя если столкнусь с подобным пожалуй буду делать через json :)

    но учти, что он только с utf-8 работает

    Благо это хоть я знаю :) Еще бы теперь приучить себя всё в утф писать а не в цп и функциями перекодировать…
    from TRIAL with LOVE
  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz Март 14, 2011, 1:22 п.п., спустя 8 минут 47 секунд

    сорри, я тут твое сообщение слегка отредактировал, промахнулся по кнопке. Но суть понятна, ты не знаешь как сформировать ajax запрос после того, как джаваскриптом получил значение из формы.


    В яблочко, это реально сложно учитывая то что с ajax я даже не знаком.
  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz Март 14, 2011, 6:29 п.п., спустя 5 часов 7 минут 19 секунд



    <form name="forms1" action="#">
    <input type="text" name="input" onblur="focus(this)" />
    </form>
    <div id="content"></div>



    <script>
    $('#forms1').input(function(){
    $.ajax({
    type: "POST",
    url: "loins.php",
    data: "username="+$("#input").val(),
    success: function(html){
    $("#content").html(html);
    }
    });
    return false;
    });

    </script>


    Файл loins.php содержит следующие данные:

    $query=mysql_query("SELECT login FROM users WHERE login=".$_REQUEST['username']);
    $massive=mysql_num_rows($query);
    if($massive>1){echo "Такой логин уже существует";}else{echo "Логин свободен";}

    Помогите исправить ошибки в коде ajax, а то я просто нашел код и попітался переделать на свой лад.
    Получилось или нет не знаю, поэтому спрошую вашего совета, может чего дописать надо, или не правильно подставил.

    Спустя 255 сек.
    Упсь здесь направильно наверное надо так



    <script>
    $('#forms1').onblur(function(){
    $.ajax({
    type: "POST",
    url: "loins.php",
    data: "username="+$("#input").val(),
    success: function(html){
    $("#content").html(html);
    }
    });
    return false;
    });

    </script>



    Так правильней.
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz Март 14, 2011, 6:42 п.п., спустя 12 минут 33 секунды

    Пишешь просто .blur()
    Я лично использую так:
    $.post(
    'action.php',
    { param1: 'my_1', param2: 'my_2' },
    function(data) {
    $('#myID').html(data);
    }
    );
    from TRIAL with LOVE
  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz Март 14, 2011, 7:50 п.п., спустя 1 час 8 минут 59 секунд

    Следуя твоей функции моя должна переписываться так:

    $('#forms1').onblur(function(){
    $.ajax({
    $.post('loins.php', { username: $("#input").val()},

    function(data) {$('#content').html(data); });

    });
    return false;
    });

    Или я где то ошибся.
    Спустя 203 сек.
    Вроде так все и понятно но не могу понять, как текст с файла loins.php выведеться через функцию заместо параметра date.
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz Март 15, 2011, 10:15 д.п., спустя 14 часов 24 минуты 20 секунд

    Да не всё ли равно как :)
    А переписал ты не так, Вот как должно быть:
    $('#forms1').blur(function() {

    var user = $("#input").val();

    $.post(
    'loins.php',
    { username: user },
    function(data) {
    $('#content').html(data);
    }
    );
    });
    from TRIAL with LOVE

Пожалуйста, авторизуйтесь, чтобы написать комментарий!