Вывод кода ссылки в виде гиперссылки

Гриша К.

Новичок
Вывод кода ссылки в виде гиперссылки

Здравствуйте подскажите пожалуйста как отформатировать такую строку для целей печати:
<a href="http://phpclub.ru/" target="_blank">форум</a>

Например: ЧЕЛОВЕК :) добавил в каталог ссылок такую текстовую ссылку, после добавления выводится сообщение о том, что ссылка добавлена и выодятся все введенные данные.

Я использую для вывода echo, и данная текстовая ссылка не выводится.

Скажите пожалуйста какую применить функцию, что эта строка выводилась, и выводилась как гиперссылка.
 

Гриша К.

Новичок
Не выводится вообще.
У меня в форму передается переменная $link=$_POST['link'].
Вывожу я ее так:
echo '<p><b>Код текстовой ссылки:</b><br>'.$link.'</p>';

Сначала думал что nl2br подйдет, но это только для <br>.
А больше я ничего и незнаю. sptinf, printf, недает нужного результата, япочитал.

-~{}~ 06.12.05 01:10:




Я думал, щас зайду на форм, и сразу ответик получу.
Значит или вопрос сложный или я непонятно написал.

Попробую так.

есть переменная $link='<a href="http://phpclub.ru/" target="_blank">форум</a>';

если вывожу так echo $link; то все вывоится в виде гиперссылки.

Но когда я ввожу в текстово поле с name="link" код ссылки, и после передачи в скрипт вывожу эту переменную

$link=$_POST['link'];

echo '<p><b>Код текстовой ссылки:</b><br>'.$link.'</p>';

То ФИГУ мне выводит, ничего не выводит. Непонимаю.
Если знаете ответ, пожалуйста напишите его.
 

Гриша К.

Новичок
SelenIT, спасибо за ответ.
Ну что то мне это не помогло
Цитирую:
При выводе value в тегах input форм, слеши не помогают.
Чтобы текст в таком поле выводился целиком, value надо заключать в кавычки, а к выводимым данным применять функцию htmlspecialchars()
Пример:
<input type="text" name="name" value="<? echo htmlspecialchars($name,ENT_QUOTES)?>">
<textarea><? echo htmlspecialchars($text,ENT_QUOTES)?></textarea>

Попробовал, я так, то же самое.
 

SelenIT

IT-лунатик :)
Упс, сорри, первый раз невнимательно прочитал вопрос.

А переменная $_POST['link'] действительно приходит? Что по этому поводу говорит phpinfo(32)?
 

Dreammaker

***=Ф=***
Что выводится в хтмл, а не в броузере?

Способ указанный в твоём сообщении полностью рабочий.
Есть хотя бы <p><b>Код текстовой ссылки:</b><br></p>?

Это в смысле, если использовать хтмлспециалчарс()
 

Гриша К.

Новичок
SelenIT
Да приходит. Потому что этот скрипт уже в интернете и хоть на странице не отображается. Но по почте пресылается. У меня тоже там передается переменная $_POST['link'].
Вот в таком виде приходит на почту:
<a href=\'http://phpclub/\' onClick=\"this.href=\'http://phpclub?87050\'\">ПХП клуб.</a>

Dreammaker
В html вот это <p><b>Код текстовой ссылки:</b><br></p>
 

Dreammaker

***=Ф=***
Насколько я понял включены magic_quotes_qpc, иначе чего оно эскейпит кавычки? Хотя это так лирическое отступление.

Запости кусочек кода, который отвечает за работу с этой переменной (только естественно не 150 строк :)). Может в нём что-то не так. И желательно реальный, а не пример..
 

Гриша К.

Новичок
Eduard спасибо за ответ, попробовал. ничего не дало.


Dreammaker, спасибо за ответ.
Вот в кратком виде полностью мой код, у меня так и есть все на одной странице:



Все нашел ошибку, вот я невнимательный. Тупонул.
Я давал в начале страницы короткие имена переменных и у меня было так:

@ $link = $_POST['title'];
Ну исправил @ $link = $_POST['link'];
но вот код баннера в этом случае не выводится, а ссылка текстовая выводится!


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

И вот все таки вопрос, а код кнопки 88x31 почему не выводится?




PHP:
<!-- Если выполняется условие, то поля формы отображаются на странице-->
<?php if ($_POST==false || isset($_POST['form2'])): ?>
   <form id='form3' name="form3" method="post" action="/add_url/other/" style="margin-bottom:0pt;"> 
   <p>Код текстовой ссылки: <br><textarea name="[b]link[/b]" rows="3"></textarea></p>
   <p><input type="hidden" name="form3" value="true"><input type="button" name="" value="Добавить сайт" ONCLICK="javascript: validatePersonalform3()"></p>
   </form>
<?php endif ?>

<!-- Дальше, если пользователь отправил данные, то поля формы скрываеются, и выводится результат + запись в БД + отправка e-mail-->
<?php if(isset($_POST['form3']))
	{
	if( insert_add_other($_POST) == 'url')
		echo '<p class="text">Данный url уже есть в БД</p>';
	elseif ( insert_add_other($_POST) == false )
		echo '<p class="text">Невозможно установить соединение с БД.</p>';
	else
		{

		echo '<p class="text" id="form-margin"><b>Код текстовой ссылки:</b><br>[b]'.$link.'[/b]</p>';
		      
          $toaddress = $email;
          $subject = 'Добавление сайта';
          $mailcontent = mail_add_other($_POST);
          $additional_headers = "Cc: [email][email protected][/email]\r\n";

          mail ($toaddress, $subject, $mailcontent, $additional_headers);
		}
	} ?>
При помощи функции insert_add_other($_POST) все нормально записывается в БД, уже боле 30 записей записалось.
При помощи функции mail_add_other($_POST); отправляются содержание письма на e-mail и все данные выводятся, в том числу $link.
 

Dreammaker

***=Ф=***
@$link = $_POST['link'];
Вместо такой записи используй:
$link=(isset($_POST['link']))?$_POST['link']:''; Или что-то подобное. Подавление ошибок - это не кошерно :)

А насчёт банера, всё же есть у меня подозрение, что включено magic_quotes_gpc (хотя опять же приходится работать в телепат режиме). Глянь:
http://phpfaq.ru/slashes#off
 

Гриша К.

Новичок
Dreammaker, спасибо за ответ.

magic_quotes_gpc = On;

При выводе кода получается так:
<a href=\"http://phpclub.ru/\" target=\"_blank\">PHP club.</a>

Поэтому и баннер не отображается и гиперссылка не верная получчается.

Подскажите пожалуйста как это обработать, чтобы выводилось без \.
Я уже совсем несоображаю 3 дня рабоыт, до 7 утра сидел, программировал каталог ссылок.
Помогите пожалуйста. Я чего-то сам немогу уже ничего сооброзить.
 

Dreammaker

***=Ф=***
Автор оригинала: Гриша К.
Dreammaker, спасибо за ответ.
Подскажите пожалуйста как это обработать, чтобы выводилось без \.
Я уже совсем несоображаю 3 дня рабоыт, до 7 утра сидел, программировал каталог ссылок.
Помогите пожалуйста. Я чего-то сам немогу уже ничего сооброзить.
Посмотри по ссылке, которую я тебе дал, там есть код который нужно вставлять в каждую страницу (или инклудить), он даёт возможность не обращать внимания на настройки мейджик_квотес и подставлять слеши только тогда, когда нужно.

p.s. У меня летом тоже был заказ - каталог ссылок, точнее рейтингующий каталог сайтов :)
 

Гриша К.

Новичок
Romashov, спасибо большое все, получилось.


Dreammaker, спасибо большое, отдохнул. потом посмотрел все по ссылке, во всем разобрался.
 
Сверху