Простой вопрос. @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 16 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
da-khosh Муж.
новый человек
0
Сообщения: 68
Зарегистрирован: 23.09.01
Откуда: Москва
Заголовок сообщения: Простой вопрос.
Сообщение Добавлено: 14 Ноябрь 2004, 22:41:50 
Как избавиться от глюка: скрипт сам дописывает слеш перед двойной кавычкой.
Пример: пишем <a href="123">123</a>
А скрипт записывает и выводит: <a href=\"123\">123</a>
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Сообщение Добавлено: 14 Ноябрь 2004, 22:48:02 
какой скрипт? куда записывает? ты бы для начала научился правильно формулировать вопросы. да и темы тоже. закрыто.

_________________
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Сообщение Добавлено: 14 Ноябрь 2004, 23:25:19 
открываем. автор обещал исправится.

_________________
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 15 Ноябрь 2004, 00:34:32 
PHP FAQ: \"Кавычки \". Cоставление запросов mysql, слеши, экранирование кавычек.
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Сообщение Добавлено: 15 Ноябрь 2004, 02:01:56 
почитать про Magic quotes ?

_________________
:: metal kick ass ::
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Сообщение Добавлено: 15 Ноябрь 2004, 04:47:57 
Чебурген, а ты уверен что у него пхп? темы с таким названием и содержанием должны закрываться. отвечать на них бессмысленно. потому что автор должен научится сначала формулировать вопрос корректно.

_________________
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 15 Ноябрь 2004, 11:15:13 
Не подумал.
согласен, поторопился я с ответом
da-khosh Муж.
новый человек
0
Сообщения: 68
Зарегистрирован: 23.09.01
Откуда: Москва
Сообщение Добавлено: 15 Ноябрь 2004, 12:15:23 
Спасибо за открытие темы!
По порядку:
Я начинающий программист. Вот начал писать скрипт новостей на php. И столкнулся с некоторыми сложностями, в которых пока мало смыслю.

Дома настроил сервер, на нём пишу и проверяю свои скрипты.
- Apache Version 1.3.29
- PHP Version 4.3.4
На моём домашнем сервере всё отлично, а вот на других нет.

Подробнее о проблеме: скрипт на сервере хостера masterhost работает но есть одно НО. Проблема с двойными кавычками. Когда я пишу новости с использованием html кода с двойными кавычками (<a href="123">123</a>) мой скрипт заносит новость в базу уже со слешами перед двойными кавычками.

Единственное что я пока узнал так это то что у мастерхоста так настроен php сервер и что именно он дописывает их туда.

Вот и исходники, для полного курса дела.

Форма для написания новости
Код:
 <form method=post action=news_add.php>
<table border=0 align=center>
   <tr>
   <td align=center><b>$time<br><br>Введите новую новость :</b>
   </td>
   </tr>
   <tr>
   <td><INPUT TYPE=text NAME=theme size=67><br>
<textarea name=NewNews cols=50 rows=10></textarea>
   </tr>
   <tr>
   <td align=center><br><input type=submit value=Добавить>
   </td>
   </tr>
   </table>
   </form>


news_add.php - файл обработки текста и записывания его в *.txt базу
Код:
$db_news="news.txt";
$time=Date('d M Y',time());
$fp=fopen($db_news,"a");
{
$NewNews=str_replace("\n","",$NewNews);
$NewNews=str_replace("\r","",$NewNews);
    fputs($fp, $time." :: ". $theme." :: ".$NewNews. "\n");
//   fwrite($fp, $time." :: ". $theme." :: ".$NewNews. "\n");
    fclose($fp);
    //  Выводим сообщение о том, что новость добавлена.
   echo "<center><b>Новость успешно добавлена!</b></center>";
   print '<meta http-equiv="Refresh" content="1; URL=admin.php?id=main">';
   }


Вот и спрашиваю как обойти эту проблему или решить её программным путём?
Теперь вроде не чего не упустил. :cool:
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Сообщение Добавлено: 15 Ноябрь 2004, 14:23:09 
всё таки Magick Quotes

_________________
:: metal kick ass ::
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 15 Ноябрь 2004, 15:07:30 

Цитата:
Вот и спрашиваю


Так я ж уже ответил.
Зачем было столько всего писать, если ответ уже есть?
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Сообщение Добавлено: 15 Ноябрь 2004, 17:54:34 
Чебурген, он обещал написать развернутый вопрос ;)

_________________
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
da-khosh Муж.
новый человек
0
Сообщения: 68
Зарегистрирован: 23.09.01
Откуда: Москва
Сообщение Добавлено: 15 Ноябрь 2004, 21:26:25 

MpaK999 писал(а):
Magick Quotes


Мне как новичку не понятен был ответ. Если не сложно, растолкуй по проще.

Я уже за день решил эту проблему… Ох, уж много пришлось дёргать людей, но спасибо всем за терпение ко мне.
Код:
$db_news="news.txt";
$time=Date('d M Y',time());
$fp=fopen($db_news,"a");
{
     fputs($fp, $time." :: ". $theme." :: ".$NewNews. "\n");
// Вот строка, которая заменяет слеш с кавычкой на просто кавычку.
$NewNews=str_replace('"','"', $NewNews);
// Конец этой строки.
    fclose($fp);
    //  Выводим сообщение о том, что новость добавлена.
    echo "<center><b>Новость успешно добавлена!</b></center>";
    print '<meta http-equiv="Refresh" content="1; URL=admin.php?id=main">';
    }

И все " заменяются на "

p.s. да если у вас есть какие-то замечания по поводу КОДА, то отпишите новичку!
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 16 Ноябрь 2004, 00:27:56 
Замечаний по коду много, но есть сомнения в том, что их имеет смысл делать.
По поводу твоих кавычек я тебе ответил НАИПОДРОБНЕЙШИМ образом.
Правда, не написав текст, а дав гиперссылку.
Там и про кавычки, и про Magick Quotes, и про то, что твофй код неполный и про многое другое.
Разжевано специально для новичков.
Однако проблема не решена до сих пор.
Где гарантия, что остальные замечания и ответы не постигнет та же участь?

Я могу понять, что человек в программировании новичок.
Но читать-то тебя в каком классе учили?
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Сообщение Добавлено: 16 Ноябрь 2004, 08:53:00 
PHP если установлена опция сам автоматом экранирует кавычки.
Проверяй, если у тебя так, то удаляй это экранирование.

Код:
function strips(&$el) {
  if (is_array($el)) {
    foreach($el as $k=>$v) {
      if($k!='GLOBALS') {
        strips($el[$k]);
      }
    }
  } else {
    $el = stripslashes($el);
  }
}
if (get_magic_quotes_gpc()) strips($GLOBALS);


подробнее ссылку давали уже тут - http://phpfaq.ru/slashes

_________________
:: metal kick ass ::
da-khosh Муж.
новый человек
0
Сообщения: 68
Зарегистрирован: 23.09.01
Откуда: Москва
Заголовок сообщения: Спасибо!
Сообщение Добавлено: 16 Ноябрь 2004, 12:51:19 
MpaK999 - tnx!
:beer:
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 16 Ноябрь 2004, 16:24:53 
похоже, оно просто не знает, что такое гиперссылка, и как ей пользоваться...
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 16 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100