Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
171 / 169 / 1
Регистрация: 22.08.2010
Сообщений: 1,251

Не работает регистрация

26.03.2011, 22:07. Показов 1837. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь сделать регистрацию на сайте.
Вот как делаю:
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
<html>
    <head>
    <title>Регистрация</title>
    <link rel="stylesheet" type="text/css" href="index.css">
    </head>
    <body>
    <div id="Site">
    <div id="Heading">
    <center>
    <h1>Регистрация</h1>
    </center>
    </div>
    <div id="Menu">
    <center>
    <ul>
    <a href="http://ovsite.h18.ru/"><li onmouseover="this.style.background='#08457e';" onmouseout="this.style.background='#003153';">Все программы</li></a>
    </ul>
    </center>
    </div>
    <div id="Programma">
    <?
mysql_connect("localhost", "ovsite8", "55555");
mysql_select_db("users");
 
 
if(isset($_POST['submit']))
{
    $err = array();
 
    if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['login']))
    {
        $err[] = "Логин может состоять только из букв английского алфавита и цифр";
    }
    
    if(strlen($_POST['login']) < 3 or strlen($_POST['login']) > 30)
    {
        $err[] = "Логин должен быть не меньше 3-х символов и не больше 30";
    }
    
    $query = mysql_query("SELECT COUNT(user_id) FROM users WHERE user_login='".mysql_real_escape_string($_POST['login'])."'");
    if(mysql_result($query, 0) > 0)
    {
        $err[] = "Пользователь с таким логином уже существует в базе данных";
    }
    
    if(count($err) == 0)
    {
        
        $login = $_POST['login'];
        
        $password = md5(md5(trim($_POST['password'])));
        
        mysql_query("INSERT INTO users SET user_login='".$login."', user_password='".$password."'");
        header("Location: index.php"); exit();
    }
    else
    {
        print "<b>При регистрации произошли следующие ошибки:</b><br>";
        foreach($err AS $error)
        {
            print $error."<br>";
        }
    }
}
?>
 
 
<form method="POST">
Логин <input name="login" type="text"><br>
Пароль <input name="password" type="password"><br>
<input name="submit" type="submit" value="Зарегистрироваться">
</form> 
    </div>
    </body>
</html>
Но вот что он мне выдаёт
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/o/ovsite.h18.ru/WWW/register.php on line 41

Warning: Cannot modify header information - headers already sent by (output started at /home/o/ovsite.h18.ru/WWW/register.php:20) in /home/o/ovsite.h18.ru/WWW/register.php on line 54
Подскажите в чём ошибка?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.03.2011, 22:07
Ответы с готовыми решениями:

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

Не работает регистрация
Не работает регистрация на созданном сайте. Я использую Open Server. Я следовал по такой инструкции:...

Не работает регистрация
Написал вот такой простенький код. Регистрация не работает, хотя вроде все написано правильно. &lt;?php include 'info.php'; ...

17
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
27.03.2011, 03:17
не знаю ни разу не сталкивался..
попробуй использовать более простой алгоритм.
PHP
1
2
3
4
5
$result = mysql_query("SELECT id FROM users WHERE login='".$_POST['login']."'",$mysql);
$myrow = mysql_fetch_array($result);
 if (!empty($myrow['id'])) {
 $err[] = "Пользователь с таким логином уже существует в базе данных";
 }
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
27.03.2011, 09:39
Цитата Сообщение от OVSite Посмотреть сообщение
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/o/ovsite.h18.ru/WWW/register.php on line 41
Запрос составлен не правильно
Цитата Сообщение от OVSite Посмотреть сообщение
Warning: Cannot modify header information - headers already sent by (output started at /home/o/ovsite.h18.ru/WWW/register.php:20) in /home/o/ovsite.h18.ru/WWW/register.php on line 54
заголовки надо отправлять до любого вывода в браузер
1
171 / 169 / 1
Регистрация: 22.08.2010
Сообщений: 1,251
27.03.2011, 10:00  [ТС]
Цитата Сообщение от FunDuck Посмотреть сообщение
Запрос составлен не правильно
Как его составить правильно?(можно с кодом?)
Цитата Сообщение от FunDuck Посмотреть сообщение
заголовки надо отправлять до любого вывода в браузер
Можно по подробнее?
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
27.03.2011, 10:05
Цитата Сообщение от OVSite Посмотреть сообщение
Как его составить правильно?(можно с кодом?)
PHP
1
"SELECT COUNT(`user_id`) FROM `users` WHERE `user_login`='".mysql_real_escape_string($_POST['login'])."'"
Есди так не будет работать, то значит ошибка где то в названиях полей или таблицы.
Цитата Сообщение от OVSite Посмотреть сообщение
Можно по подробнее?
Ты отправляешь заголовок в 54 строке:
PHP
1
header("Location: index.php");
До него выводится в браузер текст начиная с первой строки. А все заголовки должны отпарвляться до любого вывода в браузер. Можно первой строкой написать
PHP
1
ob_start();
1
171 / 169 / 1
Регистрация: 22.08.2010
Сообщений: 1,251
27.03.2011, 10:12  [ТС]
FunDuck, пока проверить нет возможности, у хостера какие то проблемы, не могу подключится к БД.
0
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
27.03.2011, 10:16
совет.
Делай сначала на локалке а потом переноси на хост
0
171 / 169 / 1
Регистрация: 22.08.2010
Сообщений: 1,251
27.03.2011, 14:01  [ТС]
FunDuck, не помогло, не то, не другое.
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
27.03.2011, 15:25
Цитата Сообщение от OVSite Посмотреть сообщение
FunDuck, не помогло, не то, не другое.
Значит запрос неверно составлен
1
171 / 169 / 1
Регистрация: 22.08.2010
Сообщений: 1,251
27.03.2011, 17:49  [ТС]
Цитата Сообщение от FunDuck Посмотреть сообщение
Значит запрос неверно составлен
Так как его составить правильно? Точнее что у меня в нём не правильного?
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
27.03.2011, 17:52
Цитата Сообщение от OVSite Посмотреть сообщение
Так как его составить правильно? Точнее что у меня в нём не правильного?
После запроса добавь строку:
PHP
1
echo mysql_error();
И покажи что выведет.
1
171 / 169 / 1
Регистрация: 22.08.2010
Сообщений: 1,251
27.03.2011, 17:59  [ТС]
Вот что мне выдаёт:
Access denied for user 'ovsite8'@'%' to database 'users'
Не понимаю почему нет доступа, на главной странице сайта всё нормально выводится из базы.
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
27.03.2011, 18:05
Логин и пароль точно правильные?
1
171 / 169 / 1
Регистрация: 22.08.2010
Сообщений: 1,251
27.03.2011, 18:09  [ТС]
FunDuck, нашёл ошибку.

Добавлено через 25 секунд
FunDuck, да правильные были.

Добавлено через 2 минуты
FunDuck, возникла другая проблема, вот что мне выдаёт при попытке войти:
Warning: Cannot modify header information - headers already sent by (output started at /home/o/ovsite.h18.ru/WWW/index.php:5) in /home/o/ovsite.h18.ru/WWW/index.php on line 96

Warning: Cannot modify header information - headers already sent by (output started at /home/o/ovsite.h18.ru/WWW/index.php:5) in /home/o/ovsite.h18.ru/WWW/index.php on line 97

Warning: Cannot modify header information - headers already sent by (output started at /home/o/ovsite.h18.ru/WWW/index.php:5) in /home/o/ovsite.h18.ru/WWW/index.php on line 99
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
27.03.2011, 18:12
Ну тут все то же... заголовки отправляешь после начала вывода в браузер. Попробуй ob_start() добавить в первую строку.
1
171 / 169 / 1
Регистрация: 22.08.2010
Сообщений: 1,251
27.03.2011, 18:17  [ТС]
FunDuck, теперь почему то не хочет доставать данные из БД
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
<?
$connection=mysql_connect("localhost", "ovsite8", "55555");
$my_db=mysql_select_db("ovsite8", $connection);
 
if (isset($_COOKIE['id']) and isset($_COOKIE['hash']))
{   
    $query = mysql_query("SELECT *,INET_NTOA(user_ip) FROM users WHERE user_id = '".intval($_COOKIE['id'])."' LIMIT 1");
    $userdata = mysql_fetch_assoc($query);
 
    if(($userdata['user_hash'] !== $_COOKIE['hash']) or ($userdata['user_id'] !== $_COOKIE['id'])
 or (($userdata['user_ip'] !== $_SERVER['REMOTE_ADDR'])  and ($userdata['user_ip'] !== "0")))
    {
        setcookie("id", "", time() - 3600*24*30*12, "/");
        setcookie("hash", "", time() - 3600*24*30*12, "/");
        print "Хм, что-то не получилось";
    }
    else
    {
        print "Привет, ".$userdata['user_login'].". Всё работает!";
    }
}
else
{
    print "Включите куки";
}
echo mysql_error();
?>
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
27.03.2011, 18:26
Если ошибок нет значит просто ничего не выбралось, проверь какой там id попадает.
0
171 / 169 / 1
Регистрация: 22.08.2010
Сообщений: 1,251
27.03.2011, 18:44  [ТС]
id = 0

Добавлено через 8 минут
FunDuck, забыл поставить auto_increment.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.03.2011, 18:44
Помогаю со студенческими работами здесь

Не работает регистрация
Пишу регистрацию. Во всех уроках работает, у меня ..., даже ошибки не выводит. Данные не уходят в БД. Где ошибся? reg.php: &lt;?php...

Не работает регистрация
Проблема в занесении данных в БД - они просто напросто не заносятся(ошибку даже не выводят). Вот сам скрипт: &lt;?php if...

Регистрация на PHP не работает
Не могу понять почему не работает скрипт ? Если нажимаю кнопку то получаеться что выводиться вы ввели не все поля , если введу логин и...

Не работает регистрация в личном кабинете
Решил я набыдлокодить небольшой файловый хостинг где у людей будет свой личный кабинет (после регистрации,кочечно), и они в нём смогут...

Регистрация на русском языке - не работает активация почты. Не получается кодировкой
Здравствуйте. При регистрации пользователя на русском языке - активация почты (выслать письмо на почту с ссылкой) не срабатывает. На...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
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