X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Помогите с php кодом плиз., с титлами разобраться
Solonik
Solonik
Topic Starter сообщение 7.1.2012, 17:57; Ответить: Solonik
Сообщение #1


Старожил
******

Группа: Active User
Сообщений: 1358
Регистрация: 29.10.2009
Из: г.Москва
Поблагодарили: 338 раз
Репутация:   89  


Помогите пожалуйста кто знает где ошибка с кодом. Код таков есть титл определенный есть категории и страницы лотов к примеру. Для главное титл $title значение для категории название категории - $title. Нужно сделать для лота значение название лота - $title. Для категорий работает, а для лотов нет. посмотрите плиз кто шарит где накосячил

$title0="Мой сайт";
    $title=$title0;
    if($_REQUEST['cat']){
        $q = "SELECT cat_name FROM  cat  WHERE cat_id='".$_REQUEST['cat']."' ";
        $r = mysql_query($q);
        if($row = mysql_fetch_array($r)){
            $title=$row['cat_name'].': '.$title0;
        };  //здесь до сюда формируется для категории работает.А вот дальше для лота не работает.плиз.
    }else
    if($_REQUEST['module']=='view' && $_REQUEST['id']){
        $q = "SELECT title  FROM   sites   WHERE id='".$_REQUEST['id']."' ";
        $r = mysql_query($q);
        if($row = mysql_fetch_array($r)){
            $title=$row['view_name'].': '.$title0;
        };
    }



Вот не пойму где ошибка помогите пожалуйста. Значение лота сейчас : $title а вот перед двоеточием не выводится название лота.


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
simply_sash
simply_sash
сообщение 7.1.2012, 19:11; Ответить: simply_sash
Сообщение #2


Участник
***

Группа: User
Сообщений: 228
Регистрация: 26.8.2011
Поблагодарили: 94 раза
Репутация:   21  


Вероятно sql запрос
$q = "SELECT title  FROM   sites   WHERE id='".$_REQUEST['id']."' ";

не возвращает записи или поле 'view_name' в возвращаемой записи пустое.
Проверить можно так:
echo $q;
и выполнить полученный запрос в phpmyadmin, например.

В любом случае конструкция
WHERE id='".$_REQUEST['id']

опасна, поскольку позволяет произвести sql-инъекцию. Содержимое $_REQUEST['id'] (а также $_REQUEST['cat']) нужно обязательно проверять перед подстановкой в sql-запрос.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Solonik
Solonik
Topic Starter сообщение 7.1.2012, 19:50; Ответить: Solonik
Сообщение #3


Старожил
******

Группа: Active User
Сообщений: 1358
Регистрация: 29.10.2009
Из: г.Москва
Поблагодарили: 338 раз
Репутация:   89  


(simply_sash @ 7.1.2012, 19:11) *
Вероятно sql запрос
$q = "SELECT title  FROM   sites   WHERE id='".$_REQUEST['id']."' ";

не возвращает записи или поле 'view_name' в возвращаемой записи пустое.


Если за денюжку починить это реально ? И ещё проставить теги h1 в нужных местах. Вернее на странице категории и на странице лота ?
И сколько примерно цена сделать? Просто в программирование слабо понимаю, к сожалению. Тока основные моменты.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Blas
Blas
сообщение 7.1.2012, 20:15; Ответить: Blas
Сообщение #4


Новичок
*

Группа: User
Сообщений: 23
Регистрация: 29.10.2011
Поблагодарили: 3 раза
Репутация:   0  


Думаю не дорого, до 5$

Так а
$q = "SELECT title  FROM   sites   WHERE id='".$_REQUEST['id']."' ";

возвращает значение?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 8.1.2012, 10:47; Ответить: dan1
Сообщение #5


Участник
***

Группа: User
Сообщений: 195
Регистрация: 12.8.2010
Из: Тагила
Поблагодарили: 74 раза
Репутация:   25  


if($row = mysql_fetch_array($r)){
            $title=$row['view_name'].': '.$title0;
}

Используете поле view_name, а в запросе его не получили.
Так что в запросе:
$q = "SELECT title  FROM   sites   WHERE id='".$_REQUEST['id']."' ";

Нужно писать так:
$q = "SELECT title, view_name  FROM   sites   WHERE id='".$_REQUEST['id']."' ";


PS: надеюсь переменные в запросе проходят фильтрацию..

Сообщение отредактировал dan1 - 8.1.2012, 10:48
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Solonik
Solonik
Topic Starter сообщение 8.1.2012, 16:29; Ответить: Solonik
Сообщение #6


Старожил
******

Группа: Active User
Сообщений: 1358
Регистрация: 29.10.2009
Из: г.Москва
Поблагодарили: 338 раз
Репутация:   89  


(dan1 @ 8.1.2012, 10:47) *
PS: надеюсь переменные в запросе проходят фильтрацию..


Неа попробовал почему не получилось
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/admin/data/www/sayt.ru/index.php on line 24


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 8.1.2012, 18:41; Ответить: dan1
Сообщение #7


Участник
***

Группа: User
Сообщений: 195
Регистрация: 12.8.2010
Из: Тагила
Поблагодарили: 74 раза
Репутация:   25  


Случайно не это нужно?
$title0="Мой сайт";
    $title=$title0;
    if($_REQUEST['cat']){
        $q = "SELECT cat_name FROM  cat  WHERE cat_id='".intval($_REQUEST['cat'])."' ";
        $r = mysql_query($q);
        if($row = mysql_fetch_array($r)){
            $title=$row['cat_name'].': '.$title0;
        };  //здесь до сюда формируется для категории работает.А вот дальше для лота не работает.плиз.
    }else
    if($_REQUEST['module']=='view' && $_REQUEST['id']){
        $q = "SELECT title  FROM   sites   WHERE id='".intval($_REQUEST['id'])."' ";
        $r = mysql_query($q);
        if($row = mysql_fetch_array($r)){
            $title=$row['title'].': '.$title0;
        };
    }


Ещё добавил фильтрацию.

Сообщение отредактировал dan1 - 8.1.2012, 18:41
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
simply_sash
simply_sash
сообщение 8.1.2012, 18:47; Ответить: simply_sash
Сообщение #8


Участник
***

Группа: User
Сообщений: 228
Регистрация: 26.8.2011
Поблагодарили: 94 раза
Репутация:   21  


(Solonik @ 8.1.2012, 15:29) *
Warning: mysql_fetch_array(): supplied argument is not

А таблица sites содержит поле view_name?
А если так:
$q = "SELECT 'title', 'view_name'  FROM   'sites'   WHERE id='".$_REQUEST['id']."'";

?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Solonik
Solonik
Topic Starter сообщение 8.1.2012, 19:00; Ответить: Solonik
Сообщение #9


Старожил
******

Группа: Active User
Сообщений: 1358
Регистрация: 29.10.2009
Из: г.Москва
Поблагодарили: 338 раз
Репутация:   89  


(simply_sash @ 8.1.2012, 18:47) *
А таблица sites содержит поле view_name?
А если так:
$q = "SELECT 'title', 'view_name'  FROM   'sites'   WHERE id='".$_REQUEST['id']."'";

?



Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/admin/data/www/сайт.ru/index.php on line 24

Не пойму в чём фигня. ПРосто $title выводится в титле и всё, а название лота нефига!


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Светозар
Светозар
сообщение 8.1.2012, 19:33; Ответить: Светозар
Сообщение #10


Бывалый
****

Группа: User
Сообщений: 273
Регистрация: 22.8.2011
Из: Москва
Поблагодарили: 24 раза
Репутация:   3  


я так понял?
$title - название сайта
$title - название лота
Нужно, чтобы при загрузки лота на странички было как-то так:
$title > $title (где первое - это название, а второе - название лота)

И,

if($_REQUEST['cat']){
        $q = "SELECT cat_name FROM  cat  WHERE cat_id='".intval($_REQUEST['cat'])."' ";
        $r = mysql_query($q);
        if($row = mysql_fetch_array($r)){
            $title=$row['cat_name'].': '.$title0;
        };  //здесь до сюда формируется для категории работает.А вот дальше для лота не работает.плиз.
вывод категории
а
if($_REQUEST['module']=='view' && $_REQUEST['id']){
        $q = "SELECT title  FROM   sites   WHERE id='".$_REQUEST['id']."' ";
        $r = mysql_query($q);
        if($row = mysql_fetch_array($r)){
            $title=$row['view_name'].': '.$title0;
        };

вывод лотов в категории, так?? Если я всё правильно понял, постараюсь помочь.

<?php

if ( !isset( $_GET["action"] ) ) $_GET["action"] = "cat";  // выводим категории

switch ( $_GET["action"] )
{
   case "lot":     // вывод лотов в иде cat?=lot (помоему так)
    lot_cat(); break;
  
   default:
     cat(); // задаём по умалчанию  страничку с выводом категории
}




function cat()
{

$title = "name site"; // название сайта
$q = "SELECT `cat_name` FROM  `cat`  WHERE cat_id='".$_REQUEST['cat']."' ";
        $r = mysql_query($q);
        if($row = mysql_fetch_array($r)){
            $title1=$row['cat_name'];
        };
        
    echo "$title"; echo ">>"; echo "title1";
}

function lot()
{

$title = "name site"; // название сайта
$q = "SELECT `title`  FROM   `sites`   WHERE id='".$_REQUEST['id']."' ";
        $r = mysql_query($q);
        if($row = mysql_fetch_array($r)){
            $title2=$row['view_name'];
        
    echo "$title"; echo ">>"; echo "title1" /* будет браться из предыдущий функции */;  echo ">>"; echo "title2";
}


?>


в действии не проверял
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 654 13.12.2017, 21:01
автор: vlads
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3422 12.12.2017, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) Помогите выбрать программу
Помогите выбрать программу
11 impak 1342 11.12.2017, 13:11
автор: Mikki
Открытая тема (нет новых ответов) php скрипты любой сложности / диз+верстка (адаптивно)
любые задачи на php - автоматизация, парсинг, работа с БД
1 affrodita 501 8.12.2017, 17:40
автор: affrodita
Открытая тема (нет новых ответов) Помогите найти плагин на WP
Отзывы с профилей соц сетей
1 SEOMR 440 30.11.2017, 7:18
автор: Nell


 



RSS Текстовая версия Сейчас: 15.12.2017, 18:11
Дизайн