Здравствуйте. Пробую сделать регистрацию на сайте, для этого есть отдельный обработчик account.php с таким кодом: PHP: <?php if ($Module == 'register' and $_POST['enter']) { $_POST['login'] = FormChars($_POST['login']); $_POST['email'] = FormChars($_POST['email']); $_POST['password'] = GenPass(FormChars($_POST['password']), $_POST['login']); $_POST['name'] = FormChars($_POST['name']); $_POST['country'] = FormChars($_POST['country']); $_POST['avatar'] = FormChars($_POST['avatar']); $_POST['avatar'] = 0; $_POST['active'] = 1; $_POST['group'] = 1; if (!$_POST['login'] or !$_POST['email'] or !$_POST['password'] or !$_POST['name'] or $_POST['country'] > 4) exit('Ошибка валидации формы.'); $Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `login` FROM `users` WHERE `login` = '$_POST[login]'")); if ($Row['login']) exit('Логин <b>'.$_POST['login'].'</b> уже используеться.'); $Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `email` FROM `users` WHERE `email` = '$_POST[email]'")); if ($Row['login']) exit('E-Mail <b>'.$_POST['email'].'</b> уже используеться.'); mysqli_query($CONNECT, "INSERT INTO `users` VALUES ('', '$_POST[login]', '$_POST[password]', '$_POST[name]', NOW(), '$_POST[email]', $_POST[country], $_POST[avatar]), $_POST['active'], $_POST['group']"); echo 'OK'; } ?> В файле index.php строчки кода с подключением бд и вызовом обработчика: PHP: <?php include_once 'setting.php'; header('Content-Type: text/html; charset=utf-8'); session_start(); $CONNECT = mysqli_connect(HOST, USER, PASS, DB); / ещё всякий рабочий код / else if ($Page == 'register') include('page/register.php'); else if ($Page == 'account') include('form/account.php'); / ещё всякий рабочий код / ?> В setting.php хранятся данные к подключению: PHP: <?php define ('HOST', "127.0.0.1"); define ('USER', "root"); define ('PASS', "1111"); define('DB', "mysite"); ?>[/code] В register.php просто форма с регистрацией: [code]<?php Head('Регистрация') ?> <body> <div class="wrapper"> <div class="header"></div> <div class="content"> <?php Menu() ?> <div class="Page"> <form method="POST" action="/account/register"> <br><input type="text" name="login" placeholder="Логин"> <br><input type="email" name="email" placeholder="E-Mail" required> <br><input type="password" name="password" placeholder="Пароль" required> <br><input type="text" name="name" placeholder="Имя" required> <br><select size="1" name="country"><option value="0">Не скажу</option><option value="1">Украина</option><option value="2">Россия</option><option value="3">США</option><option value="4">Канада</option></select> <br><input type="file" name="avatar"> <br><br><input type="submit" name="enter" value="Регистрация"> <input type="reset" value="Очистить"> </form> </div> </div> <?php Footer() ?> </div> </body> </html> К БД подключается, как я понимаю, т.к. ошибок не выводит на странице с сайтом, но вот запись не добавляется, когда заполняю регистрационную форму. Что я забыл сделать или сделал не так? Подскажите, пожалуйста. Работаю с помощью Notepad++ и БД создаю в MySQL Workbench 6.3
WHERE `login` = '$_POST[login]'")); -не верно же нужно как то так WHERE `login` = ".$_POST[login])); те ошибка в синтаксисе запроса.
Может, FormChars фильтрует опасные символы. Ваш вариант не лучше, чем у ТСа. Можно было оставить в единой строке, подправив сомнительные моменты: "... WHERE `login` = '{$_POST['login']}'" --- Добавлено --- @Exilles, логика в целом неправильная. Объявите логин и мыло юниками и просто делайте вставку с проверкой результата. SELECT'ы можно оставить, но только в декоративных целях.