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



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Работа с GET
FordogeN
FordogeN
Topic Starter сообщение 10.2.2009, 15:48; Ответить: FordogeN
Сообщение #1


Как сделать так, чтоб если на пример адрес site.com/file.php?id=$id&col=$col - чтоб $id и $col потом стали переменными.
т.е. если site.com/file.php?id=1&col=20 тогда $id=1, а $col=20 - в файле эти переменные чтоб принимали такие значения.
В общем чтоб то что в адресе - чтоб становилось переменной...
И если можно - как то сделать так, чтоб туда можно было вводить только числа, а если вводить другие символы - чтоб выдавало echo


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ThanDdoR
ThanDdoR
сообщение 10.2.2009, 16:55; Ответить: ThanDdoR
Сообщение #2


Тут вроде, как всё просто :P


 

<!-- Получаем переменную $id -->
if (isset($_GET['id'])) {$cat = $_GET['id']; }

<!-- Получаем 2рую переменную $col -->
@$page = $_GET['page'];

<!-- Проверяем переменную $id чтоб там были только цифры -->
/* Проверяем, является ли переменная числом */
if (!preg_match("|^[\d]+$|", $id)) {
exit ("<p>Хакер сЦука!!! Яды Хлебани!!!");
}

<!-- Проверяем переменную $col чтоб там были только цифры -->
/* Проверяем, является ли переменная числом */
if (!preg_match("|^[\d]+$|", $col)) {
exit ("<p>Криворукий что-ли? норм запрос в ЮРЛ напиши!!");
}
всё а далее распоряжайся переменными :)

з.ы. Всё должно работать, но мало ли я код не тестил.... так что напиши всё ли норм пашет ) :)


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
Topic Starter сообщение 10.2.2009, 17:04; Ответить: FordogeN
Сообщение #3


Доделал какнадо)) Отлично работает... Нажал МЕРСИ))


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 11.2.2009, 1:32; Ответить: ZiTosS
Сообщение #4


FordogeN,
<?php
function intValue($value)
{
   $value = (isset($value)) ? intval($value) : false;
   return value;
}

$id = intValue($_GET['id']);

if($id === false)
{
   die("Переменная не передана");
}
?>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
Topic Starter сообщение 11.2.2009, 1:40; Ответить: FordogeN
Сообщение #5


пасиб, "испытаю" и твой код))
зы. наткунулся на проблему:
<?php
/* Подключение к БД */



if (isset($_GET['id'])) {$cat = $_GET['id']; }
@$page = $_GET['page'];

/* Проверяем, является ли переменная числом */
if (!preg_match("|^[\d]+$|", $id)) {
exit ("<p align='center'>Хакер сЦука!!! Яды Хлебани!!!");
}

/* Проверяем, является ли переменная числом */
if (!preg_match("|^[\d]+$|", $col)) {
exit ("<p align='center'>Криворукий что-ли? норм запрос в ЮРЛ напиши!!");
}



function lastCommentsByBlog($idBlog, $limit)
{
   $parse = "";
   $res = mysql_query("SELECT * FROM comments WHERE w_id={$idBlog} ORDER BY c_id DESC LIMIT {$limit}");
   if(mysql_num_rows($res)==0)
      return "В выбранном вами блоге нет комментариев";
   while($array = mysql_fetch_array($res))
      $parse .= parseComment($array);
   return $parse;
}

function parseComment($comment)
{
   $text = "<table width='90%' cellspacing='5' bgcolor='#e9e9e9'><tr><td style='color:gray; font-size: 10px; font-family: verdana;'>
                   {$comment['contents']}
                <br>От <a href='http://livekeep.ru/profiles/{$comment['username']}/'>{$comment['username']}</a> |
                <a href='http://livekeep.ru/$weblog[weblog]/$comment[e_id]/'>Перейти на источник</a>
    </td></tr></table><br>";
   return $text;
}

/* lastCommentsByBlog(id_Блога, Сколько_комментариев_вывести) */
/* Выводим последние 15 комментариев в блоге с id=5*/

echo lastCommentsByBlog($id, $col)

?>

$weblog = mysql_fetch_assoc(mysql_query("SELECT weblog FROM weblogs WHERE w_id=$id")); - этот код предназначен для того, чтоб вытянуть адрес блога

Проблема в следующем:
http://livekeep.ru/new_comments.php?id=1&col=20 - тут я тестю скрипт. Если наведете на ссылку "Перейти на источник" - там мужду двумя слешами должен быть адрес блога, но там как будто нет переменной...


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 11.2.2009, 23:07; Ответить: ZiTosS
Сообщение #6


не нужно никаких новых запросов, перепишим строку источника так
<a href='http://livekeep.ru/{$comment['w_id']}/{$comment['e_id']}/'>Перейти на источник</a>

У тебя вообще какая-то кривая переменная была, у тебя в базе нет ассоциации(поля с названием) weblog
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
Topic Starter сообщение 11.2.2009, 23:13; Ответить: FordogeN
Сообщение #7


не... адрес блога там должен быть, а не его ID


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 11.2.2009, 23:17; Ответить: ZiTosS
Сообщение #8


Так передать надо в функции его, он же не виден!
К примеру так сделать можно...
function lastCommentsByBlog($idBlog, $limit)
{
   $parse = "";
   $res = mysql_query("SELECT * FROM comments WHERE w_id={$idBlog} ORDER BY c_id DESC LIMIT {$limit}");
   if(mysql_num_rows($res)==0)
      return "В выбранном вами блоге нет комментариев";
   $blog = mysql_fetch_assoc(mysql_query("SELECT weblog FROM weblogs WHERE w_id=$idBlog"));
   while($array = mysql_fetch_array($res))
      $parse .= parseComment($array, $blog);
   return $parse;
}

function parseComment($comment, $blog)
{
   $text = "<table width='90%' cellspacing='5' bgcolor='#e9e9e9'><tr><td style='color:gray; font-size: 10px; font-family: verdana;'>
                   {$comment['contents']}
                <br>От <a href='http://livekeep.ru/profiles/{$comment['username']}/'>{$comment['username']}</a> |
                <a href='http://livekeep.ru/{$blog['weblog']}/{$comment['e_id']}/'>Перейти на источник</a>
    </td></tr></table><br>";
   return $text;
}


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
Topic Starter сообщение 11.2.2009, 23:52; Ответить: FordogeN
Сообщение #9


ZiTosS, есть! Работает! Спасибо))

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужна работа
0 filatd 739 12.1.2024, 17:08
автор: filatd
Открытая тема (нет новых ответов) Работа: Разная рутина
Работа, разные рутинные задачи: постинг / переговоры / поиск
1 ivanshargin 958 31.10.2023, 17:55
автор: ServersExpert
Открытая тема (нет новых ответов) Нужна удаленная работа
Нужна удаленная работа
0 filatd 1014 12.9.2023, 11:40
автор: filatd
Открытая тема (нет новых ответов) Нужны тексты для сайта, работа на постоянку
6 danilchuk88 1631 19.3.2023, 0:53
автор: malamut
Открытая тема (нет новых ответов) Работа по размещению ссылок
1 masterstraff 2095 17.12.2022, 2:43
автор: aspi


 



RSS Текстовая версия Сейчас: 19.4.2024, 19:40
Дизайн