Перейти к содержимому


Партнерская программа Kredov

Работа с GET

#1 FordogeN

FordogeN
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0
0

Отправлено 10 Февраль 2009 - 14:48

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

 

 

  • 0

Как настроить выдержку и диафрагму зеркального фотоаппарата



#2 Arukard1

Arukard1
  • Пользователь
  • 193 сообщений
  • Репутация: 0

Отправлено 10 Февраль 2009 - 15:55

Тут вроде, как всё просто :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>Криворукий что-ли? норм запрос в ЮРЛ напиши!!");
}

всё а далее распоряжайся переменными :)

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


  • 0

#3 FordogeN

FordogeN
    Topic Starter
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0

Отправлено 10 Февраль 2009 - 16:04

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

Как настроить выдержку и диафрагму зеркального фотоаппарата



#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 11 Февраль 2009 - 00:32

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

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

if($id === false)
{
   die("Переменная не передана");
}
?>

  • 0

#5 FordogeN

FordogeN
    Topic Starter
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0

Отправлено 11 Февраль 2009 - 00:40

пасиб, "испытаю" и твой код))
зы. наткунулся на проблему:
<?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/n...php?id=1&col=20 - тут я тестю скрипт. Если наведете на ссылку "Перейти на источник" - там мужду двумя слешами должен быть адрес блога, но там как будто нет переменной...
  • 0

Как настроить выдержку и диафрагму зеркального фотоаппарата



#6 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 11 Февраль 2009 - 22:07

не нужно никаких новых запросов, перепишим строку источника так
<a href='http://livekeep.ru/{$comment['w_id']}/{$comment['e_id']}/'>Перейти на источник</a>
У тебя вообще какая-то кривая переменная была, у тебя в базе нет ассоциации(поля с названием) weblog
  • 0

#7 FordogeN

FordogeN
    Topic Starter
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0

Отправлено 11 Февраль 2009 - 22:13

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

Как настроить выдержку и диафрагму зеркального фотоаппарата



#8 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 11 Февраль 2009 - 22:17

Так передать надо в функции его, он же не виден!
К примеру так сделать можно...
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;
}

  • 0

#9 FordogeN

FordogeN
    Topic Starter
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0

Отправлено 11 Февраль 2009 - 22:52

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

Как настроить выдержку и диафрагму зеркального фотоаппарата



robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru