Вот мой скрипт - Код (PHP): $elita_keys = isset($_POST['elita_keys']) ? htmlspecialchars($_POST['elita_keys']) : ''; $mysqlis = new mysqli('localhost', '', '', ''); if (mysqli_connect_errno()) { printf($stop .= $errorno = "Ошибка подключения к бд, попробуйте еще раз", mysqli_connect_error()); exit(); } else { $user01 = mysqli_query($mysqlis, "SELECT id FROM kod WHERE login = '$elita_keys'"); $id_users01 = mysqli_fetch_array($user01); if (empty($id_users01['id'])) { $stop .= $errorno = "Ключ неверный."; } else{ mysqli_query($mysqlis, "DELETE from kod WHERE login = '$elita_keys'"); mysqli_close($mysqlis); Как сделать что бы сначала проверился код ,а только потом удалился? У меня получается так, что код удаляется и скрипт не успевает его сравнить.
Чувак, ты пароли к бд-то не вываливай так Добавлено спустя 1 минуту 6 секунд: Код (PHP): printf($stop .= $errorno = "Ошибка подключения к бд, попробуйте еще раз", mysqli_connect_error()); exit(); походу ты не понимаешь, что ты делаешь вообще =) Добавлено спустя 3 минуты 5 секунд: во-первых, htmlspecialchars() тут нафиг не нужна, и ты её сюда засунул ради защиты бд видимо, но она этого не делает, а что делает - можно прочесть в доке на русском языке же. во-вторых, какой ключ ты хочешь проверить и как?
c поля передается методом пост ключ для проверки , скрипт ищет в бд, если есть ключ ,то пускает иначе ошбка.Все работает,но когда я добавил делет, то он удаляет не успев сравнить ключи. htmlspecialchars() - запрещает же ввод html кодов, разве нет?
так ты берёшь из бд строку по логину из поста из этой строки ты проверяешь наличие поля id если поле есть (а значит и строка) - наухй удаляешь эту строку это вот то что ты делаешь. где там у тебя ключ и с чем и что ты хочешь сравнить - не понятно.
Код (Text): $user01 = mysqli_query($mysqlis, "SELECT id FROM kod WHERE login = '$elita_keys'"); $id_users01 = mysqli_fetch_array($user01); if (empty($id_users01['id'])) { $stop .= $errorno = "Ключ неверный."; я не знаю как сделать по порядку ...
у тебя тут в принципе не происходит то что ты говоришь. Тебе приходит логин в посте. Ты в бд запрашиваешь из таблицы `kod` строку с этим логином. Если она есть, то она есть, и проверять нечего.
есть форма, в нее пользователь вводит код, скрипт принимает данные и сверяет код с тем кодом который в бд если успешно , то его пускает на форму02 и удаляет ключ, иначе ошибка.
ага, просто если ид убрать , то мускул жалуется что mysqli_query ждет аргементы(не помню эту ошибку) ) Добавлено спустя 40 минут 17 секунд: подскажите пожалуйста как правильно сделать
короче мне нужно : если есть присланый код в таблице, то удаляем его и пускаем дальше, иначе - ошибка
Код (PHP): $elita_keys = isset($_POST['elita_keys']); $mysqlis = new mysqli('localhost', '', '', ''); if (mysqli_connect_errno()) { printf($stop .= $lang = "Ошибка подключения к бд, попробуйте еще раз", mysqli_connect_error()); exit(); } else { $user01 = mysqli_query($mysqlis, "SELECT login FROM kod"); $id_users01 = mysqli_fetch_array($user01); if ($id_users01 == $elita_keys) { $stop .= $lang = "все ок"; } else { неверно } } может так лучше будет?
имитация программирования ))) Добавлено спустя 1 минуту 56 секунд: energy455, раскажи как ты понимаешь хотябы первые пять строк из этого исходника?