[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql_real_escape_string
Ramzes_Ra
пишу обработчик регистрации... и выяснилась забавная ошибочка... как только я проверяю введенные данные функцией mysql_real_escape_string, то они почему-то стираются напрочь..
а если я пишу без неё, то всё прекрасно добавляется..
вообще не ожидал такой проблемы.. почему так может происходить?

Не работает:
if (!empty($_POST['username'])) {$username = mysql_real_escape_string($_POST['username']);}
if (!empty($_POST['Email'])) {$Email = mysql_real_escape_string($_POST['Email']);}
if (!empty($_POST['Password'])) {$pass = mysql_real_escape_string($_POST['Password']);}
if (!empty($_POST['par'])) {$par = mysql_real_escape_string($_POST['par']);}


Работает:
if (!empty($_POST['username'])) {$username = $_POST['username'];}
if (!empty($_POST['Email'])) {$Email = $_POST['Email'];}
if (!empty($_POST['Password'])) {$pass = $_POST['Password'];}
if (!empty($_POST['par'])) {$par = $_POST['par'];}




Спустя 5 минут, 7 секунд (8.08.2012 - 11:59) Игорь_Vasinsky написал(а):
потому как коннект к БД должен быть раньше вызова этий функции

+ email - проверять регуляркой
+ пароль хешировать

Спустя 7 минут, 11 секунд (8.08.2012 - 12:06) Ramzes_Ra написал(а):
Цитата
коннект к БД должен быть раньше вызова этий функции

помогло.. спасибо

Спустя 6 минут, 2 секунды (8.08.2012 - 12:12) Игорь_Vasinsky написал(а):
Цитата
if (!empty($_POST['username'])) {$username = mysql_real_escape_string($_POST['username']);}


function safe($data, $html=true)
{
#Вырезать html теги
if($html === false)
return !empty($data) ? mysql_real_escape_string(strip_tags($data)) : false;
#Не вырезать html теги
elseif($html === true)
return !empty($data) ? mysql_real_escape_string($data) : false;
}


$name = safe($_POST['name']);

Спустя 7 минут, 7 секунд (8.08.2012 - 12:19) Ramzes_Ra написал(а):
хмм.. а разница?

Спустя 1 час, 11 минут, 5 секунд (8.08.2012 - 13:30) Ramzes_Ra написал(а):
снова какая-то непонятня проблема
с кодировкой..
if (!preg_match("|^[A-Za-z0-9_]{3,24}$|i",$username))
{
header("Content-Type: text/html; charset=UTF-8");
echo '<script>document.location.href="registr.php?param=2&username='.$username.'&Email='.$Email.'";</script>';
}

Спустя 6 минут, 55 секунд (8.08.2012 - 13:37) Игорь_Vasinsky написал(а):
header("Content-Type: text/html; charset=UTF-8");

if (!preg_match("|^[A-Za-z0-9_]{3,24}$|iu",$username))
{

echo '<script>document.location.href="registr.php?param=2&username='.$username.'&Email='.$Email.'";</script>';
}

Спустя 2 часа, 13 минут (8.08.2012 - 15:50) DarkLynx написал(а):
Используйте тернарный оператор
Ваше

if (!empty($_POST['username'])) {$username = mysql_real_escape_string($_POST['username']);}

тернарный

$username = (!empty($_POST['username'])) ? mysql_real_escape_string($_POST['username'] : null;

Спустя 18 минут, 20 секунд (8.08.2012 - 16:09) Ramzes_Ra написал(а):
маленький вопрос... если на странице я вверху поставил
include("blocks/bd.php");

то в других php файлах, которые инклудутся в данный и там во всех есть обращение к базе, не нужно писать include("blocks/bd.php"); ?

Спустя 37 минут, 6 секунд (8.08.2012 - 16:46) DarkLynx написал(а):
нет

Спустя 3 часа, 32 минуты, 46 секунд (8.08.2012 - 20:18) Ramzes_Ra написал(а):
Впервые сталкиваюсь...
Выполняю обрезку текста методом
$text=substr($text,0,500);

И выводит в конце такую вещь

На русском сервере всего бы�...


то бишь последним символом выводит �... Что это такое и как исправить? С кодировкой проблем нет, учтены все возможные способы её исправления..

Спустя 6 минут, 15 секунд (8.08.2012 - 20:25) Игорь_Vasinsky написал(а):
ну для UTF -же есть сестрёнки строковых функций с префиксом mb_

http://manual.irbis-team.com/?page=multibyte

Спустя 4 минуты, 1 секунда (8.08.2012 - 20:29) Ramzes_Ra написал(а):
Спасибо, помогло :)
$text=mb_substr($text,0,500,'utf-8');

Игорь_Vasinsky, любая фирма позавидовала бы такой техподдержке по качеству и скорости ответа ;)

Спустя 9 минут, 49 секунд (8.08.2012 - 20:39) Игорь_Vasinsky написал(а):
))) эх... я простой разработчик... теподержка не моё.

я просто возвращаю долги нашему форуму) wink.gif
Быстрый ответ:

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