Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Эсмиральда
4 / 4 / 0
Регистрация: 17.10.2014
Сообщений: 63
1

Работа с сессиями

19.06.2016, 17:54. Просмотров 132. Ответов 0
Метки нет (Все метки)

Корректно ли у меня построена работа с сессиями? И когда началась сессия как сделать чтобы ссылка "Выход" появлялась в файле records.php не наверху, а в внизу рядом с ссылкой "К форме добавки"?

файл records.php
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
<?php
 
 
include_once('connect_db.php');
 
$result_message = '';
 
if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['sendForm1'])){
  
  
              foreach ($_POST as $key=>$value) {
                  if (strpos($key,'emove') > 0) {
                        $id = str_replace('remove_','',$key);
                        $db->query("DELETE FROM orders WHERE id = '".$id."'");
                      
                  }
              }
  
}
 
 
?><!DOCTYPE html>
<html>  
<head>
  <meta charset="utf-8">
  <title>Формы</title>
  <style>
    .msg{
        padding:16px;
      margin:16px;
    }
    table{
    
      border-collapse: collapse;
    }
    td, th{
        padding:0.6em;
      border:black 1px solid;
    }
    
    
  </style>
</head>
  <body>
    <div align="center">
      <div style="width:800px;border:1px gray solid;padding:16px;">
        <h1 align = "center">Заявки</h1>
            <form action="records.php" method="POST" enctype="multipart/form-data">
            <table>
              <tr>
              <th></th>
                <th>Имя</th>
                <th>Фамилия</th>
                <th>E-mail</th>
                <th>Телефон</th>
                <th>Конференция</th>
                <th>Способ оплаты</th>
                <th>Рассылка</th>
              </tr>
                <?php $none = true; 
 
                            $fields = 'orders.name AS name, ';
                            $fields .= 'orders.id AS id, ';
                            $fields .= 'orders.surname AS surname, ';
                            $fields .= 'orders.phone AS phone, ';
                            $fields .= 'orders.email AS email, ';
                            $fields .= 'orders.spam AS spam, ';
                            $fields .= 'conference.name AS conference, ';
                            $fields .= 'payment.name AS payment ';
                            
 
                            foreach ($db->query('SELECT '.$fields.' FROM orders, conference, payment WHERE conference.id = orders.conference_id AND payment.id = orders.payment_id;') as $row){
                    $none = false;
                                    $wantSpam = 'против';
                                    if($row['spam'] > 0){
                      $wantSpam = 'желает';
                    }
                                    
                      echo '<tr>
                      <td><input type="checkbox" name="remove_'.$row['id'].'"></td>
                      <td>'.$row['name'].'</td>
                      <td>'.$row['surname'].'</td>
                      <td>'.$row['email'].'</td>
                      <td>'.$row['phone'].'</td>
                      <td>'.$row['conference'].'</td>
                      <td>'.$row['payment'].'</td>
                      <td>'.$wantSpam.'</td></tr>';
                  
              }
if($none){
    echo '<tr><td align="center" colspan="8">Нет заявок</td></tr>';
}
              
              ?>
              
            </table> 
          <?if(!$none){?><input name="sendForm1" onclick="return confirm('Вы уверены?');" type="submit" value="Удалить"><?}?>
        </form>
        <br>
        <a href="view.php">К форме добавки</a>
        
        <?php 
           if (isset($_GET['exit'])){ 
              session_destroy(); 
                header("Location: view.php");
                exit();
         } 
        ?> 
        
        
      </div>
    </div>   
  </body>
</html>
Файл login.php
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
<?php
ob_start();
session_save_path('session'); //расположение файлов с сессией
session_start();
 
 
if(isset($_POST['submitlogin'])){ //кнопка submbitlogin для входа
    $pass = $_POST['pass'];
    $login=$_POST['login'];
   
    if (md5($pass == '123') && $login == 'login') //логин и пароль
    {
      $_SESSION['login'] = time(); 
        header("Location: records.php"); //переходим на страницу с заявками
        exit();
      
    }
  else {
      echo '<center> Неверные данные </center>';
  }
  
 }
 
 
?>
 
<?php 
 
    if(isset($_SESSION['login'])){ //если началась сессия, то выводим это
      echo '<center><a href="?exit">Выход</a></center>'; 
     
      include("records.php"); 
     
    }
else { //иначе страница входа
  echo'
<html>
<form action="login.php" method="POST">
 
 <center>Логин : <input type="text" name="login" /><br><br>
  Пароль : <input type="text" name="pass"/><br><br><br>
<input type="submit" name="submitlogin" value="Войти" />
<br><br>
 
<a href="view.php">Выход</a></center>
 
</form>
</html>';
  
}
 
 
if (isset($_GET['exit'])){ //если нажата кнопка "выйти" - выходим
     session_destroy();
  header("Location: login.php");
  exit();
  
  
}
    
 
?>
Файл view.php

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
<?php
 
function isValid(&$err){
  if(mb_strlen($_POST['name']) < 2) $err[] = 'Вы не ввели имя';
  elseif (!preg_match("/^[А-Яа-я]+/",$_POST['name']))   $err[] = 'Вводимое имя должно быть на русском языке';
 
  if(mb_strlen($_POST['surname']) < 2) $err[] = 'Не ввели фамилию';
  elseif (!preg_match("/^[А-Яа-я]+$/",$_POST['surname']))   $err[] = 'Вводимая фамилия должно быть на русском языке';
    
  if(mb_strlen($_POST['telephon']) < 2) $err[] = 'Не ввели телефон'; 
  elseif (!preg_match("/^\+7[0-9]{10}$/",$_POST['telephon']))   $err[] = 'Вы ввели некорректный номер телефона, образец : +7XXXXXXXXXX';
    
  if(mb_strlen($_POST['email']) < 2) $err[] = 'Не ввели email';
  elseif (!preg_match("/^(\S+)@([a-z0-9.]+)$/",$_POST['email']))    $err[] = 'Вы ввели некорректный email';
    
  if($_POST['select_name'] == -1)   $err[] = 'Не выбрали конференцию';
  if($_POST['money'] == -1) $err[] = 'Не выбрали способ оплаты';
  
  if(count($err) > 0)return false;
  return true;
}
 
 
include_once('connect_db.php');
 
$result_message = '';
 
if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['sendForm1'])){
  
  $wantSpam = '0';
  if(isset($_POST['check']) && $_POST['check'] == 'on'){
        $wantSpam = '1';
  }
 
  $sql = "INSERT INTO orders (name,surname,phone,email,spam,payment_id,conference_id) VALUES ";
  $sql .= "('".$_POST['name']."','";
  $sql .= $_POST['surname']."','";
  $sql .= $_POST['telephon']."','";
  $sql .= $_POST['email']."','";
  $sql .= $wantSpam."','";
  $sql .= $_POST['money']."','";
  $sql .= $_POST['select_name'].'\')';
  
  
  
  
  $errors = array();
  
  if(isValid($errors)){
    $db->query($sql);
    $result_message = '<div class="msg" style="background-color:#D7FCC2;">Ваша заявка успешно принята</div>';
  }else{
    $result_message = '<div class="msg" style="background-color:#FCCAC2;">'.implode('<br>',$errors).'</div>';
  }
  
  
}
 
 
?><!DOCTYPE html>
<html>  
<head>
  <meta charset="utf-8">
  <title>Формы</title>
  <style>
    .msg{
        padding:16px;
      margin:16px;
      text-align:left;
    }  
  </style>
</head>
  <body>
    
  
    
    <div align="center">
      <div style="width:400px;border:1px gray solid;padding:16px;">
        <h1 align = "center">Заявка</h1>
            <?=$result_message?>
        <form action="./view.php" method="POST" enctype="multipart/form-data">
             <div align="right" style="padding-right:60px;">
             Имя:<input type="text" size="32" name="name"  maxlength="50" value="<?php echo (!empty($_POST['name']))? $_POST['name']:''?>" /><br><br />
             Фамилия:<input type="text" size="32" name="surname"  maxlength="50" value="<?php if(!empty($_POST['surname'])){echo($_POST['surname']);} ?>" /><br><br />
             E-mail:<input type="text" size="32" name="email"  maxlength="50" value="<?php if(!empty($_POST['email'])){echo($_POST['email']);} ?>" /><br><br />
             Телефон:<input type="text" size="32" name="telephon"  maxlength="50" value="<?php if(!empty($_POST['telephon'])){echo($_POST['telephon']);} ?>" /><br><br />
             </div>
 
             <label>Выберите конференцию:</label>
                  <select style="width:200px;" name="select_name">
                    <?php $selected_num = -1; if(!empty($_POST['select_name']))$selected_num = $_POST['select_name']?> 
                    <option <?=($selected_num == -1)?'selected':''?> value="-1">Выберите</option>
                    <?php foreach ($db->query('SELECT * FROM `conference`;') as $row){?>
                    <option <?=($selected_num == $row['id'])?'selected':''?> value="<?=$row['id']?>"><?=$row['name']?></option>
                    <?}?>
                  </select>
            <div align="left">
              <p>Выберите способ оплаты:</p>
              <?php 
                                $first = true;
                                $selected_radio = -1;
                                if(!empty($_POST['money'])){
                                $selected_radio = $_POST['money'];
                    $first = false;
                }
                        foreach ($db->query('SELECT * FROM `payment`;') as $row){?>
              <input type="radio" name='money' <?php if($selected_radio == $row['id']){echo 'checked';}?>  <?php if($first){echo 'checked';$first = false;}?> value="<?=$row['id']?>" ><?=$row['name']?><br />
                    <?}?>
              </div> 
              
 
              <label>Желайте ли получать рассылку?
                            <input type="checkbox" name="check"> Да
            </label>
          <div style="padding:16px;">
            <input name="sendForm1" type="submit" value="Отправить">
            <input type="reset"  value="Очистить">
          </div>
        </form>
        <a href="login.php">К админке (списку)</a>
        <!--<a href="view.php">Обновить</a>-->
      </div>
    </div>  
  
  </body>
</html>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2016, 17:54
Ответы с готовыми решениями:

Работа с сессиями
Здравствуйте. Появилась такая проблема.Вот код главной страницы &lt;?php...

Работа с сессиями
Есть файл выбора городов: &lt;?php // указываем параметры для подключения к...

Работа с сессиями
Не могу понять в чем ошибка, вроде и проверка есть, и session_start() ...

Работа с сессиями php и шифрование паролей
в чем суть. есть два УРЛА test1.ru/blog/ test1.ru/blog/index.php они вроде...

Работа с сессиями
привет пишу простенькую програмку. регаю пользователя, если все ок, то...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2016, 17:54

Работа с сессиями
Добрый вечер. Такая проблема возникла никак не могу решить. Как...

Работа с сессиями
Хочу сделать авторизацию на сессиях, использую такой код: session_start();...

Работа с сессиями
Не понимаю как работают сессии. Есть код странички входа: ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru