Приветствую! При регистрации выбивает такие ошибки:
Цитата
Deprecated: Function eregi() is deprecated in Z:\home\127.0.0.1\www\modules\reg.php on line 109 Deprecated: Function eregi() is deprecated in Z:\home\127.0.0.1\www\modules\reg.php on line 111 Аккаунт успешно зарегестрирован!
Аккаунт конечно зарегался, но ошибки от куда? Вот код:
Цитата
<?php require_once ('config.php'); ?> <? $tbc = 2; $database_encoding = 'CP1251'; $realmd = mysql_connect("$dbip:$dbport", "$dblogin", "$dbpass", True); mysql_select_db("$rdb", $realmd); $world = mysql_connect("$dbip:$dbport", "$dblogin", "$dbpass", True); mysql_select_db("$mdb", $world); $characters = mysql_connect("$dbip:$dbport", "$dblogin", "$dbpass", True); mysql_select_db("$cdb", $characters); echo " <script type=\"text/javascript\"> function isAlphaNumeric(value) { if (value.match(/^[a-zA-Z0-9_]+$/)) return true; return false; } function checkform(f) { if (f.account.value == \"\") { alert(\"Введите логин\"); return false; } if (!isAlphaNumeric(f.account.value)) { alert(\"Запрещенные символы в логине\"); return false; } if (f.password.value==\"\") { alert(\"Введите пароль\"); return false; } if (!isAlphaNumeric(f.password.value)) { alert(\"Запрещенные символы в пароле\"); return false; } if (f.password2.value==\"\") { alert(\"Вы не ввели повтор пароля\"); return false; } if (f.password.value != f.password2.value) { alert(\"Пароли не совпадают\"); return false; } if (f.email.value==\"\") { alert(\"Вы не ввели e-mail\"); return false; } } </script>"; echo " <br><br> <center> <form method=post action=?page=register onsubmit=\"return checkform(this)\"> <table> <tr> <td><font color=white><p>Логин:</p></font></td> <td><input type='text' name=account maxlength=20/></td> </tr> <tr> <td><font color=white><p>Пароль:</p></font></td> <td><input type=password name=password maxlength=20></td> </tr> <tr> <td><font color=white><p>Повторите пароль:</p></font> </td> <td><input type=password name=password2 maxlength=20></td> </tr> <tr> <td><font color=white><p>E-mail:</p></font></td> <td><input type=text name=email maxlength=32></td> </tr> <tr> <td colspan=2 style=\"text-align: center;\"><br><input type=submit value=Зарегистрироватся></td> </tr> </table> </form> </center>"; if (isset($_POST['account'])) { if ($_POST['account'] && strlen($_POST['account'])<=20 && strlen($_POST['account'])>=3 && strlen($_POST['password'])>=3 && $_POST['password'] && $_POST['password2'] && $_POST['password']==$_POST['password2']) { if (!eregi("^[a-zA-Z0-9_]+$", $_POST['account'])) die ("<p>Error: SQL-Injection</p>"); if (!eregi("^[a-zA-Z0-9_]+$", $_POST['password'])) die ("<p>Error: SQL-Injection</p>"); $pass = ($_POST['password']); $username = ($_POST['account']); $result = mysql_query("SELECT * FROM account WHERE username='".$_POST['account']."' AND sha_pass_hash='$pass'", $realmd); if (mysql_num_rows($result) != 0) { echo "<center><p><font color=#CC0000><b>Такой аккаунт уже есть!</b></font></p></center>"; } else { if (!mysql_query("INSERT INTO account (username, sha_pass_hash, email, expansion) VALUES ('$username', SHA1(CONCAT(UPPER('$username'),':',UPPER('$pass'))), '".$_POST['email']."', $tbc)", $realmd)) {echo "<center><p><font color=#CC0000><b>Ошибка</b></font></p></center>";} else {echo "<center><p><font color=#00CC00><b>Аккаунт успешно зарегестрирован!</b></font></p></center>";} $menuip = $_SERVER['REMOTE_ADDR']; mysql_connect("$dbip", "$dblogin", "$dbpass"); mysql_select_db ("news_db"); $email = $_POST['email']; $result = mysql_query ("INSERT INTO users (username, pass, email, ip) VALUES ('$username', '".md5($pass)."','$email', '$menuip')"); if ($result == 'true') {echo "";} else {echo "";} } } else { echo "<center><p><font color=#CC0000><b>Проверьте правильность ввода!</b></font></p></center>"; } } ?>
Помогите найти ошибку...Добавлено (02.02.2015, 15:08) --------------------------------------------- Решил сам Заменил это:
Цитата
if (!eregi("^[a-zA-Z0-9_]+$", $_POST['account'])) if (!eregi("^[a-zA-Z0-9_]+$", $_POST['password']))
На это:
Цитата
if(!preg_match('/[a-zA-Z0-9]/' , $_POST['account'])) if(!preg_match('/[a-zA-Z0-9]/' , $_POST['password']))
Удалите пожалуйста тему
Сообщение #
1 отредактировано
Zolan -
Понедельник, 02.02.2015, 14:29