armancho7777777
Пробовал, не помогает Потому что при вызове функции которая "общается" с сервером заполняются выводятся все ошибки... ну а когда приходим в первый раз и отправляем запрос POST-ом на сервер(при событии), все поля являются пустыми(кроме заполненного), соответственно это нормальное поведение т.к функция вернет результат для каждого инпута.
Есть вариант написать для каждого инпута отдельную функцию, но думаю это не хорошо...
И ещё один вариант, проверять все на клиенте, а на сервере просто возвращать false если данные пришли левым путём и не соответствуют формату.
Но с другой стороны будет проблематично проверить логин. Т.к используемый логин может быть уже зарегистрирован...
Запутал, да? Я просто код сюда выставлять не хочу, ибо там на клиенте 100+ строк кода и на сервере аналогично. Не думаю что кто то будет это разгребать, поэтому думал идею подскажет кто...
То есть на отдельной странице открывается статья, выбрана, в полях (тема, содержание статьи) должен автоматически отображаться текст который уже был когда-то заполненный и содержится в БД.
Если вы знаете как выбрать для редактирования конкретную статью, то скорее всего у вас есть $_GET параметр который содержит id выбранной статьи. Именно он вам и пригодится для данной реализации. Достаточно будет в окне где проходит редактирование сделать нужный SQL запрос.
Здравствуйте. Сделал обычную форму для регистрации пользователей на аяксе. То есть принцип такой - если есть ошибка на сервере, пользователь получает сообщение об ошибке рядом с каждым инпутом. Но тут возникает следующая проблема:
Прошу в первую очередь обратить внимание на скриншот
Как видно, те формы, которые ещё не выбраны, все равно выдают ту или иную ошибку.
Связано это с тем, что у всех инпутов я подписан на событие onchange, которое в свою очередь вызывает одну и ту же функцию у всех инпутов. Вызываемая функция отправляет на сервер данные из форм и получает ответ.
Как можно сделать, что бы ошибки выводились только если мы нажали на инпут и что то в него ввели?
П:С в этой функции, которая отправляет/получает данные от сервера и вывожу ошибки следующим образом:
document.getElementById("errLogin").innerHTML = result['errLogin'];
Видимо из за этого и получается такой бардак... Это что, нужно для обработки каждой ошибки свою функцию писать, которая в свою очередь будет вызывать ту функцию, что получает ответ от сервера и обрабатывать отдельно для каждого инпута? Нет уж... бардак получается
Поэтому и пришел к вам, за более адекватным решением Буду рад вашей помощи
К примеру если мы сделали ЧПУ, site.ru/news/12 то он же будет доступен и по адресу site.ru/index.php?news=12
Мне надо сделать так, что бы при запросе site.ru/index.php?news=12 происходил 301 редирект на site.ru/news/12 для того что бы удалить дубли и данная страница была доступна уже только по site.ru/news/12 и при попытке ввести site.ru/index.php?news=12
что бы редирект срабатывал на ЧПУ а не показывал послушно содержимое как то так
$1 — это ссылка на эту маску, т.е. в $1 попадёт то, что подходит под выражение (.*)
А что будет, если к примеру использовать $2 вместо $1 ? Эти цифры как то отличаются или есть только такое понятие как $1 ? т.к в регэксп $ означает конец строки, поэтому не очень понятно что означает единичка... Почему - описал чуть выше...
А пример можете рабочий показать? Чтоб так скопировать и все работало? Дабы прощупать это дело...
Ещё про 301 редирект очень интересно, в теме топика описал проблему
RewriteBase / //левая часть(для получения общего путя в ЧПУ)
RewriteCond %{REQUEST_FILENAME} !-d //что означает !-d(взято из статьи DeepVarvar)
RewriteCond %{REQUEST_FILENAME} !-f //что означает !-f(взято из статьи DeepVarvar)
RewriteRule ^(.*) index.php?q=$1 [L] //я так понимаю сдесь говорится, что как только ты встретишь точку читая строку сначала, подставляй index.php?q=$1 до конца строки. Но что означает [b]единица[/b] после [b]$[/b]?
И я так понимаю это не универсальный вариант. Как можно грамотно настроить ЧПУ? Что бы на основе title статьи например, формировался ЧПУ. Если можно напишите код чтоб я вбил его у себя и прощупал на примере как это работает.
301 редирект
RewriteRule ^file.php$ anotherfile.php [R=301] - все норм редиректится, но вдруг мне нужно удалять дубли если у меня настроено ЧПУ? Тоесть сайт будет доступен и так site.ru/articles/33 и так site.ru/index.php?articles=33
С точки зрения поисковиков это не есть хорошо. Поэтому думаю надо сделать 301 редирект с программных ссылок на ЧПУ ссылки. Это что каждый раз ручками нужно будет для всеъ случаев менять .htaccess? Не думаю... Хотелось бы получить грамотное объяснение как решить эти две задачи, желательно с примерами.
Ильгиз
Я думаю, что ошибка не в коде, который вы предоставили. Скорее всего там виноват какой нибудь .htaccess или что то в этом духе.
Совет конечно не авторитетный, но попробуйте переименовать файл send.php и задать ему другое название, и у тега form атрибут action так же переименовать на то, как будет называться файл send.php
Если не получится, тогда закомментируйте # все что есть в htaccess и попробуйте заново.
Хотя пост от esterio по поводу особенностей джумлы насторожил, т.к не смотрел её исходники. Попробуйте просто сделать так, как я написал выше, может и получится.
Но если не поможет обязательно верните все как было...
imya написал уже какие нужны поля, это минимум, что вам понадобится. Во from храните id того, кто отправил, в `to` id того пользователя, которому адресовано сообщение ну и message - само сообщение.
HTML пишет:
Как выводить сообщения из бд?
При авторизации записывайте id пользователя в сессию и далее делайте выборку на этой основе.
Переменная $to должна содержать id авторизованного пользователя
Тоесть говорим, отдай мне все сообщения, где получателем является авторизованный пользователь. Таким образом каждый кто авторизован будет видеть те сообщения, которые адресованы именно ему.