Страница настройки
На странице можно изменить параметры профиля пользователя.
Стандарт именования: settings.php
На странице обязательно должна быть форма настроек, которая включает в себя:
Необязательные поля |
---|
Логин (disabled) |
E-mail (disabled) |
Дата регистрации (disabled) |
ФИО (name) |
Номер телефона (phone) |
Страна (country) |
Город (city) |
Социальная сеть (vk) |
Скайп (skype) |
А также кнопку "Сохранить изменения" (submit)
В форме есть возможность вывести изменение настроек безопасности пользователя:
Форму отправляем методом "post" на обработчик action="/handlers/user/save_profile.php" Перед отправкой обязательно необходима инициализация формы функцией form_init()
Если во время сохранения изменений возникает ошибка, будет произведен редирект на эту страницу. Ошибка будет выведена на месте функции flash_show('save_profile').
Пример кода
- save_profile.php
<?php $user = get_row_by_id("users", session("id")); ?> <!-- Сохранение профиля --> <?php echo flash_show("save_profile"); ?> <form action="/handlers/user/save_profile.php" method="post"> <?php echo form_init(); ?> <?php echo T('Логин:'); ?> <input disabled type="text" value="<?php echo escape($login); ?>"> <?php echo T('E-mail:'); ?> <input disabled type="text" value="<?php echo escape(login_email($login)); ?>"> <?php echo T('Дата регистрации:'); ?> <input disabled type="text" value="<?php echo escape(login_reg_date($login)); ?>"> <?php echo T('ФИО:'); ?> <input type="text" name="name" value="<?php echo escape(login_name($login)); ?>" placeholder="<?php echo T('ФИО'); ?>"> <?php echo T('Номер телефона:'); ?> <input type="text" name="phone" value="<?php echo isset($user['phone']) ? escape($user['phone']) : escape(post("phone")); ?>" placeholder="<?php echo T('Номер телефона'); ?>"> <?php echo T('Страна:'); ?> <input type="text" name="country" value="<?php echo isset($user['country']) ? escape($user['country']) : escape(post("country")); ?>" placeholder="<?php echo T('Страна'); ?>"> <?php echo T('Город:'); ?> <input type="text" name="city" value="<?php echo isset($user['city']) ? escape($user['city']) : escape(post("city")); ?>" placeholder="<?php echo T('Город'); ?>"> <?php echo T('Социальная сеть:'); ?> <input type="text" name="vk" value="<?php echo isset($user['vk']) ? escape($user['vk']) : escape(post("vk")); ?>" placeholder="<?php echo T('Социальная сеть'); ?>"> <?php echo T('Скайп:'); ?> <input type="text" name="skype" value="<?php echo isset($user['skype']) ? escape($user['skype']) : escape(post("skype")); ?>" placeholder="<?php echo T('Skype'); ?>"> <?php if ($settings_define_save_profile_reset_password) { ?> <?php echo T('Восстановление пароля:'); ?> <select name="reset_password"> <option value="off" <?php if (login_reset_password($login) === "off") echo "selected"; ?>> <?php echo T('Нет'); ?> </option> <option value="on" <?php if (login_reset_password($login) === "on") echo "selected"; ?>> <?php echo T('Да'); ?> </option> </select> <?php } ?> <?php if ($settings_define_save_profile_notification_auth_to_email) { ?> <?php echo T('Уведомление на e-mail при авторизации:'); ?> <select name="notification_auth_to_email"> <option value="off" <?php if (login_notification_auth_to_email($login) === "off") echo "selected"; ?>> <?php echo T('Нет'); ?> </option> <option value="on" <?php if (login_notification_auth_to_email($login) === "on") echo "selected"; ?>> <?php echo T('Да'); ?> </option> </select> <?php } ?> <input type="submit" name="save_profile" value="<?php echo T('Сохранить изменения'); ?>"> </form> <!-- /.Сохранение профиля -->