Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/30: Рейтинг темы: голосов - 30, средняя оценка - 4.93
 Аватар для tsorion
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468

Как сделать чтоб только авторизованный пользователь мог оставлять отзыв?

17.06.2013, 14:54. Показов 5845. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Регистрация сделана
http://freehabr.ru/blog/programming/3305.html
Вот эта страница где люди могут писать отзыв. А как сделаьт чтоб только кто "вошел на сайт" мог оставлять отзыв?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
<?php
function check($str){
   $str=ereg_Replace("(<([^>])*>|>|<)","",$str); //Вытащить текст из тегов
   $str=str_replace("|",'|',$str); //Заменить вертикальную черту (символ 124) кодом, черта будет использоваться как разделитель полей
   $str=str_replace("`",'`',$str); //Заменить оператор выполнения (символ 96) кодом 
   $str=str_replace("'",''',$str); //Заменить одинарные кавычки их кодами
   $str=str_replace('"','&quot;',$str); //Заменить двойные кавычки их кодами (теперь никакие кавычки не попадут в страницу)
 
   $str=str_replace("\r",'',$str); //Удаляем перевод каретки (иначе нарушится структура базы данных)
   $str=str_replace("\n",'<br>',$str); //Заменить начало строки HTML-кодом (иначе нарушится структура базы данных)
   return ($str);
}
if (@$warn) {unset($warn);}
$maxlines=10; // сообщений на странице
$maxlen=35;   // длина полей
$maxlenMes=1000;// длина сообщения
$filename = "guest.csv"; // Занесем имя файла в переменную
if (@$_POST['add']) {
   if (empty($_POST['name']) or empty($_POST['mess'])) {// проверка наличия обязательных полей (именно в методе ПОСТ)
 $warn="Не заполнены обязательные поля!";
   }else{
 $warn="";
 if(strlen($_POST['name']) > $maxlen)
 {
    $name=substr(check($_POST['name']),0,$maxlen);
    $warn="Слишком длинное имя. Сократите до $maxlen символов! ";
 }else{
    $name=check($_POST['name']);
 }
 if(strlen($_POST['mail']) > $maxlen)
 {
    $mail=substr(check($_POST['mail']),0,$maxlen);
    $warn="Слишком длинное имя. Сократите до $maxlen символов! ";
 }elseif($_POST['mail'] and ! eregi("([0-9a-z\.-_]+)@([0-9a-z\.-_]+)\.([a-z]{2,}) *$",$_POST['mail'])){
    $warn.="Таких электронных адресов не бывает! ";
 }else{
    $mail=check($_POST['mail']);
 }
 
 if(strlen($_POST['url']) > $maxlen)
 {
    $url=substr(check($_POST['url']),0,$maxlen);
    $warn.="Слишком длинный адрес. Сократите до $maxlen символов!";
 }else{
    $url=check($_POST['url']);
 }
 if(strlen($_POST['city']) > $maxlen)
 {
    $city=substr(check($_POST['city']),0,$maxlen);
    $warn.="Слишком длинное название города. Сократите до $maxlen символов!";
 }else{
    $city='';
 }
 if(strlen($_POST['mess']) > $maxlenMes)
 {
    $mess=substr(check($_POST['mess']),0,$maxlenMes);
    $warn.="Слишком длинное сообщение. Сократите до $maxlenMes символов!";
 }else{
    $mess=check($_POST['mess']);
 }
   }
   if (empty($warn)) {
 $f=fopen($filename,"a") or die("Не могу открыть файл на запись!");
 flock($f,LOCK_EX); // ждем, пока не станем единственными и блокируем
 fwrite($f, "$name|$mail|$url|$city|".time()."|$mess\r\n"); // записываем данные в файл
 fflush($f); // записываем все изменения на диск
 flock($f,LOCK_UN); // говорим что, больше не будем работать с файлом и разблокируем
 fclose($f); // Закрываем файл
 Header("Location: http://".$_SERVER["SERVER_NAME"]. $_SERVER["SCRIPT_NAME"].'?adet=1');
 exit();
   }
}
?>
 
 
<!doctype html>
<html>
<head>
<meta charset="windows-1251">
<title>Национальный музей Северной Осетии</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="css.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="outer">
    <div id="header">
    <div class="reg">
    <?php 
include_once 'handler.php'; // проверяем авторизирован ли пользователь
 
if($user) { 
// выводим информацию для пользователя 
echo 'Привет, <b>'.$user['username'].'</b>!<br /> 
- <a href="exit.php">Выйти</a><br /> 
'; 
} else { 
// выводим информацию для гостя 
echo ' 
- <a href="login.php" class="reg">Авторизация</a> 
- <a href="register.php" class="reg">Регистрация</a><br /> 
'; 
} 
?>
</div>
        <h1><a href="index.php">Национальный музей Северной Осетии</a> </h1>
        <h2>галерея</h2>
    </div>
 
<div id="menu">
<ul><br><br>
  <li><a href="index.php">Главная</a></li>
  <li><a href="clear.php?page=museum">О музее</a></li>
  <li><a href="clear.php?page=filiali">Филиалы</a></li>
  <li><a href="clear.php?page=fondi">Фонды</a></li>
  <li><a href="clear.php?page=karta">Карта</a></li>
  <li><a href="clear.php?page=afisha">Афиша</a></li>
  <li><a href="otzivi.php">Книга отзывов</a></li>
  <li><a href="clear.php?page=arhive">Архив</a></li>
  </ul>
</div>            
        </ul>
    </div>   
    <div id="content">
        <div id="tertiaryContent">
            <h3>Посетите наш музей</h3>
            <p>Мы работаем с пн.- сб. с 9:00 до 19:00</p>
            <h3> г. Владикавказ, проспект Мира,11</h3>
    <!--        <ul>
                <li><a href="#">Vivamus id arcu</a></li>
                <li><a href="#">Duis congue ultricies</a></li>
                <li><a href="#">Purus in mollis purus</a></li>
                <li><a href="#">Orci nonummy fringilla</a></li>
                <li><a href="#">Pellentesque at lorem</a></li>
                <li><a href="#">Enim vivamus convallis</a></li>
                <li><a href="#">Ipsum vitae felis</a></li>
                <li><a href="#">Integer facilisis</a></li>
                <li><a href="#">Sagittis Bibendum Erat</a></li>
                <li><a href="#">Malesuada Turpis</a></li>
                <li><a href="#">Quis Gravida Massa</a></li>
                <li><a href="#">Inerat Viverra Ornare</a></li>
            </ul>
            <h3>Malesuada vivamus</h3>
            <ul>
                <li><a href="#">Orci nonummy fringilla</a></li>
                <li><a href="#">Enim vivamus convallis</a></li>
                <li><a href="#">Duis congue ultricies</a></li>
                <li><a href="#">Purus in mollis purus</a></li>
                <li><a href="#">Malesuada Turpis</a></li>
                <li><a href="#">Integer facilisis</a></li>
                <li><a href="#">Quis Gravida Massa</a></li>
                <li><a href="#">Pellentesque at lorem</a></li>
                <li><a href="#">Ipsum vitae felis</a></li>
                <li><a href="#">Sagittis Bibendum Erat</a></li>
            </ul>  -->
            <div class="xbg"></div>
        </div>
        
        <div id="primaryContentContainer">
            <div id="primaryContent">
            
<?
if (@$adet==1):
   echo "<P style='color:green'>Ваше сообщение добавлено</p>";
elseif (@$warn):
   echo "<P style='color:red'>$warn</p>";
else:
   echo "<P style='color:navy'>Оставьте Ваше сообщение</p>";
endif;
 
// Создаем Скрипт, который отображает данные из файла
function datestring($date){
 $monstring=array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
 $m=$monstring[$date['mon']-1];
 
 $daystring=array("в воскресенье","в понедельник","во вторник","в среду","в четверг","в пятницу","в субботу");
 $d=$daystring[$date['wday']];
 
 if(strlen($date['minutes'])==1)
   {
   $min="0".$date['minutes'];
 }else{
   $min=$date['minutes'];
 }
 return "Сообщение написано $d, ".$date['mday']." $m ".$date['year']." года, в ".$date['hours']." ч. $min мин.";
}
 
if (is_readable($filename)) { // если файл читается
  $data=file($filename);// весь файл в массив строк
  $totlines=count($data);//сколько записей
 
  if (!isset($totlines)) {$totlines=0;}
  $int=(int)($totlines/$maxlines); // вычисляем количество страниц
  if ($int*$maxlines < $totlines):
    $pages=$int+1;
  else:
    $pages=$int;
  endif;
  if(@$page < 1 || @$page > $pages) {$page=1;} // текуцая страница задается черес GET. Если не задана, значит первая
 
  for ($link=1;$link<=$pages;$link++) // определяем ссылки на другие страницы
  {
    if ($link!=$page)
       {
       @$line.="<a href='".$_SERVER["SCRIPT_NAME"]."?page=$link'>[$link]</a>";
       }
    if ($link==$page)
       {
       @$line.=" $link ";
       }
  }
  if (!isset($line)) {$line=1;}
  echo "<p>Записей $totlines,  Страницы  <b>$line</b></P>";
}
?>
 
<!-- Создаем форму, определив, какие данные нас интересуют -->
<form action=<?echo $_SERVER["SCRIPT_NAME"];?> name="Guestbook" method=post>
<table border=2 width=366px>
<tr><td align=right class=p>*Ваше имя:<input class=p type=text SIZE=39 MAXLENGTH=<?=@$maxlen;?> name=name value="<?=@$name;?>"></td></tr>
<tr><td align=right class=p>E-mail:<input class=p type=text SIZE=39 MAXLENGTH=<?=@$maxlen;?> name=mail value="<?=@$mail;?>"></td></tr>
<tr><td align=right class=p>Ваш сайт:<input class=p type=text SIZE=39 MAXLENGTH=<?=@$maxlen;?> name=url value="<?=@$url;?>"></td></tr>
<tr><td align=right class=p>Город:<input class=p type=text SIZE=39 MAXLENGTH=<?=@$maxlen;?> name=city value="<?=@$city;?>"></td></tr>
<tr><td align=left class=p valign=top>*Сообщение (Не более <?=@$maxlenMes;?> символов – до появления полос прокрутки):<br><textarea class=p name=mess rows=19 COLS=54><?=@$mess;?></textarea></td></tr>
<tr><td class=p colspan=2><input class=p type=submit value=Отправить name=add id=b> * – поля обязательные для заполнения.</td></tr>
</table>
</form>
<P>&nbsp;</p>
 
<?
  // Запись строк
  if (!isset($totlines)) {$totlines=0;}
  if (!isset($page)) {$page=1;}
  if (!isset($line)) {$line=1;}
  $to=$totlines+(1-$page)*$maxlines; //         $page*$maxlines-1;// от (поскольку это массив и его можно получить по ключам, определим точное положение самой свежей из должных отобразиться на странице)
  $from=$to-$maxlines;               // ($page-1)*$maxlines-1; // до (самая старая на странице)
  if ($from < 0) {$from=0;}
 
  for($i=$to-1; $i >= $from; $i--) // от последней из требуемых, до наиболее старой, что должна отобразится (поскольку массив нумеруется с ноля, вычтем единицу из to)
  {
     list($name, $mail, $url, $city, $time, $mess) = explode("|",trim($data[$i])); // перебросим массив в переменные
 echo
"
<table border=1 width=90% cellpadding=2 cellspacing=1 bgcolor=#CCCCCC class=p>
<tr><td align=center bgcolor=#e8e8ff><b>$name</b> ($city)</td></tr>
<tr><td align=center bgcolor=#e8e8ff>E-mail: $mail<br>Home page: $url</td></tr>
<tr><td bgcolor=#FFFFFF>$mess</td></tr>
<tr><td align=right >".datestring(getdate($time))."</td></tr>
</table>
<P>&nbsp;</p>
";
  }
  echo "<p>Записей $totlines, Страницы <b>$line</b>";
?>
 
                
                
                
            </div>
        </div>
        <div id="secondaryContent">
            <h3><a href="gallery.php">Виртуальный музей</a></h3>
        <p></p>
    <!--            <h3>Fusce dolor tristique</h3> -->
        <p><a href="gallery.php"> <img src="images/previe.jpg" width="150"</p></a>   <!--
            <h3>Fusce dolor tristique</h3>
            <p>Sed eu eros imperdiet eros interdum blandit. Vivamus sagittis bibendum erat. Curabitur malesuada. <a href="#">More…</a></p>
            <h3>Nunc pellentesque</h3>
            <ul>
                <li><a href="#">Orci nonummy fringilla</a></li>
                <li><a href="#">Enim vivamus convallis</a></li>
                <li><a href="#">Duis congue ultricies</a></li>
                <li><a href="#">Purus in mollis purus</a></li>
            </ul>
            <p>Sed vestibulum blandit nisl. Quisque elementum convallis purus. Suspendisse potenti. Donec nulla est, laoreet quis, pellentesque in. <a href="#">More…</a></p>
            <h3>Ipsum Dolorem</h3>
            <ul>
                <li><a href="#">Sagittis Bibendum Erat</a></li>
                <li><a href="#">Malesuada Turpis</a></li>
                <li><a href="#">Quis Gravida Massa</a></li>
                <li><a href="#">Inerat Viverra Ornare</a></li>
            </ul>
            <div class="xbg"></div>   -->
        </div>  
        <div class="clear"></div>
    </div>  
    <div id="footer">
        <p>Национальный музей РСО-Алания 362040, г. Владикавказ, проспект Мира 11,  e-mail: sogomial@mail.ru</p>
    </div>
</div>
</body>
</html>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2013, 14:54
Ответы с готовыми решениями:

Как сделать чтобы пользователь мог вводить только цифры?
Как сделать чтобы пользователь мог вводить только цифры или точку? А именно символы, которые указание в регулярном выражении. И самое...

Нужно сделать так, чтоб в TextBox пользователь не мог удалить первый символ
Здравствуйте) Нужно сделать так, чтоб в TextBox пользователь не мог удалить первый символ, который туда добавляется программно, но мог...

Как сделать так, чтобы пользователь мог выполнять определенные действия на сайте только после авторизации?
Здравствуйте, уважаемые товарищи программисты и сисадмины! У меня есть такая проблема: я создаю сайт по типу доски онлайн объявлений. И...

17
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,844
17.06.2013, 15:08
ну во первых исправить ошибки этого кода
1
 Аватар для tsorion
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 15:13  [ТС]
не знаю , у меня все отлично пашет. Можете подсказать как сделать так ? как я писал?
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,844
17.06.2013, 15:15
Цитата Сообщение от tsorion Посмотреть сообщение
PHP
1
$str=str_replace("'",''',$str);
и три одинаковые кавычки идущие подряд вас не смущают?
0
 Аватар для tsorion
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 16:26  [ТС]
я не знаю почему, но это скопировалось так. Суть не с этом. проблема другая
0
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
17.06.2013, 17:08
Цитата Сообщение от tsorion Посмотреть сообщение
А как сделаьт чтоб только кто "вошел на сайт" мог оставлять отзыв?
как у вас фиксируется вход на сайт? через ссесию? вот и проверяйте - есть ссесия = показывать форму с отзывом, нет ссесии = не показывать
0
 Аватар для tsorion
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 17:13  [ТС]
я не разюираюсь сессия, не сессия. скажите что вам предоставить нужно я все покажую
регистрацию делал во этой статье
http://freehabr.ru/blog/programming/3305.html
0
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
17.06.2013, 17:18
покажите код своей регистрации.
0
 Аватар для tsorion
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 17:26  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<!doctype html>
<html>
<head>
<meta charset="windows-1251">
<title>Национальный музей Северной Осетии</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="css.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="outer">
    <div id="header">
    <div class="reg">
    <?php 
include_once 'handler.php'; // проверяем авторизирован ли пользователь
 
if($user) { 
// выводим информацию для пользователя 
echo 'Привет, <b>'.$user['username'].'</b>!<br /> 
- <a href="exit.php">Выйти</a><br /> 
'; 
} else { 
// выводим информацию для гостя 
echo ' 
- <a href="login.php" class="reg">Авторизация</a> 
- <a href="register.php" class="reg">Регистрация</a><br /> 
'; 
} 
?>
</div>
        <h1><a href="index.php">Национальный музей Северной Осетии</a> </h1>
        <h2>галерея</h2>
    </div>
 
<div id="menu">
<ul><br><br>
  <li><a href="index.php">Главная</a></li>
  <li><a href="clear.php?page=museum">О музее</a></li>
  <li><a href="clear.php?page=filiali">Филиалы</a></li>
  <li><a href="clear.php?page=fondi">Фонды</a></li>
  <li><a href="clear.php?page=karta">Карта</a></li>
  <li><a href="clear.php?page=afisha">Афиша</a></li>
  <li><a href="otzivi.php">Книга отзывов</a></li>
  <li><a href="clear.php?page=arhive">Архив</a></li>
  </ul>
</div>            
        </ul>
    </div>   
    <div id="content">
        <div id="tertiaryContent">
            <h3>Посетите наш музей</h3>
            <p>Мы работаем с пн.- сб. с 9:00 до 19:00</p>
            <h3> г. Владикавказ, проспект Мира,11</h3>
    <!--        <ul>
                <li><a href="#">Vivamus id arcu</a></li>
                <li><a href="#">Duis congue ultricies</a></li>
                <li><a href="#">Purus in mollis purus</a></li>
                <li><a href="#">Orci nonummy fringilla</a></li>
                <li><a href="#">Pellentesque at lorem</a></li>
                <li><a href="#">Enim vivamus convallis</a></li>
                <li><a href="#">Ipsum vitae felis</a></li>
                <li><a href="#">Integer facilisis</a></li>
                <li><a href="#">Sagittis Bibendum Erat</a></li>
                <li><a href="#">Malesuada Turpis</a></li>
                <li><a href="#">Quis Gravida Massa</a></li>
                <li><a href="#">Inerat Viverra Ornare</a></li>
            </ul>
            <h3>Malesuada vivamus</h3>
            <ul>
                <li><a href="#">Orci nonummy fringilla</a></li>
                <li><a href="#">Enim vivamus convallis</a></li>
                <li><a href="#">Duis congue ultricies</a></li>
                <li><a href="#">Purus in mollis purus</a></li>
                <li><a href="#">Malesuada Turpis</a></li>
                <li><a href="#">Integer facilisis</a></li>
                <li><a href="#">Quis Gravida Massa</a></li>
                <li><a href="#">Pellentesque at lorem</a></li>
                <li><a href="#">Ipsum vitae felis</a></li>
                <li><a href="#">Sagittis Bibendum Erat</a></li>
            </ul>  -->
            <div class="xbg"></div>
        </div>
        
        <div id="primaryContentContainer">
            <div id="primaryContent">
            <h2>Регистрация</h2>
           <p></p><br>
<?php 
include_once 'handler.php'; // проверяем авторизирован ли пользователь
 
// если да, перенаправляем его на главную страницу 
if($user) { 
header ('Location: index.php'); 
exit(); 
} 
 
if (!empty($_POST['login']) AND !empty($_POST['password'])) 
{ 
// фильтрируем логин и пароль 
$login = mysql_real_escape_string(htmlspecialchars($_POST['login']));
$password = mysql_real_escape_string(htmlspecialchars($_POST['password']));
 
// проверяем есть ли логин в нашей базе данных 
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users_profiles` WHERE `username` = '".$login."' LIMIT 1;"), 0) != 0)
{ 
echo 'Выбранный логин уже зарегистрирован!'; 
exit(); 
} 
// заносим данные в таблицу, обратите внимание - пароль кодируем в md5
mysql_query("INSERT INTO `users_profiles` (`username`, `password`) VALUES ('".$login."', '".md5($password)."')");
echo 'Вы успешно зарегистрированы!'; 
exit(); 
} 
// форма регистрации 
echo ' 
<form action="register.php" method="POST"> 
Логин:<br>
 
<input name="login" type="text" value="" />
<br>
Пароль:<br>
 
<input name="password" type="text" value="" />
 <br><br>
<input type="submit" value="Зарегистрироваться" /> 
</form>'; 
?>
    </div>
        </div>
        <div id="secondaryContent">
            <h3></h3>
        <!--        <p>Rhoncus ac, lacinia, nisl. Aliquam gravida massa eu arcu. <a href="#">More…</a></p>
            <h3>Fusce dolor tristique</h3>
            <p>Sed eu eros imperdiet eros interdum blandit. Vivamus sagittis bibendum erat. Curabitur malesuada. <a href="#">More…</a></p>
            <h3>Nunc pellentesque</h3>
            <ul>
                <li><a href="#">Orci nonummy fringilla</a></li>
                <li><a href="#">Enim vivamus convallis</a></li>
                <li><a href="#">Duis congue ultricies</a></li>
                <li><a href="#">Purus in mollis purus</a></li>
            </ul>
            <p>Sed vestibulum blandit nisl. Quisque elementum convallis purus. Suspendisse potenti. Donec nulla est, laoreet quis, pellentesque in. <a href="#">More…</a></p>
            <h3>Ipsum Dolorem</h3>
            <ul>
                <li><a href="#">Sagittis Bibendum Erat</a></li>
                <li><a href="#">Malesuada Turpis</a></li>
                <li><a href="#">Quis Gravida Massa</a></li>
                <li><a href="#">Inerat Viverra Ornare</a></li>
            </ul>
            <div class="xbg"></div>   -->
        </div>
        <div class="clear"></div>
    </div>
    <div id="footer">
        <p>Национальный музей РСО-Алания 362040, г. Владикавказ, проспект Мира 11,  e-mail: sogomial@mail.ru</p>
    </div>
</div>
</body>
</html>
0
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
17.06.2013, 17:49
Цитата Сообщение от tsorion Посмотреть сообщение
PHP
1
include_once 'handler.php'; // проверяем авторизирован ли пользователь
где файл handler.php ?
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,844
17.06.2013, 17:56
Цитата Сообщение от tsorion Посмотреть сообщение
PHP
1
2
3
include_once 'handler.php'; // проверяем авторизирован ли пользователь
if($user) { 
// выводим информацию для пользователя
Ну вот же у вас проверка, сделайте ее и при добавлении в базу отзыва
2
 Аватар для tsorion
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 18:12  [ТС]
handler.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php 
include_once 'db_connect.php'; // проверяем подключение к базе данных
 
// проверяем заполнены ли логин и пароль в куках 
if(!empty($_COOKIE['username']) AND !empty($_COOKIE['password']))
{ 
// ищем пользователя в таблице users_profiles, mysql_real_escape_string используем как защиту от sql injection
$search_user = mysql_query("SELECT * FROM `users_profiles` WHERE `username` = '".mysql_real_escape_string($_COOKIE['username'])."' AND `password` = '".mysql_real_escape_string($_COOKIE['password'])."'");
$user = (mysql_num_rows($search_user) == 1) ? mysql_fetch_array($search_user) : 0;
} 
else 
{ 
$user = 0; 
} 
?>
Добавлено через 7 минут
Цитата Сообщение от crautcher Посмотреть сообщение
Ну вот же у вас проверка, сделайте ее и при добавлении в базу отзыва
А как это делается?
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,844
17.06.2013, 18:16
все что внутри
PHP
1
if($user) {   /* тут */  }
выводится или работает только у залогиненного юзера, следобательно оберните нужную часть кода в иф
1
 Аватар для tsorion
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 18:33  [ТС]
что-то попробовал, попробовал. но эту часть не нашел
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
<?php  
function check($str){
   $str=ereg_Replace("(<([^>])*>|>|<)","",$str); //Вытащить текст из тегов
   $str=str_replace("|",'|',$str); //Заменить вертикальную черту (символ 124) кодом, черта будет использоваться как разделитель полей
   $str=str_replace("`",'`',$str); //Заменить оператор выполнения (символ 96) кодом 
   $str=str_replace("'",''',$str); //Заменить одинарные кавычки их кодами
   $str=str_replace('"','&quot;',$str); //Заменить двойные кавычки их кодами (теперь никакие кавычки не попадут в страницу)
 
   $str=str_replace("\r",'',$str); //Удаляем перевод каретки (иначе нарушится структура базы данных)
   $str=str_replace("\n",'<br>',$str); //Заменить начало строки HTML-кодом (иначе нарушится структура базы данных)
   return ($str);
}
if (@$warn) {unset($warn);}
$maxlines=10; // сообщений на странице
$maxlen=35;   // длина полей
$maxlenMes=1000;// длина сообщения
$filename = "guest.csv"; // Занесем имя файла в переменную
if (@$_POST['add']) {
   if (empty($_POST['name']) or empty($_POST['mess'])) {// проверка наличия обязательных полей (именно в методе ПОСТ)
 $warn="Не заполнены обязательные поля!";
   }else{
 $warn="";
 if(strlen($_POST['name']) > $maxlen)
 {
    $name=substr(check($_POST['name']),0,$maxlen);
    $warn="Слишком длинное имя. Сократите до $maxlen символов! ";
 }else{
    $name=check($_POST['name']);
 }
 if(strlen($_POST['mail']) > $maxlen)
 {
    $mail=substr(check($_POST['mail']),0,$maxlen);
    $warn="Слишком длинное имя. Сократите до $maxlen символов! ";
 }elseif($_POST['mail'] and ! eregi("([0-9a-z\.-_]+)@([0-9a-z\.-_]+)\.([a-z]{2,}) *$",$_POST['mail'])){
    $warn.="Таких электронных адресов не бывает! ";
 }else{
    $mail=check($_POST['mail']);
 }
 
 if(strlen($_POST['url']) > $maxlen)
 {
    $url=substr(check($_POST['url']),0,$maxlen);
    $warn.="Слишком длинный адрес. Сократите до $maxlen символов!";
 }else{
    $url=check($_POST['url']);
 }
 if(strlen($_POST['city']) > $maxlen)
 {
    $city=substr(check($_POST['city']),0,$maxlen);
    $warn.="Слишком длинное название города. Сократите до $maxlen символов!";
 }else{
    $city='';
 }
 if(strlen($_POST['mess']) > $maxlenMes)
 {
    $mess=substr(check($_POST['mess']),0,$maxlenMes);
    $warn.="Слишком длинное сообщение. Сократите до $maxlenMes символов!";
 }else{
    $mess=check($_POST['mess']);
 }
   }
   if (empty($warn)) {
 $f=fopen($filename,"a") or die("Не могу открыть файл на запись!");
 flock($f,LOCK_EX); // ждем, пока не станем единственными и блокируем
 fwrite($f, "$name|$mail|$url|$city|".time()."|$mess\r\n"); // записываем данные в файл
 fflush($f); // записываем все изменения на диск
 flock($f,LOCK_UN); // говорим что, больше не будем работать с файлом и разблокируем
 fclose($f); // Закрываем файл
 Header("Location: http://".$_SERVER["SERVER_NAME"]. $_SERVER["SCRIPT_NAME"].'?adet=1');
 exit();
   }
}
?>
 
 
<!doctype html>
<html>
<head>
<meta charset="windows-1251">
<title>Национальный музей Северной Осетии</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="css.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="outer">
    <div id="header">
    <div class="reg">
    <?php 
include_once 'handler.php'; // проверяем авторизирован ли пользователь
 
if($user) { 
// выводим информацию для пользователя 
echo 'Привет, <b>'.$user['username'].'</b>!<br /> 
- <a href="exit.php">Выйти</a><br /> 
'; 
} else { 
// выводим информацию для гостя 
echo ' 
- <a href="login.php" class="reg">Авторизация</a> 
- <a href="register.php" class="reg">Регистрация</a><br /> 
'; 
} 
?>
</div>
        <h1><a href="index.php">Национальный музей Северной Осетии</a> </h1>
        <h2>галерея</h2>
    </div>
 
<div id="menu">
<ul><br><br>
  <li><a href="index.php">Главная</a></li>
  <li><a href="clear.php?page=museum">О музее</a></li>
  <li><a href="clear.php?page=filiali">Филиалы</a></li>
  <li><a href="clear.php?page=fondi">Фонды</a></li>
  <li><a href="clear.php?page=karta">Карта</a></li>
  <li><a href="clear.php?page=afisha">Афиша</a></li>
  <li><a href="otzivi.php">Книга отзывов</a></li>
  <li><a href="clear.php?page=arhive">Архив</a></li>
  </ul>
</div>            
        </ul>
    </div>   
    <div id="content">
        <div id="tertiaryContent">
            <h3>Посетите наш музей</h3>
            <p>Мы работаем с пн.- сб. с 9:00 до 19:00</p>
            <h3> г. Владикавказ, проспект Мира,11</h3>
    <!--        <ul>
                <li><a href="#">Vivamus id arcu</a></li>
                <li><a href="#">Duis congue ultricies</a></li>
                <li><a href="#">Purus in mollis purus</a></li>
                <li><a href="#">Orci nonummy fringilla</a></li>
                <li><a href="#">Pellentesque at lorem</a></li>
                <li><a href="#">Enim vivamus convallis</a></li>
                <li><a href="#">Ipsum vitae felis</a></li>
                <li><a href="#">Integer facilisis</a></li>
                <li><a href="#">Sagittis Bibendum Erat</a></li>
                <li><a href="#">Malesuada Turpis</a></li>
                <li><a href="#">Quis Gravida Massa</a></li>
                <li><a href="#">Inerat Viverra Ornare</a></li>
            </ul>
            <h3>Malesuada vivamus</h3>
            <ul>
                <li><a href="#">Orci nonummy fringilla</a></li>
                <li><a href="#">Enim vivamus convallis</a></li>
                <li><a href="#">Duis congue ultricies</a></li>
                <li><a href="#">Purus in mollis purus</a></li>
                <li><a href="#">Malesuada Turpis</a></li>
                <li><a href="#">Integer facilisis</a></li>
                <li><a href="#">Quis Gravida Massa</a></li>
                <li><a href="#">Pellentesque at lorem</a></li>
                <li><a href="#">Ipsum vitae felis</a></li>
                <li><a href="#">Sagittis Bibendum Erat</a></li>
            </ul>  -->
            <div class="xbg"></div>
        </div>
        
        <div id="primaryContentContainer">
            <div id="primaryContent">
            
<? 
if (@$adet==1):
   echo "<P style='color:green'>Ваше сообщение добавлено</p>";
elseif (@$warn):
   echo "<P style='color:red'>$warn</p>";
else:
   echo "<P style='color:navy'>Оставьте Ваше сообщение</p>";
endif;
 
// Создаем Скрипт, который отображает данные из файла
function datestring($date){
 $monstring=array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
 $m=$monstring[$date['mon']-1];
 
 $daystring=array("в воскресенье","в понедельник","во вторник","в среду","в четверг","в пятницу","в субботу");
 $d=$daystring[$date['wday']];
 
 if(strlen($date['minutes'])==1)
   {
   $min="0".$date['minutes'];
 }else{
   $min=$date['minutes'];
 }
 return "Сообщение написано $d, ".$date['mday']." $m ".$date['year']." года, в ".$date['hours']." ч. $min мин.";
}
 
if (is_readable($filename)) { // если файл читается
  $data=file($filename);// весь файл в массив строк
  $totlines=count($data);//сколько записей
 
  if (!isset($totlines)) {$totlines=0;}
  $int=(int)($totlines/$maxlines); // вычисляем количество страниц
  if ($int*$maxlines < $totlines):
    $pages=$int+1;
  else:
    $pages=$int;
  endif;
  if(@$page < 1 || @$page > $pages) {$page=1;} // текуцая страница задается черес GET. Если не задана, значит первая
 
  for ($link=1;$link<=$pages;$link++) // определяем ссылки на другие страницы
  {
    if ($link!=$page)
       {
       @$line.="<a href='".$_SERVER["SCRIPT_NAME"]."?page=$link'>[$link]</a>";
       }
    if ($link==$page)
       {
       @$line.=" $link ";
       }
  }
  if (!isset($line)) {$line=1;}
  echo "<p>Записей $totlines,  Страницы  <b>$line</b></P>";
}
?>
 
<!-- Создаем форму, определив, какие данные нас интересуют -->
<form action=<?echo $_SERVER["SCRIPT_NAME"];?> name="Guestbook" method=post>
<table border=2 width=366px>
<tr><td align=right class=p>*Ваше имя:<input class=p type=text SIZE=39 MAXLENGTH=<?=@$maxlen;?> name=name value="<?=@$name;?>"></td></tr>
<tr><td align=right class=p>E-mail:<input class=p type=text SIZE=39 MAXLENGTH=<?=@$maxlen;?> name=mail value="<?=@$mail;?>"></td></tr>
<tr><td align=right class=p>Ваш сайт:<input class=p type=text SIZE=39 MAXLENGTH=<?=@$maxlen;?> name=url value="<?=@$url;?>"></td></tr>
<tr><td align=right class=p>Город:<input class=p type=text SIZE=39 MAXLENGTH=<?=@$maxlen;?> name=city value="<?=@$city;?>"></td></tr>
<tr><td align=left class=p valign=top>*Сообщение (Не более <?=@$maxlenMes;?> символов – до появления полос прокрутки):<br><textarea class=p name=mess rows=19 COLS=54><?=@$mess;?></textarea></td></tr>
<tr><td class=p colspan=2><input class=p type=submit value=Отправить name=add id=b> * – поля обязательные для заполнения.</td></tr>
</table>
</form>
<P>&nbsp;</p>
 
<?
  // Запись строк
  if (!isset($totlines)) {$totlines=0;}
  if (!isset($page)) {$page=1;}
  if (!isset($line)) {$line=1;}
  $to=$totlines+(1-$page)*$maxlines; //         $page*$maxlines-1;// от (поскольку это массив и его можно получить по ключам, определим точное положение самой свежей из должных отобразиться на странице)
  $from=$to-$maxlines;               // ($page-1)*$maxlines-1; // до (самая старая на странице)
  if ($from < 0) {$from=0;}
 
  for($i=$to-1; $i >= $from; $i--) // от последней из требуемых, до наиболее старой, что должна отобразится (поскольку массив нумеруется с ноля, вычтем единицу из to)
  {
     list($name, $mail, $url, $city, $time, $mess) = explode("|",trim($data[$i])); // перебросим массив в переменные
 echo
"
<table border=1 width=90% cellpadding=2 cellspacing=1 bgcolor=#CCCCCC class=p>
<tr><td align=center bgcolor=#e8e8ff><b>$name</b> ($city)</td></tr>
<tr><td align=center bgcolor=#e8e8ff>E-mail: $mail<br>Home page: $url</td></tr>
<tr><td bgcolor=#FFFFFF>$mess</td></tr>
<tr><td align=right >".datestring(getdate($time))."</td></tr>
</table>
<P>&nbsp;</p>
";
  }
  echo "<p>Записей $totlines, Страницы <b>$line</b>";
?>
 
                
                
                
            </div>
        </div>
        <div id="secondaryContent">
            <h3><a href="gallery.php">Виртуальный музей</a></h3>
        <p></p>
    <!--            <h3>Fusce dolor tristique</h3> -->
        <p><a href="gallery.php"> <img src="images/previe.jpg" width="150"</p></a>   <!--
            <h3>Fusce dolor tristique</h3>
            <p>Sed eu eros imperdiet eros interdum blandit. Vivamus sagittis bibendum erat. Curabitur malesuada. <a href="#">More…</a></p>
            <h3>Nunc pellentesque</h3>
            <ul>
                <li><a href="#">Orci nonummy fringilla</a></li>
                <li><a href="#">Enim vivamus convallis</a></li>
                <li><a href="#">Duis congue ultricies</a></li>
                <li><a href="#">Purus in mollis purus</a></li>
            </ul>
            <p>Sed vestibulum blandit nisl. Quisque elementum convallis purus. Suspendisse potenti. Donec nulla est, laoreet quis, pellentesque in. <a href="#">More…</a></p>
            <h3>Ipsum Dolorem</h3>
            <ul>
                <li><a href="#">Sagittis Bibendum Erat</a></li>
                <li><a href="#">Malesuada Turpis</a></li>
                <li><a href="#">Quis Gravida Massa</a></li>
                <li><a href="#">Inerat Viverra Ornare</a></li>
            </ul>
            <div class="xbg"></div>   -->
        </div>  
        <div class="clear"></div>
    </div>  
    <div id="footer">
        <p>Национальный музей РСО-Алания 362040, г. Владикавказ, проспект Мира 11,  e-mail: sogomial@mail.ru</p>
    </div>
</div>
</body>
</html>
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,844
17.06.2013, 18:37
Цитата Сообщение от tsorion Посмотреть сообщение
но эту часть не нашел
Ну если автор кода не может ничего в своем коде найти, что вы от нас хотите...
1
 Аватар для tsorion
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 20:39  [ТС]
Спасибо все понятно стало. А как сделать чтоб когда пользователь не авторизовался то место что от него скрыто было там написанно что-то типа "Информация только для зарегистрировавшихся пользователей"
0
2 / 2 / 0
Регистрация: 07.11.2012
Сообщений: 46
17.06.2013, 21:26
Цитата Сообщение от tsorion Посмотреть сообщение
Спасибо все понятно стало. А как сделать чтоб когда пользователь не авторизовался то место что от него скрыто было там написанно что-то типа "Информация только для зарегистрировавшихся пользователей"
Выше уже писали как такое сделать. Вот пример:
if($user)
{
Тут код для отображения формы добавления комментариев;
}
else
{
echo 'Информация только для зарегистрировавшихся пользователей';
}
1
 Аватар для tsorion
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 21:29  [ТС]
Огромное вам спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.06.2013, 21:29
Помогаю со студенческими работами здесь

Нужно чтоб пользователь мог добавлять др. пользователей
Подскажите, пожалуйста, возможно ли в joomla такое сделать. Задача у меня такая: регистрируется учитель потом сам добавляет свой класс...

Как сделать чтоб объект не мог иметь больше 1 дочернего объекта?
Программист из меня пока что еще не важный но я буду совершенствоваться!!! А столкнулся с такой проблемой! Как сделать чтоб объект не мог...

как сделать чтобы один юзер мог нажать только допустим только 2 раза
Можно так сделать? Если так то как.

Как сделать чтобы, пользователь не мог ввести время с 2 до 12?
C# программа определяет сколько часов Вы спите (В Консоле)В моей программе множество циклов, и с одним у меня проблема: если вы вводите...

Как сделать, чтобы пользователь не мог кликать по браузеру
Добрый день! Создал в программе webBrowser1. Программа кликает по браузеру программно, сама. Как сделать так, чтобы браузер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru