Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: путаница
 
 автор: Василий   (28.12.2011 в 05:36)   письмо автору
 
 

Запутался. Может кто прояснит?
Если advertisment у предприятия равно 1 то ссылка на его сайт делаем активной, если равно нулю то ссылка неактивна.
if($myrow3["advertisment"]) $myrow3["site"] = "<a href='{$myrow3["site"]}' target = '_blank' rel='nofollow'>{$myrow3["site"]}</a>";

Если сайта нет, то строку "Официальный сайт" не выводим

if (!empty($myrow3 ['site'])) {
printf ("<p><strong>Официальный сайт: <u><noindex>%s</noindex></u></strong></p>", $myrow3["site"]);}

Когда передаю в форме $myrow3['site'] то у предприятия с активной ссылкой вносится только <a href=, само названия сайта теряется. А у предприятия с неактивной ссылкой все вносится корректно
<form action="tion.php" method="get" name="f2">
<input type='hidden' name='site' value='<?php echo $myrow3['site']; ?>'>

  Ответить  
 
 автор: Lotanaen   (28.12.2011 в 10:47)   письмо автору
 
   для: Василий   (28.12.2011 в 05:36)
 

У Вас кавычки одинарные используются и в value и в href - поэтому значение value воспринимается как содержимое между двумя одинарными кавычками, т.е. '<a href=' используйте при выводе формы двойные кавычки либо наоборот в ссылке двойные. Можно в ссылке вообще кавычки убрать - у Вас же там нет и не может быть пробелов.

  Ответить  
 
 автор: deimand   (28.12.2011 в 10:58)   письмо автору
 
   для: Василий   (28.12.2011 в 05:36)
 

.

  Ответить  
 
 автор: Василий   (28.12.2011 в 17:31)   письмо автору
 
   для: deimand   (28.12.2011 в 10:58)
 

value обрамил в двойные кавычки
<input type='hidden' name='site' value="<?php echo $myrow3['site']; ?>">

но теперь
value имеет значение:
<a href=\'http://chpl.ru\' target = \'_blank\' rel=\'nofollow\'>http://chpl12.ru</a>

а надо только http://chpl.ru

  Ответить  
 
 автор: Lotanaen   (28.12.2011 в 17:36)   письмо автору
 
   для: Василий   (28.12.2011 в 17:31)
 

ну так подкорректируйте это - в первом примере вашего первого поста в этом топике.
Вот это же Вы сами прописываете : $myrow3["site"] = "<a href='{$myrow3["site"]}' target = '_blank' rel='nofollow'>{$myrow3["site"]}</a>";

  Ответить  
 
 автор: Василий   (28.12.2011 в 17:48)   письмо автору
 
   для: Lotanaen   (28.12.2011 в 17:36)
 

так вы пишете тоже самое что и было
if($myrow3["advertisment"]) $myrow3["site"] = "<a href='{$myrow3["site"]}' target = '_blank' rel='nofollow'>{$myrow3["site"]}</a>";

или вы имеете ввиду прописать вот так:
"<a href="{$myrow3["site"]}" ?

  Ответить  
 
 автор: Lotanaen   (28.12.2011 в 17:51)   письмо автору
 
   для: Василий   (28.12.2011 в 17:48)
 

что бы была как Вы выше прописали нужно вообще эту строчку удалить. Для чего Вы значению $myrow3["site"] присваиваете новое значение, а именно "<a href='{$myrow3["site"]}' target = '_blank' rel='nofollow'>{$myrow3["site"]}</a>";?

  Ответить  
 
 автор: Василий   (28.12.2011 в 18:02)   письмо автору
 
   для: Lotanaen   (28.12.2011 в 17:51)
 

для того чтобы ссылка стала активной.

  Ответить  
 
 автор: Lotanaen   (29.12.2011 в 10:23)   письмо автору
 
   для: Василий   (28.12.2011 в 18:02)
 

Я не вижу ваш код и "чтобы ссылка стала активной" - могу только догадываться... Так что создает трудности-то? Что Вы присвоили $myrow3["site"], то и выводится.

  Ответить  
 
 автор: Василий   (29.12.2011 в 13:17)   письмо автору
 
   для: Lotanaen   (29.12.2011 в 10:23)
 

вот код
<table width='88%' cellspacing='2' cellpadding='2' align="center">
<?php 
if($myrow3["advertisment"]) $myrow3["site"] = "<a href='{$myrow3["site"]}' target = '_blank' rel='nofollow'>{$myrow3["site"]}</a>";

if (!empty(
$myrow3 ['address'])) {
printf ("<p><strong>Наш адрес:</strong> %s</p>"$myrow3["address"]);}
    
if (!empty(
$myrow3 ['site'])) {
printf ("<p><strong>Официальный сайт: <u><noindex>%s</noindex></u></strong></p>"$myrow3["site"]);}

?>
</td></tr></table>


условие если есть advertisment то site будет со ссылкой, если без то без ссылки

  Ответить  
 
 автор: Lotanaen   (29.12.2011 в 13:23)   письмо автору
 
   для: Василий   (29.12.2011 в 13:17)
 

Тогда не меняйте значение в массиве, а введите новую переменную - примерно так:


<table width='88%' cellspacing='2' cellpadding='2' align="center">
<?php 
$linksite 
'';
if(
$myrow3["advertisment"]) $linksite "<a href='{$myrow3["site"]}' target = '_blank' rel='nofollow'>{$myrow3["site"]}</a>";

