С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 24.02.2016
Сообщений: 63

Сделал регистрацию вроде все работает но не входит на сайт

13.03.2018, 18:09. Показов 1324. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
зарегистрировался как админ, вхожу пишет вы успешно вошли на сайт "главная страница" после того как нажимаю на ссылку главная страница опять просит войти на сайт, как справить подскажите

код index.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
<!DOCTYPE html>
<html lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" media="screen, projection" />
<style type="text/css">
.layer1 {
    background-color: #ffffff;
}
.line { 
    border-left: 2px solid #ccc; 
    margin-left: 20px;   
    padding-left: 10px;
}
.line2 { 
    border-right: 2px solid #ccc; 
    margin-right: 200px;   
    padding-right: 10px;
}
.layer {
padding-top: 1px;
}   
</style>
</head>
<body>
<div class="layer1">
<div class="line">
<div class="line2">
<div class="layer">
 
<?php
    //  вся процедура работает на сессиях. Именно в ней хранятся данные  пользователя, пока он находится на сайте. Очень важно запустить их в  самом начале странички!!!
    session_start();
    ?>
    
    <form action="testreg.php" method="post">
 
    <!--****  testreg.php - это адрес обработчика. То есть, после нажатия на кнопку  "Войти", данные из полей отправятся на страничку testreg.php методом  "post" ***** -->
 <p>
    <label>Ваш логин:<br></label>
    <input name="login" type="text" size="15" maxlength="15">
    </p>
 
 
    <!--**** В текстовое поле (name="login" type="text") пользователь вводит свой логин ***** -->
 
    <p>
 
    <label>Ваш пароль:<br></label>
    <input name="password" type="password" size="15" maxlength="15">
    </p>
 
    <!--**** В поле для паролей (name="password" type="password") пользователь вводит свой пароль ***** --> 
 
    <p>
    <input type="submit" name="submit" value="Войти">
 
    <!--**** Кнопочка (type="submit") отправляет данные на страничку testreg.php ***** --> 
<br>
 <!--**** ссылка на регистрацию, ведь как-то же должны гости туда попадать ***** --> 
<a href="reg.php">Зарегистрироваться</a> 
    </p></form>
    <br>
    <?php
    // Проверяем, пусты ли переменные логина и id пользователя
    if (empty($_SESSION['login']) or empty($_SESSION['id']))
    {
    // Если пусты, то мы не выводим ссылку
    echo "Вы вошли на сайт, как гость<br><a href='#'>Эта ссылка  доступна только зарегистрированным пользователям</a>";
    }
    else
    {
 
    // Если не пусты, то мы выводим ссылку
    echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a  href='http://vk.com/'>Эта ссылка доступна только  зарегистрированным пользователям</a>";
    }
    ?>
</div>  
</div>
</div>
</body>
</html>

код testreg.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
<?php
    session_start();//  вся процедура работает на сессиях. Именно в ней хранятся данные  пользователя, пока он находится на сайте. Очень важно запустить их в  самом начале странички!!!
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
    if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
    //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    {
    exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
    }
    //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
    $login = stripslashes($login);
    $login = htmlspecialchars($login);
    $password = stripslashes($password);
    $password = htmlspecialchars($password);
//удаляем лишние пробелы
    $login = trim($login);
    $password = trim($password);
// подключаемся к базе
    include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь 
 
$result = mysqli_query($db, "SELECT * FROM users WHERE login='$login'"); //извлекаем из базы все данные о пользователе с введенным логином
    $myrow = mysqli_fetch_array($result);
    if (empty($myrow['password']))
    {
    //если пользователя с введенным логином не существует
    exit ("Извините, введённый вами login или пароль неверный.");
    }
    else {
    //если существует, то сверяем пароли
    if ($myrow['password']==$password) {
    //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
    $_SESSION['login']=$myrow['login']; 
    $_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь
    echo "Вы успешно вошли на сайт! <a href='index.php'>Главная страница</a>";
    }
 else {
    //если пароли не сошлись
 
    exit ("Извините, введённый вами login или пароль неверный.");
    }
    }
    ?>
как исправить?в описании написано что если пользователь вошел на сайт то должно быть написано (в моем случае) "вы вошли как Admin" и выводить ссылку на вк (которая доступна только для зарегистрированным пользователям )но после перехода он опять просит войти.
Миниатюры
Сделал регистрацию вроде все работает но не входит на сайт   Сделал регистрацию вроде все работает но не входит на сайт  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.03.2018, 18:09
Ответы с готовыми решениями:

Все правильно вроде сделал, программа работает, но не выдает нужный результат!
Задание Сложное слово состоит из двух частей одинаковой длины и соединительной гласной. Найдите обе части этого слова. ВОт код первую...

Яша не хочет индексировать.. а вроде всё сделал как полагается
Проблема с одним из моих ведомых сайтов www. mebe lage nt.ru - рамблер, майл, гугл нормально подхватывают продвигаемые фразы, а вот Яша не...

Программа ругается, не пониманимаю из-за чего, вроде бы всё правильно сделал
Задание: даны натуральное n, символы s1,...sn. Преобразовать последовательность s1,...sn, заменив в ней все вхождения букв &lt;abc&gt; на...

7
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
13.03.2018, 18:18
Логика такая: После регистрации
у появляется сессия
к примеру S_SESSION['admin'];
а на index.php вы делайте условие

PHP
1
2
3
4
5
6
7
if( S_SESSION['admin']) {//если  зарегистирован
 
echo "Вы уже вошли";
}//если зарегистирован
else {//показать форму
 
}//показать форму
1
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
13.03.2018, 18:19
Лучший ответ Сообщение было отмечено clinkz как решение

Решение

Грубая ошибка. До
PHP
1
session_start();
не должно быть никакого вывода.
И должно было вывести ошибку, которые у вас видимо отключены
1
0 / 0 / 0
Регистрация: 24.02.2016
Сообщений: 63
13.03.2018, 18:34  [ТС]
Dolphin, не должно быть не какого вывода это как ? я чуть не понимаю
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
13.03.2018, 18:39
Лучший ответ Сообщение было отмечено clinkz как решение

Решение

Цитата Сообщение от clinkz Посмотреть сообщение
не должно быть не какого вывода это как ?
Не должно быть вывода хтмл разметки или даже пробел. Иначе вместе с ним уходят и заголовки ответа. И сессион_старт уже не успевает отправить свой заголовок
1
0 / 0 / 0
Регистрация: 24.02.2016
Сообщений: 63
14.03.2018, 01:35  [ТС]
Dolphin, я сделал все как ты сказал, включил показ ошибок php, поставил session_start в самое начало, убрал все css сделал самую простую страницу, все равно показывает ошибку в session_start

код index.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
<?php 
session_start();
?>
    <html>
    <head>
    <title>Главная страница</title>
    </head>
    <body>
    <h2>Главная страница</h2>
    <form action="testreg.php" method="post">
    <p>
    <label>Ваш логин:<br></label>
    <input name="login" type="text" size="15" maxlength="15">
    </p>
 
    <p>
    <label>Ваш пароль:<br></label>
    <input name="password" type="password" size="15" maxlength="15">
    </p>
 
    
 
    <p>
    <input type="submit" name="submit" value="Войти">
 
     
<br>
 
<a href="reg.php">Зарегистрироваться</a> 
    </p></form>
    <br>
    <?php
    // Проверяем, пусты ли переменные логина и id пользователя
    if (empty($_SESSION['login']) or empty($_SESSION['id']))
    {
    // Если пусты, то мы не выводим ссылку
    echo "Вы вошли на сайт, как гость<br><a href='#'>Эта ссылка  доступна только зарегистрированным пользователям</a>";
    }
    else
    {
 
    // Если не пусты, то мы выводим ссылку
    echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a  href='http://vk.com/'>Эта ссылка доступна только  зарегистрированным пользователям</a>";
    }
    ?>
    </body>
    </html>
Миниатюры
Сделал регистрацию вроде все работает но не входит на сайт  
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
14.03.2018, 19:35
кодтровка файла должна быть UTF-8 без BOM
0
0 / 0 / 0
Регистрация: 24.02.2016
Сообщений: 63
14.03.2018, 22:39  [ТС]
Dolphin, да, я это знаю еще вчера index.php и все файлы php проверил они в кодировке utf-8 без bom через notepad++ все проверял и даже повторно преобразовал в utf-8 без bom все равно выдает эту ошибку я уже сто раз все прогуглил и не как не могу решить эту проблему((

Добавлено через 2 часа 6 минут
Dolphin, спс бро я сделал, все работает) я просто удалил все файлы php и заново их написал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.03.2018, 22:39
Помогаю со студенческими работами здесь

Как исправить вот эти ошибки? Вроде все правильно сделал...
/* * test.cpp * * Created on: 05.11.2011 * Author: Sensei */ #include &lt;iostream&gt; using std::cout; using...

Ребята посмотрите код вроде все правильно сделал почему-то не запускается
import random class Railway_ticket: &quot;&quot;&quot;Документация класса билета на поезд id-номер билета price-цена билета ...

Нужно построить график функции в лазарусе, вроде всё сделал но выдаёт ошибку External: SIGFPE
Сделал программу, для построения графика функции, но выдаёт ошибку, помогите пожалуйста разобраться, люди добрые Вот код программы: ...

Подскажите правильно ли я сделал примитивную Авторизацию и Регистрацию
Осваиваю PHP. Решил сделать Авторизацию и Регистрацию на сайте. Посмотрите что получилось.(У меня все работает)Но может быть дадите...

сделал, регистрацию но забыл сделать кнопку выхода
сделал, регистрацию но забыл сделать кнопку выхода, help me! вот код &lt;?php // вся процедура работает на сесиях. Именно в ней хранятся...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru