PDA

View Full Version : код запрета постить незарегиным


Volgar
25.09.2006, 13:10
напомните, пожалуйста, или дайте ссылку. нужно чтобы в одном модуле (гостевая) все пользователи могли читать сообщения, а постили только зарегенные.
какой там код и в каком месте его нужно вставлять?

Alie
16.10.2006, 04:27
Предупреждаю сразу - пишу сонная :smile:

Самый простой способ, который мне видится - просто не выводить незарегистрированным пользователям форму написания коментариев. А делается это с помощью простого условия if else:


$comment_form = "Форма ввода записей в гостевую";
if(is_user($user) || is_admin($admin)){
//вместо переменной comment_form можно просто прописать форму целиком
echo "$comment_form";
}
else{
echo "<div align='center'>Только зарегистрированные пользователи могут делать записи в гостевой!<br>Просим вас <a href=modules.php?name=Your_Account&op=new_user'><b>зарегистрироватся</b>!</div>";
}

Мой метод на практике выглядит так:
//Пишем глобаль по моей форме
global $module_name, $user, $admin

//Пишем условие вывода формы для пользователей и админов
if(is_user($user) || is_admin($admin)){

//Выводим форму сообщений в гостевую:
echo "<form method=POST action='ссылка_на_функцию_обработчик'>
<table border='1' cellspacing='3' cellpadding='3'>
<tr>
<td><input type='text' name='poster_name' VALUE='$poster_name'></td>
<td> - Введите имя</td>
</tr>
<tr>
<td><textarea cols='50' rows='8' name=comment VALUE='$commen'></textarea></td>
</tr>
<tr>
<td colspan='2' align='center'><input type='submit' VALUE='Отправить' name='submit'></td>
</tr>
</table>
</form>
";
}
//Скрываем форму от анонимов и предлагаем им зарегистрироватся
else{
echo "<div align='center'>Только зарегистрированные пользователи могут делать записи в гостевой!<br>Просим вас <a href='modules.php?name=Your_Account&op=new_user'><b>зарегистрироватся</b>!</div>";
}

Думаю принцип работы понятен...