[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не регистрирует пользователя с русскими буквами
Godwarlock
f(isset($_POST['login']) && $_POST['login'] != '')
{


$user_login = ($_POST['login']);

$login_copy = mysql_query ("SELECT id FROM table_users WHERE user_login='$user_login' OR user_mail='$user_mail'", $db);

if(mysql_num_rows($login_copy) == 0)
{


mysql_query ("INSERT INTO table_users (user_login) VALUES ('$user_login', $db);
$id_user = mysql_insert_id();
echo mysql_insert_id();


}

Скрипт регистрации. В $_POST['login'] передается значение с русскими символами, но почему то пользователя не регистрирует, если он написал логин русскими буквами. Если отправить $_POST['login'] с английской раскладкой - то всё регистрирует нормально. В чем проблема?
AllesKlar
а в базу смотрел, после того, как "не регистрирует"? В таблице table_users наверняка куча хлама с кракозябрами?

_____________
[продано копирайтерам]
walerus
Подсветка синтаксиса ни на какие мысли не наводит?
Ваше
if(mysql_num_rows($login_copy) == 0)
{


mysql_query ("INSERT INTO table_users (user_login) VALUES ('$user_login', $db);
$id_user = mysql_insert_id();
echo mysql_insert_id();


}
Наше
if(mysql_num_rows($login_copy) == 0)
{


mysql_query ( "INSERT INTO table_users (user_login) VALUES ('$user_login')", $db );
$id_user = mysql_insert_id();
echo mysql_insert_id();


}
Если это просто кусок кода "выдран" из контекста... , то выдирайте корректнее...
Godwarlock
AllesKlar
Никаких кракозябр. Запись не идет в бд просто и всё
walerus
Godwarlock
Видимо мое сообщение "невидимое" ?
gjhk
Godwarlock
Иди учись в первый класс! Твой сайт будет взломан первым же второклассником laugh.gif
inpost
год назад я писал: "прошло 3 года, а ты так ничему и не научился, даже основы не выучил", на что ты мне ответил: "я забросил, а сейчас вернулся".
Прошел уже почти 4-ый год, прогресса снова же нет, как же так?!

Кстати, ты врёшь, твой код выдаст ошибку синтаксическую, а не зарегистрирует английские буквы ph34r.gif ph34r.gif ph34r.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Godwarlock

walerus
Причем здесь синтаксис? Ну барану понятно, что скопировал без скобки по ошибке в пост.
inpost
3, 4, десять. Какая разница. Есть прогресс или нет прогресса. Меня интересует решение конкретной проблемы. Почему регистрирует только данные с английским алфавитом, а русские посылает на три.
F**k
Godwarlock, а например через phpmyadmin такой запрос срабатывает? Если да – перепиши все на mysqli или pdo.
Valick
if(mysql_num_rows($login_copy) == 0)
{

$query = "INSERT INTO table_users (user_login) VALUES ('$user_login')";
mysql_query ($query) or die(mysql_error());
$id_user = mysql_insert_id();
echo mysql_insert_id();


}


_____________
Стимулятор ~yoomoney - 41001303250491
inpost
Godwarlock
А ты расскажи, как можно скопировать без скобки? Особый способ копирования?

Представь себе, что у тебя очень забывчивая голова. Вот тебе говорят, а ты забываешь. Самый лучший совет - всё записывать, а если забываешь сам записывать, то форум записывает всё для тебя. Открой свои сообщения и поищи ответы на прошлые твои вопросы. Там похожий код и похожие исправления были кода. Если сделаешь так, как тебе писали в прошлых темах, то и в этой будет работать.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Godwarlock
В общем разобрался почему не регистрирует с русским алфавитом...На счет копирования извините, вы оказались правы) Надо было нормально все скопировать, тогда бы и проблема решилась
if(mysql_num_rows($login_copy) == 0 && strlen($_POST['mail']) > 3 && strlen($_POST['mail']) < 30 && $user_pass == $user_re_pass && strlen($_POST['login']) > 3 && strlen($_POST['login']) < 12)


Во всем виноваты эти строки
strlen($_POST['login']) > 3 && strlen($_POST['login']) < 12

Но почему из-за них не регистрирует как надо, фиг знает. Вроде здесь условие, что должно быть в $_POST['login'] символов больше 3, но меньше 12.
SerginhoLD
вот проблема в
Цитата (Godwarlock @ 13.12.2014 - 20:44)
Какая разница. Есть прогресс или нет прогресса.


включу экстрасенса и скажу что,
т.к. кодировка UTF-8 нужно использовать mb_* функции для строк


_____________
"internet explorer всех правильней отображает страницы" ©
walerus
SerginhoLD
Ну вот так всегда... я думал будет холивар, а ты сразу взорвал ответом, еще не окрепшую психику laugh.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.