[help] Скрипт регистрации в Moy Web
7 replies126 viewsCurrently viewing: 1
· 08/02/2009, 05:24 AM
В общем не работает регистрация на сборке Грации Финал. При регистрации выдает:
Цитата
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>");
$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`)
)
`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
· 08/02/2009, 07:21 AM
структуру таблици акаунт измини на
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
· 08/02/2009, 08:14 AM
Ячейка не имеет значения по умолчанию. Исправить например через Navicate
WebDeveloper сервера DARKWORLD
0
· 08/02/2009, 08:20 AM
ппц))) Минуту назад выкупил, что там было не правильно))))) Все равно спасибо за ответы.
Раскрывающийся текст
Оказывается
надо было поменять местами...)))
Цитата
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());
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
Topic is closed for replies



