Вывод MySQL на страницу PHP с обратной косой чертой

#php #mysql

#php #mysql

Вопрос:

У меня есть форма, которая запрашивает имя. Php для его обработки является:

 $name = mysqli_real_escape_string($dbc, trim($_POST['name']));
 

Когда кто-то вставляет имя с апострофом, например, Dan O’Shea, оно отображается в базе данных mysql нормально, но на веб-странице его вывод отображается как Dan O Shea.

Как мне избавиться от обратной косой черты и показать ‘апостроф на веб-странице? Могу ли я использовать str_replace(‘/’,», $string) с mysqli_real_escape_string , и если да, то как?

Спасибо за любую помощь,

Энди 😉

Ответ №1:

используется stripslashes() для удаления лишних обратных косых черт.

Комментарии:

1. Спасибо joaofgf, это с или без mysqli_real_escape_string ?

2. с mysqli_real_escape_string()

3. @AndyR Используйте его, когда вы показываете данные на странице. stripslashes($row['name']);

4. Привет Zerquix18 и joaofgf, при использовании локального хостинга у меня нет проблемы, это происходит только на бесплатной учетной записи хостинга. Так они очень осторожны или что?

5. ваш хостинг-провайдер gpc_magic_quotes включил, а ваш локальный сервер — нет.

Ответ №2:

Похоже, вы gpc_magic_quotes включили.

http://php.net/manual/en/security.magicquotes.php

Комментарии:

1. Спасибо, Энди. Проблема не в моем локальном хосте — там все работает нормально. Проблема, похоже, возникает только тогда, когда я размещаю код на бесплатном хостинг-провайдере. В конце концов, я перейду на платный хостинг, как только сайт будет завершен, я просто тестирую и обнаружил эту проблему. Это распространено? Еще раз спасибо, Энди 😉

2. Я не знаю, насколько обычными могут быть вещи. Я работаю только с серверами, которые я администрирую напрямую.