25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
1

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

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

Author24 — интернет-сервис помощи студентам
Регистрация сделана
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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2013, 14:54
Ответы с готовыми решениями:

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

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

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

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

17
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
17.06.2013, 15:08 2
ну во первых исправить ошибки этого кода
1
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 15:13  [ТС] 3
не знаю , у меня все отлично пашет. Можете подсказать как сделать так ? как я писал?
0
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
17.06.2013, 15:15 4
Цитата Сообщение от tsorion Посмотреть сообщение
PHP
1
$str=str_replace("'",''',$str);
и три одинаковые кавычки идущие подряд вас не смущают?
0
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 16:26  [ТС] 5
я не знаю почему, но это скопировалось так. Суть не с этом. проблема другая
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
17.06.2013, 17:08 6
Цитата Сообщение от tsorion Посмотреть сообщение
А как сделаьт чтоб только кто "вошел на сайт" мог оставлять отзыв?
как у вас фиксируется вход на сайт? через ссесию? вот и проверяйте - есть ссесия = показывать форму с отзывом, нет ссесии = не показывать
0
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 17:13  [ТС] 7
я не разюираюсь сессия, не сессия. скажите что вам предоставить нужно я все покажую
регистрацию делал во этой статье
http://freehabr.ru/blog/programming/3305.html
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
17.06.2013, 17:18 8
покажите код своей регистрации.
0
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 17:26  [ТС] 9
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
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
17.06.2013, 17:49 10
Цитата Сообщение от tsorion Посмотреть сообщение
PHP
1
include_once 'handler.php'; // проверяем авторизирован ли пользователь
где файл handler.php ?
0
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
17.06.2013, 17:56 11
Цитата Сообщение от tsorion Посмотреть сообщение
PHP
1
2
3
include_once 'handler.php'; // проверяем авторизирован ли пользователь
if($user) { 
// выводим информацию для пользователя
Ну вот же у вас проверка, сделайте ее и при добавлении в базу отзыва
2
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 18:12  [ТС] 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
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
17.06.2013, 18:16 13
все что внутри
PHP
1
if($user) {   /* тут */  }
выводится или работает только у залогиненного юзера, следобательно оберните нужную часть кода в иф
1
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 18:33  [ТС] 14
что-то попробовал, попробовал. но эту часть не нашел
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
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
17.06.2013, 18:37 15
Цитата Сообщение от tsorion Посмотреть сообщение
но эту часть не нашел
Ну если автор кода не может ничего в своем коде найти, что вы от нас хотите...
1
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 20:39  [ТС] 16
Спасибо все понятно стало. А как сделать чтоб когда пользователь не авторизовался то место что от него скрыто было там написанно что-то типа "Информация только для зарегистрировавшихся пользователей"
0
2 / 2 / 0
Регистрация: 07.11.2012
Сообщений: 46
17.06.2013, 21:26 17
Цитата Сообщение от tsorion Посмотреть сообщение
Спасибо все понятно стало. А как сделать чтоб когда пользователь не авторизовался то место что от него скрыто было там написанно что-то типа "Информация только для зарегистрировавшихся пользователей"
Выше уже писали как такое сделать. Вот пример:
if($user)
{
Тут код для отображения формы добавления комментариев;
}
else
{
echo 'Информация только для зарегистрировавшихся пользователей';
}
1
25 / 25 / 0
Регистрация: 11.05.2012
Сообщений: 468
17.06.2013, 21:29  [ТС] 18
Огромное вам спасибо!
0
17.06.2013, 21:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2013, 21:29
Помогаю со студенческими работами здесь

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

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

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

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

Как сделать что бы параметры метода мог вводить пользователь
Подскажите пожалуйста, как сделать что бы параметры метода мог вводить пользователь. Вот пример...

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


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru