На авто заполнение это никак не влияет. Что касается password там все намного сложнее, просто замена атрибута ничего не даст, нужно поле заменять. Вот в нагрузочку тоже валяется, попробуйте совместить:
$.fn.passSwitch = function()
{
this.each(function(){
if (this.tagName.toLocaleLowerCase() == 'input')
{
var el = $(''),
th = $(this),
type = th.attr('type').toLocaleLowerCase() == 'password'? 'text': 'password';
el.attr('type', type);
for (var i = 0, len = this.attributes.length; i < len; i++)
{
if (this.attributes[i].name.toLocaleLowerCase() != 'type')
{
el.attr(this.attributes[i].name, this.attributes[i].value);
}
}
el.val(th.val());
th.replaceWith(el);
}
});
return this;
}
А также ничего про то как включить файл конфигурации, хотя про него сказано. Для быстрого справочника который Вы пытаетесь сделать, думаю информация была бы уместной.
Думаю, отправлять генерируемый пароль на почту очень скудное решение. Меня как пользователь это раздражает. Раз уж пользователь ввел email и ты его запомнил почему не предложить подтвердить регистрацию паролем. Потом у каждого матерого интернетчика есть мусорные email которые никогда и не читаются, все письма оттуда идут прямо на помойку.
Электронное УЛ и личный сертификат есть уже в любой стране Евросоюза, думаю у других тоже не за горами. Все эти Open Id и остальные методы в будущем могут кануть в лету, все что потребуется это разрешить сайту прочитать твои данные.
Автозаполнение поля «город» на основе почтового индекса
Для России почти бессмысленно, как и для международных сайтов.
Ну почему же бессмысленно. Есть база индексов при наличии которой это делается легко www.geopostcodes.com. Главное чтобы не сильно умничать, сталкивался с такими формами где после ввода адреса мне выдавало ошибку что индекс не соответствует городу или что улица не соответствует, либо выдавало select с улицами где моей не было в списке. Так что эта инфа по любому должна быть доступна для редактирования а использование баз должно быть лишь для того чтобы облегчить ввод информации.
Тут ни слова не сказано про имена полей, думаю это самое важное в формах регистрациях. При правильном именовании полей браузер сделает большую часть работы.
Не используйте php в качестве демона. Все очень точно подмечено. php отваливается по неизвестным причинам. Уже более 2 лет работает чат на проекте и проблемы решить так и не удалось, при том что библиотеки были переписаны с нуля, 100% контроль, нет привязки к каким-либо сторонним библиотекам где непонятно кто и что писал.
Все зависит от проекта. Иногда полезна страница 404 а иногда лучше будет перенаправить на главную сообщив что страница не найдена. Факт в том что это эти ситуации всегда должны быть обработаны.
Еще можно добавить рамдиск используя при этом обычное файловое кэширование. Отпадает необходимость в memcached для кэширования общих данных, но все же хорош для кэширования пользовательских данных, тех же сессий к примеру. Также кэширование на уровне nginx, очень гибкие настройки. На одном очень нагруженном проекте с огромной динамикой (ежеминутное обновление) схема прекрасно работала.
например countries_name_ru, имя извлекалось при помощи join, но когда эта таблица разрослась то давала неимоверные тормоза. На данный момент как говорил используется 1-ый вариант, структура задается в xml файле, т.е. просто указывается таблица и список полей, при добавлении языка или таблицы считывается настройки и формируются новые столбцы. Выборка производится IF(name_ru!='', name_ru, name) AS name. Проблем с добавлением той или иной версии языка нет, так как были разработаны все нужные инструменты. Также не приходилось делать сайты с огромным кол-вом языков (максимум 3). Также отмечу что все что касается статей, новостей или страниц контента имеет привязку к конкретному языку сайта и в переводе не нуждаются (тут уж все зависит от конкретной реализации). Как правило в переводимости нуждаются к примеру товары (заголовок, описание и т.д.). Это частный случай, и тут я использую нечто похожее на 4-ю схему.
$.fn.passSwitch = function()
{
this.each(function(){
if (this.tagName.toLocaleLowerCase() == 'input')
{
var el = $(''),
th = $(this),
type = th.attr('type').toLocaleLowerCase() == 'password'? 'text': 'password';
el.attr('type', type);
for (var i = 0, len = this.attributes.length; i < len; i++)
{
if (this.attributes[i].name.toLocaleLowerCase() != 'type')
{
el.attr(this.attributes[i].name, this.attributes[i].value);
}
}
el.val(th.val());
th.replaceWith(el);
}
});
return this;
}
Ну почему же бессмысленно. Есть база индексов при наличии которой это делается легко www.geopostcodes.com. Главное чтобы не сильно умничать, сталкивался с такими формами где после ввода адреса мне выдавало ошибку что индекс не соответствует городу или что улица не соответствует, либо выдавало select с улицами где моей не было в списке. Так что эта инфа по любому должна быть доступна для редактирования а использование баз должно быть лишь для того чтобы облегчить ввод информации.
Тут ни слова не сказано про имена полей, думаю это самое важное в формах регистрациях. При правильном именовании полей браузер сделает большую часть работы.