Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/Web обвязка/[help] Скрипт регистрации в Moy Web
Поиск

[help] Скрипт регистрации в Moy Web

7 ответов148 просмотровСейчас просматривают: 1
Виталий
Виталий

Пользователь

Участник

Постов: 91

На форуме с: 25.10.2008

Репутация: +26

Рейтинг: 0

· 02.08.2009, 05:24

В общем не работает регистрация на сборке Грации Финал. При регистрации выдает:

Цитата
Field 'email' doesn't have a default value

Вот сам скрипт:
Раскрывающийся текст
// Начало скрипта
$fsname = $_SERVER['SCRIPT_NAME'];
$msconn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Ошибка соединения");
MYSQL_SELECT_DB($dbname) or die ("БД не найдена");
if ($_GET[step]=="2"){
$login = $_POST[login];
$pass = $_POST[pass];
$pass2 = $_POST[repeat];
$email = $_POST[email];
if ($login == "") {
echo ("<center>Вы не ввели логин</center>");
}else{
if ($pass == "") {
echo ("<center>Пароль не может быть пустым</center>");
}else{
if ($pass == $pass2) {
$q = mysql_query("SELECT * FROM accounts WHERE login='{$login}'");
if(!mysql_numrows($q) > "0") {
$gamepass = base64_encode(pack("H*", sha1(utf8_encode($pass))));
mysql_query("INSERT INTO accounts(login, password, lastactive, accessLevel) VALUES('$login' , '$gamepass', '$lastactive', '0')");
if ($savedata == "true") {
mysql_query("INSERT INTO accounts (login, password, accessLevel, email, answer, question) VALUES ('$login', '$pass', '.$_POST[email].', '0', '0')", $link) or die (mysql_error());
}
echo ("<center>Аккаунт <font color='red'>".$login."</font> успешно зарегистрирован</center>");


И вот структура таблицы accounts:
Раскрывающийся текст
TABLE `accounts` (
`login` varchar(45) NOT NULL default '',
`password` varchar(45) default NULL,
`lastactive` decimal(20,0) default NULL,
`accessLevel` tinyint(4) NOT NULL default '0',
`lastIP` char(15) default NULL,
`lastServer` tinyint(4) default '1',
`email` varchar(100) NOT NULL,
`answer` text NOT NULL,
`question` text NOT NULL,
`hash` varchar(100) default NULL,
PRIMARY KEY (`login`),
KEY `email` (`email`)
)

Прошу помощи, т.к. сам не могу решить данную проблему.

0
Виталий
Виталий

Пользователь

Участник

Постов: 91

На форуме с: 25.10.2008

Репутация: +26

Рейтинг: 0

· 02.08.2009, 06:32

ап

0
ruslanbat
ruslanbat

Пользователь

Участник

Постов: 44

На форуме с: 20.02.2008

Репутация: +59

Рейтинг: 0

· 02.08.2009, 07:21

структуру таблици акаунт измини на
TABLE `accounts` (
`login` varchar(45) NOT NULL default '',
`password` varchar(45) default NULL,
`lastactive` decimal(20,0) default NULL,
`accessLevel` tinyint(4) NOT NULL default '0',
`lastIP` char(15) default NULL,
`lastServer` tinyint(4) default '1',
`email` varchar(100) default 'autoreg',
`answer` text NOT NULL,
`question` text NOT NULL,
`hash` varchar(100) default NULL,
PRIMARY KEY (`login`),
KEY `email` (`email`)
)

0
Виталий
Виталий

Пользователь

Участник

Постов: 91

На форуме с: 25.10.2008

Репутация: +26

Рейтинг: 0

· 02.08.2009, 07:36

А так чтобы сам скрипт? Можно ж как-то изменить?

0
Дмитрий
Дмитрий

Пользователь

Ветеран

Постов: 834

На форуме с: 30.05.2007

Репутация: +632

Рейтинг: 0

· 02.08.2009, 08:14

Ячейка не имеет значения по умолчанию. Исправить например через Navicate

WebDeveloper сервера DARKWORLD

0
Виталий
Виталий

Пользователь

Участник

Постов: 91

На форуме с: 25.10.2008

Репутация: +26

Рейтинг: 0

· 02.08.2009, 08:20

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

Раскрывающийся текст
Оказывается
Цитата
if ($savedata == "true") {
mysql_query("INSERT INTO accounts (login, password, accessLevel, email, answer, question) VALUES ('$login', '$pass', '.$_POST[email].', '0', '0', '0')", $link) or die (mysql_error());

надо было поменять местами...)))

Тему close)

0
Дмитрий
Дмитрий

Пользователь

Ветеран

Постов: 834

На форуме с: 30.05.2007

Репутация: +632

Рейтинг: 0

· 02.08.2009, 10:35

грубейшая ошибка :))))

$_POST[email] - по факту применима SQL-инъекция ибо нету фильтрации :)

WebDeveloper сервера DARKWORLD

0
Тема закрыта для ответов