Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501

Пропадает ник при переходе на другую страничку

18.06.2017, 19:14. Показов 1842. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, проблема такая: Допустим я авторизовался на сайте и у меня с право пишет: Подключён! Здравствуйте, alex. Но если я перейду на другую страницу, так ник этот пропадает и будет просто: Подключён! Здравствуйте. Не понимаю что такое? Если вам не ясно что за проблема, вот, можете видео посмотреть:
https://www.youtube.com/watch?... e=youtu.be

Я могу скинуть коды свои, может вы увидите там ошибку какую-нибудь:
Тут код авторизации:
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
  <div id="osibki">
<?php
$data = $_POST;
if( isset($data['do_login']))
{
    $errors = array();
    $user = R::findOne('users', 'login = ?', array($data['login']));
    if( $user )
    {
        // логин существует
        if ( md5($data['password']) == $user->password) {
            // всё хорошо, логиним пользователя
            $_SESSION['logged_user'] = $user;  
        } else
        {
            $errors[] = 'Неверный пароль!';
        }
    } else
    {
        $errors[] = 'Пользователь с таким логином не найден!';
    }
   
    if( ! empty($errors))
    {
        echo '<div style="color: red;">'.array_shift($errors).'</div><hr>';
    }
}
?>
</div>  
    <div id="useri"
<?php
if (!empty($_SESSION['logged_user'])) { ?>>
<div id="profile">  
   Подключён!<br>Здравствуйте, <?php
    echo '<strong>'.$_SESSION['logged_user']->login;?></strong>
    <hr>
    <?php if( isset($_SESSION['logged_user'])) : ?>
    <a href="logout.php">Отключиться</a>
    <?php else : ?>
<a href="index.php"></a><br>
<?php endif; ?>
 
    </div><?php
} else {
echo '
       <div id="forma">
       <fieldset id="inputs">
      <form method="post" id="login">
      <div id="In">Log In</div><img id="swirl" src="pav/swirl.gif" alt=""></img><img id="swirl2" src="pav/swirl2.gif" alt=""></img>
      <div id="div2"></div>
      <strong>Логин</strong>:
          <input type="text" name="login" /><br>
          <div id="tarpas"></div>
       <strong>Пароль</strong>:
          <input type="password" name="password" /><br>
          <div id="tarpas2">
          <button type="submit" name="do_login" class="but">Войти</button>
          <input name="save" type="checkbox" value="1"> Запомнить меня
          </fieldset>
          <fieldset id="actions">
       <a href="password.php">Забыли пароль?</a><br><br><a href="signup.php">Регистрация</a>
   </fieldset>
      </form>
      </div>
  ';
}
?>
</div>
Главная страница:
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
<?php
session_start();
require "db.php";
?>
<?php
$myConnect = mysql_connect('localhost', 'root', '');
mysql_select_db('pr2', $myConnect);
$res = mysql_query('SELECT COUNT( * ) AS  `Строки` ,  `ID`  FROM `users`');
if($res)
  $row = mysql_fetch_array($res, MYSQL_NUM);
$kolvo_userov = !empty($row[0]) ? $row[0] : 0; //
 
?>
<?php require_once "blocks/online.php" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//En"
   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
     <?php
    $title = "Мир жовотных";
    require_once "blocks/head.php";
    ?>
</head>
<body  onload="lous.l.focus()">
<div id="container">
    <div id="header">
        <?php require_once "blocks/header.php" ?>
    </div> <!-- ends intro div -->
    <div id="content">
        <div class="contentbox">
            <h3>  <a href="zirafi.php">Жирафы</h3></a>
            <p>This is my first submission to Ex-designz web template. I've been surfing Ex-designz web template for quite some time, and I thought I should give back to the community. This design is loosely based on my own (<a href="http://nerdnirvana.org/">http://nerdnirvana.org/</a>).</p>
            <p>There are image alignment classes if you want to align your images; just check out the CSS file.</p>
            <p>If you want the PSD to the banner, you can get it here: <a href="http://nerdnirvana.org/oswd/banner.psd">http://nerdnirvana.org/oswd/banner.psd</a>. The font file that the PSD uses can be found here: <a href="http://nerdnirvana.org/oswd/Backslash.ttf">http://nerdnirvana.org/oswd/Backslash.ttf</a>.</p>
            <p>You can freely use this for whatever as long as you include my name and link at the bottom.</p>
            <small>+<a href="http://nerdnirvana.org/">snguyen</a>; January 6th, 2006 at 15:43:42 <a href="#"><img src="pav/comment.gif" alt="comment" title="comment on this post" /></a> <a href="#">0 Comments »</a></small>
        </div>
        </div>
         <?php require_once "blocks/footer.php" ?>
<?php require_once "blocks/desine.php" ?>
 
</body>
</html>
тут этот db.php ( там подключение к библиотеке и к базе данным)

PHP
1
2
3
4
5
6
7
<?php
require "libs/rb.php";
 
R::setup( 'mysql:host=localhost;dbname=pr2',
        'root', '' );
   
?>
Добавлено через 33 минуты
Ни кто не знает в чем проблема?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.06.2017, 19:14
Ответы с готовыми решениями:

Как сделать чтобы при заказе и переходе на страничку благодарности передавался телефон покупателя?
Как сделать чтобы при заказе и переходе на страничку благодарности передавался телефон покупателя? На стрнаике благодарности будут...

Пропадает подменю при переходе
У меня проблема с выпадающем меню. При переходе с меню на под меню оно пропадает что делать, знаю что пробелах &lt;!--HTML--&gt; ...

При открытии браузера перекидывает на другую страничку
Помогите При открытии браузера перекидывает на другую страничку и открывает ссылки

25
39 / 22 / 10
Регистрация: 31.05.2017
Сообщений: 152
18.06.2017, 20:16
Terminator004, если честно, то вам надо немного почистить код, например, нет смысла гонять POST туда сюда, зачем в строчке 7 ещё один массив, просто можно дойти по $_POST['login'], ну и так с остальным, а вы вообще стартуете сессию в этом документе?
0
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 11
18.06.2017, 20:47
Делал в свое время, но через $_COOKIE.

когда пользователь авторизировался, установи
PHP
1
setcookie("user_login", $login, 0, "/" ); //имя в куках, метод получения, время действия, / - это действует на всех страницах сайта
и потом проверяешь массив $_COOKIE['user_login'] - если есть - то юзер, если пусто - то гость

http://php.net/manual/ru/funct... d-hash.php
password_hash для шифрования пароля используй
0
3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501
18.06.2017, 21:01  [ТС]
Цитата Сообщение от garale Посмотреть сообщение
Делал в свое время, но через $_COOKIE.
когда пользователь авторизировался, установи
PHPВыделить код
1
setcookie("user_login", $login, 0, "/" ); //имя в куках, метод получения, время действия, / - это действует на всех страницах сайта
и потом проверяешь массив $_COOKIE['user_login'] - если есть - то юзер, если пусто - то гость
http://php.net/manual/ru/funct... d-hash.php
password_hash для шифрования пароля используй
Вот смотри, я что-то исправил, я просто мало разбераюсь в 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
    <div id="osibki">
<?php
$data = $_POST;
if( isset($data['do_login']))
{
    $errors = array();
    $user = R::findOne('users', 'login = ?', array($data['login']));
    if( $user )
    {
        // логин существует
        if ( md5($data['password']) == $user->password) {
            // всё хорошо, логиним пользователя
          setcookie("logged_user", $user, 0, "/" );
        } else
        {
            $errors[] = 'Неверный пароль!';
        }
    } else
    {
        $errors[] = 'Пользователь с таким логином не найден!';
    }
    
    if( ! empty($errors))
    {
        echo '<div style="color: red;">'.array_shift($errors).'</div><hr>';
    }
} 
?>
</div>  
    <div id="useri"
<?php
if (!empty($_COOKIE['user_login'])) { ?>>
<div id="profile">  
   Подключён!<br>Здравствуйте, <?php
    echo '<strong>'.$_COOKIE['logged_user']->login;?></strong> 
    <hr>
    <?php if( isset($_COOKIE['logged_user'])) : ?>
    <a href="logout.php">Отключиться</a>
    <?php else : ?>
<a href="index.php"></a><br>
<?php endif; ?>
 
    </div><?php
} else {
 echo '
        <div id="forma">
        <fieldset id="inputs">
       <form method="post" id="login">
       <div id="In">Log In</div><img id="swirl" src="pav/swirl.gif" alt=""></img><img id="swirl2" src="pav/swirl2.gif" alt=""></img>
       <div id="div2"></div>
       <strong>Логин</strong>:
           <input type="text" name="login" /><br>
           <div id="tarpas"></div>
        <strong>Пароль</strong>:
           <input type="password" name="password" /><br>
           <div id="tarpas2">
           <button type="submit" name="do_login" class="but">Войти</button>
           <input name="save" type="checkbox" value="1"> Запомнить меня
           </fieldset>
           <fieldset id="actions"> 
        <a href="password.php">Забыли пароль?</a><br><br><a href="signup.php">Регистрация</a>
    </fieldset>
       </form>
       </div>
   ';
}
?>
</div>
0
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 11
18.06.2017, 21:06
32 строка
PHP
1
$_COOKIE['user_login']
замени на
PHP
1
$_COOKIE['logged_user']
и проверь как работает
0
3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501
18.06.2017, 21:09  [ТС]
Цитата Сообщение от garale Посмотреть сообщение
32 строка
PHPВыделить код
1
$_COOKIE['user_login']
замени на
PHPВыделить код
1
$_COOKIE['logged_user']
и проверь как работает
Вот такие ошибки:
Миниатюры
Пропадает ник при переходе на другую страничку  
0
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 11
18.06.2017, 21:16
там файлы указаны и на какой строке ошибка. посмотри на что ругается
0
3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501
18.06.2017, 21:20  [ТС]
Цитата Сообщение от garale Посмотреть сообщение
там файлы указаны и на какой строке ошибка. посмотри на что ругается
Там где db.php так он вверху, я кидал код этот. А там где desine.php так это этот же код с авторизацией, который мы только что исправляли.Вот на этот код setcookie("logged_user", $user, 0, "/" );
0
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 11
18.06.2017, 21:38
"Не может изменять информацию заголовка - заголовки, уже отправленные" - говорит мне гугл переводчик
Откройте куки и посмотрите если ли они. если есть - то разлогиньтесь
вот так к примеру
PHP
1
setcookie("logged_user", $_COOKIE['logged_user'], time()-3600, "/");
0
3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501
18.06.2017, 22:00  [ТС]
Цитата Сообщение от garale Посмотреть сообщение
"Не может изменять информацию заголовка - заголовки, уже отправленные" - говорит мне гугл переводчик
Откройте куки и посмотрите если ли они. если есть - то разлогиньтесь
вот так к примеру
PHPВыделить код
1
setcookie("logged_user", $_COOKIE['logged_user'], time()-3600, "/");
Ничего не изменилось, когда добавил этот код
0
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 11
18.06.2017, 22:09
не просто добавить, а создать кнопку "Выход" и файлик .php с проверкой существует ли $_COOKIE['logged_user'] и если да - то удалить куки кодом выше

и посмотреть есть ли куки в браузере
0
3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501
19.06.2017, 12:51  [ТС]
Цитата Сообщение от garale Посмотреть сообщение
не просто добавить, а создать кнопку "Выход" и файлик .php с проверкой существует ли $_COOKIE['logged_user'] и если да - то удалить куки кодом выше
и посмотреть есть ли куки в браузере
Ну нету мне кажется куки. Можешь сам проверить, я тебе могу файлы перекинуть.

Добавлено через 14 часов 21 минуту
Цитата Сообщение от Zaxar192 Посмотреть сообщение
Terminator004, если честно, то вам надо немного почистить код, например, нет смысла гонять POST туда сюда, зачем в строчке 7 ещё один массив, просто можно дойти по $_POST['login'], ну и так с остальным, а вы вообще стартуете сессию в этом документе?
А где ту сессию надо там стартовать?
0
97 / 47 / 17
Регистрация: 25.04.2017
Сообщений: 471
19.06.2017, 13:30
почему бы не выводить логин прямо из базы, если он уже авторизован
0
3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501
19.06.2017, 13:47  [ТС]
Цитата Сообщение от Вилы Выкидные Посмотреть сообщение
почему бы не выводить логин прямо из базы, если он уже авторизован
Можите подсказать как в моём коде это применить
0
97 / 47 / 17
Регистрация: 25.04.2017
Сообщений: 471
19.06.2017, 13:58
Цитата Сообщение от Terminator004 Посмотреть сообщение
setcookie("logged_user", $_COOKIE['logged_user'], time()-3600, "/");
Ничего не изменилось, когда добавил этот код
PHP
1
setcookie("logged_user", $user, 0, "/" );
заменить на

PHP
1
setcookie("logged_user", $user, time()+3600, "/" );
и ещё

PHP
1
if (!empty($_COOKIE['user_login'])) {
заменить на

PHP
1
if (!empty($_COOKIE['logged_user'])) {
0
3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501
19.06.2017, 14:01  [ТС]
Цитата Сообщение от Вилы Выкидные Посмотреть сообщение
PHPВыделить код
1
setcookie("logged_user", $user, 0, "/" );
заменить на
PHPВыделить код
1
setcookie("logged_user", $user, time()+3600, "/" );
PHPВыделить код
1
if (!empty($_COOKIE['user_login'])) {
заменить на
PHPВыделить код
1
if (!empty($_COOKIE['logged_user'])) {
Ошибки не пропали
0
97 / 47 / 17
Регистрация: 25.04.2017
Сообщений: 471
19.06.2017, 14:04
Цитата Сообщение от Terminator004 Посмотреть сообщение
Ошибки не пропали
Ваши ошибки в том, что Вы не ставите куки, а удаляете, присваивая ей 0 и потом проверяете значение переменной user_login, которой не существует
0
3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501
19.06.2017, 14:05  [ТС]
Вилы Выкидные, если вы хотите я могу свой проект вам дать, может вы что-то увидите.
0
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 11
19.06.2017, 14:06
Terminator004, скинь папку с проектом, версию php mysql тоже напиши

Добавлено через 1 минуту
Цитата Сообщение от Вилы Выкидные Посмотреть сообщение
Ваши ошибки в том, что Вы не ставите куки, а удаляете, присваивая ей 0 и потом проверяете значение переменной user_login, которой не существует
Если задать 0 или пропустить этот аргумент, срок действия cookie истечет с окончанием сессии (при закрытии броузера).
http://php.net/manual/ru/function.setcookie.php
0
97 / 47 / 17
Регистрация: 25.04.2017
Сообщений: 471
19.06.2017, 14:10
Цитата Сообщение от garale Посмотреть сообщение
Если задать 0 или пропустить этот аргумент, срок действия cookie истечет с окончанием сессии (при закрытии броузера).
0 для FALSE и 1 для TRUE
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.06.2017, 14:10
Помогаю со студенческими работами здесь

Не пропадает панель задач при переходе в полноэкранный режим
При просмотре тех же видео в браузере при нажатии &quot;на весь экран&quot; панель задач так и остается. Только после нажатия на нее мышкой или...

Firefox при открытии любой страницы сам переходит на другую страничку
добрый день. помогите с проблемой. firefox при открытии любой страницы сам переходит на ссылка] . касперский вирусов не видит. что...

POST переменные при нажатии на ссылку и при переходе на другую страницу
Как сделать так, чтобы при нажатии на ссылку и при переходе на другую страницу были доступны $_POST переменные (например listbox)?

При переходе по TAB пропадает свойство Tag со всех строк DataGridView
Добрый день Происходит что-то непонятное. В главной форме находится элемент TabControl с двумя табами. На каждом из Таб находится...

Ошибка при переходе на другую форму
Доброго всем времени суток! Пишу диплом по Дискретному косинусному преобразованию. Есть пример его реализации, но возникла одна проблема. Я...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru