За последние 24 часа нас посетил 19001 программист и 1616 роботов. Сейчас ищут 678 программистов ...

Передача информации в обработчик без обновления страницы

Тема в разделе "Прочие вопросы по PHP", создана пользователем SIR2100, 16 ноя 2012.

  1. SIR2100

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

    С нами с:
    16 ноя 2012
    Сообщения:
    19
    Симпатии:
    0
    В общем, появилась такая задумка. Пользователь заполняет инфу о себе, сохраняет, и основная страничка не обновлена.
    Система у меня такая. Есть основная страница. В нее подгружается нужная пользователю страничка с помощью JS.
    Код (Text):
    1. <?php session_start(); ?> //Сессия
    2. <html>
    3. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
    4. <script src="../includes/js/quick.js"></script>//сам JS, который подгружает страничку на месте
    5. <body>
    6. <?php
    7. include ("../settings.php");
    8. $my_id=$_SESSION['id'];
    9. $query = "SELECT post FROM `users` where id='$my_id'";
    10. $res =  mysql_query($query);
    11. $row = mysql_fetch_row($res);
    12. if ($row[0] == 'admin')
    13. {
    14. echo'
    15. <form action="../admin/new_man_end.php" method="post"> //Тут указывается то, куда передадутся данные, считанные из поля
    16.   <p>
    17.     <label>Новое имя:<br></label>
    18.     <input name="login" type="text" size="50" maxlength="30">
    19.   </p>
    20. <input onclick=showContent("../admin/new_man_end.php") name="submit" type="submit" value="Сохранить"> ';
    21. } // Тут указывается какая страничка откроется после нажатия "Сохранить"
    22. else
    23.    {
    24.    Echo'Доступ к этой странице для вас закрыт!';
    25.    }
    26. ?>
    27. </body>
    28. </html>
    Проблема в том, что информация в обработчик передается, и тут же открывается страница обработчика(перезагружая основную страницу, а не подгружаясь). Получается, что выполнение onclick=showContent("../admin/new_man_end.php") стоит в очереди ПОСЛЕ него. Соответственно страница перезагружается целиком. А мне нужно, чтобы работала функция showContent, и она же передавала данные в скрипт new_man_end.php. Как это реализовать?
    Надеюсь доступно объяснил =)
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    return false; в конце

    и ещё раз блин бери в кавычки!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    onclick='showContent("../admin/new_man_end.php")'
     
  3. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    можно указать в какой фрейм/окно отправлять данные, тогда страничка не перегрузится.
    http://htmlbook.ru/html/form/target
    подсказка: фрейм можно сделать невидимым, если надо
     
  4. SIR2100

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

    С нами с:
    16 ноя 2012
    Сообщения:
    19
    Симпатии:
    0
    Вылезает ошибка Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in Z:\home\test2.xxx\www\admin\new_man.php on line 39, если взять в кавычки.
    Код (Text):
    1. <input onclick='showContent("../admin/new_man_end.php")' name="submit" type="submit" value="Сохранить" return false;> ';
    return false;так жене помогает. Наверное здесь решающую роль играет прямота рук.
     
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    блин ть
    чувак, ты уж разберись с кавычками. Слеши ставят чтобы вывести ту кавычку, которой строка закавычена уже.
    Код (PHP):
    1. echo 'lalala \' pupupu'; 
    onclick='showContent("../admin/new_man_end.php"); return false;'