micscr,
весь прикол в том, что он там всегда был О-о ![]() А что подозрительного? |
Смотри как объект этот создается в справочнике:
http://javascript.ru/ajax/intro ava is false у тебя не при посте же? |
micscr,
В справочнике создает кроссбраузерный метод для осла, остальные браузеры нормально поддерживают ajax, и что бы открыть запрос, достаточно написать: var request = New XMLHttpRequest 1) <input type='text' id='avatar'> <input type='button' onclick='ava()' value='Установить аватар'> <script> function ava() { var ava = document.getElementById('avatar').value ava = encodeURIComponent(ava) var r = new XMLHttpRequest; // создаем запрос /* нам не нужно в js использовать ответ сервера, нам нужно просто послать, поэтому мы пропускаем: r.onredy....if(readyStage==4 && status == 200) */ r.open('POST', 'login.php', true) // открываем r.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // устанавливаем заголовок r.send('ava='+ava) // что посылаем } </script> 2) Цитата:
=========== сейчас сделал открыл запрос тем методом, что в справочнике, ничего не изменилось |
Цитата:
А при посте будет $_POST['ava'], т.е. все должно работать. Если не работает то сразу надо искать ошибку в запросе mysql_query($query) or die('Error:' . mysql_error()); просто этот текст ошибки, при аяксе, на вкладке Сеть, в полученных смотреть. |
micscr,
ошибка вот в чем: if ($ava) { echo 'ava is '.$ava; echo $row['name'].'<hr>'.$row['pass']; $query = "UPDATE `users` SET `avatar`='%s' WHERE `name`='%s' AND `pass`='%s'"; $query = sprintf($query, mysql_real_escape_string($ava), mysql_real_escape_string($row['name']), mysql_real_escape_string($row['pass'])); mysql_query($query) or die('Error:' . mysql_error()); } То есть при загрузки страницы, он по if проходит, и больше не затрагивает, то есть что-тов этом роде: <input type='text' id='text'> <script> document.getElementById('text').value == 1 ? alert('true') : alert('false') </script> То есть он не ждет пока там что-нибудь появиться, единственным решением, я вижу поставить это все в ф-ию и при post отправки ее вызывать? |
Цитата:
Я тебя не понимаю, мне кажется тебе надо сначала поболее основы подтянуть. |
micscr,
Ну вот пример из js: <input type='text' id='a'> <script> var v = document.getElementById('a').value if( v == 'asd' ) { alert('something') } else { alert('else') } </script> У нас никогда не будет if, почему, объяснять думаю не стоит, тоже у нас и в php, теперь понял, в чем проблема? |
Вообще не осиляю понять в чем проблема.
Дать юзеру аяксом загрузить авку? ну и грузите файл на здоровье, но! прежде, чем принять файл (да собственно любые другие данные) проверьте юзер ли отправил эти данные или нет? Сделать это можно, например, через сессии пхп. 9xakep, чего-то Вы себя перемудряете, имхо. |
Serg_pnz,
так-с...мне вообще вот вся задача: 1) Заходит юзер со своим логином и паролем (готово, пост отправка формы, с перезагрузкой страницы) 2) В случае удачного захода появляется текстовое поле, куда надо вставить текст(ссылку авы) (как видишь, пока не выходит) 3) После эта ссылка добавляется в нужный столбец (пхп работает(в нужную строку добавляется) Но вот с аяксом проблемы) ------------- В общем завтра попробую с пустой страницы потренироваться( текстовое поле, нужно инфо оттуда отправить в БД с помощью ajax) |
Ну я так и подумал, что проблема с поддержанием аутентификации.
Тут или на сессиях или куках надо делать. И да - посмотреть бы все файлы. На jquery сделал бы подобное на раз-два (ну больше я пхп, нежели js-программист) |
Часовой пояс GMT +3, время: 05:45. |