if (!empty(
$myrow3 ['address'])) {
printf ("<p><strong>Наш адрес:</strong> %s</p>"$myrow3["address"]);}
    
if (
$linksite) {
printf ("<p><strong>Официальный сайт: <u><noindex>%s</noindex></u></strong></p>"$linksite;}

?>
</td></tr></table>



а в форме выводите значение из массива.

  Ответить  
 
 автор: Василий   (29.12.2011 в 13:58)   письмо автору
 
   для: Lotanaen   (29.12.2011 в 13:23)
 

так в том то и проблема
надо передавать только одну переменную,
<input type='hidden' name='site' value="<?php echo $myrow3['site']; ?>">

  Ответить  
 
 автор: Lotanaen   (29.12.2011 в 14:22)   письмо автору
 
   для: Василий   (29.12.2011 в 13:58)
 

так Вы и будете в форму передавать только одну переменную (одно значение массива)

  Ответить  
 
 автор: Василий   (29.12.2011 в 15:01)   письмо автору
 
   для: Lotanaen   (29.12.2011 в 14:22)
 

хотелось бы так.
но передается либо mysite.ru либо <a href = mysite.ru> (если advertisment = 1)
а нужно передавать только mysite.ru без <a href

  Ответить  
 
 автор: Valick   (29.12.2011 в 15:29)   письмо автору
 
   для: Василий   (29.12.2011 в 15:01)
 

удачно вы тему назвали...
___
"как вы яхту назовоте так она и поплывет" (Капитан Врунгель)
а если перефразировать, то...
взяли за основу Ж. Попова, вот и выходит все через Жопу
может быть звучит несколько резко, но точнее не скажешь
прошу меня извинить за привычку называть вещи своими именами :)
путаница у вас происходит из-за отсутствия базовых знаний
которых Попов как раз не дает
без этого при всем желании здешних форумчан помочь вам
практически невозможно
в подобных случаях я всегда советую купить хотя-бы одну хорошую книгу

  Ответить  
 
 автор: Василий   (29.12.2011 в 15:39)   письмо автору
 
   для: Valick   (29.12.2011 в 15:29)
 

Причем тут Ж.Попов?
Я про переменную ))

  Ответить  
 
 автор: Valick   (29.12.2011 в 15:47)   письмо автору
 
   для: Василий   (29.12.2011 в 15:39)
 

Причем тут Ж.Попов?
а он, точнее его видеокурс, проходит "тонкой красной линией" по вашему коду :)
в следствие чего у вас возник вопрос практически на пустом месте, ответить на который маловероятно по одной простой причине, в голове он не укладывается :)
раскажите с самого начала задачу без использования кода, одними словами
что вы имеете (что у вас там хранится в базе, и почему именно в таком виде)
и то что вы хотите получить, какую цель вы хотите достичь передавая скрытый параметр формы

  Ответить  
 
 автор: Василий   (29.12.2011 в 16:02)   письмо автору
 
   для: Valick   (29.12.2011 в 15:47)
 

хорошо.
на странице я вывожу контактную информацию предприятия, в т.ч. и сайт.
У некоторых предприятий у которых я поставил что значение advertisment = 1 ссылка на сайт активна [url]www.mysite.ru[/url], у других, у которых advertisment = 0 ссылки на сайт нет - выводится просто текст: www.mysite.ru
На той же странице пользователь может внести корректировку в данные предприятия.
<center><form action="ac.php" method="get" name="f2">
<p>Заметили неточность – сообщите об ошибке!
<input type='hidden' name='site' value="<?php echo $myrow3['site']; ?>">

И в $myrow3['site'] я получаю:
1. если advertisment = 1 <a href www.mysite.ru
2. если advertisment = 0 www.mysite.ru

Вопрос. Не изменяя название $myrow3['site'] Как сделать чтобы в $myrow3['site'] прописывалось www.mysite.ru без a href в случае если advertisment = 1

  Ответить  
 
 автор: Valick   (29.12.2011 в 16:20)   письмо автору
 
   для: Василий   (29.12.2011 в 16:02)
 

что касается ссылки:
<?php
if (!empty($myrow3[site])) {
if(
$myrow3[advertisment]) {
printf ("<p><strong>Официальный сайт: <u><noindex><a href='%s' target = '_blank' rel='nofollow'>%s</a></noindex></u></strong></p>"$myrow3[site], $myrow3[site]);
}else{
printf ("<p><strong>Официальный сайт: <u><noindex>%s</noindex></u></strong></p>"$myrow3[site]);}
?>

естественно
if($myrow3["advertisment"]) $myrow3["site"] = "<a href='{$myrow3["site"]}' target = '_blank' rel='nofollow'>{$myrow3["site"]}</a>"; 

нужно удалить из кода
____
На той же странице пользователь может внести корректировку в данные предприятия.
а вот для этого лучше сделать отдельную страницу (и может быть ограничить доступ), и самое главное идентификация должна проходить не по имени сайта или миени чего либо а по ID записи
___
да, кстати, возвращаясь к Попову, для выборки результата из базы используете do{} while()?

  Ответить  
 
 автор: Василий   (29.12.2011 в 16:38)   письмо автору
 
   для: Valick   (29.12.2011 в 16:20)
 

спасибо. все работает.
Всех благ!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования