Не исака да взима ID-то..?

streleca_stz

Registered
Здравейте! Искам да ви попитам защо не иска да взима ID-то на дискусията която съм задал.. ето го кода, но не мога да разбера защо не става.. :X Постоянно вади само, че $id е 0
PHP:
	require '../../functions.php';
	db_init();
	$id = (int)$_GET['view'];
	
		$rs = mysql_query('SELECT disc_id,title FROM `discussions` WHERE disc_id = '.$id) or die (mysql_error());
		$disc = mysql_fetch_assoc($rs);

	ban_system();
	bg_header_folder('Нов Оговор за "'.$disc['title'].'"');

	if($_SESSION['is_logged']===true)
	{
		if(isset($_GET['page']) && $_GET['page'] == "addAnswer&id=".$id)
		{
			echo 'blah';
		}
	}
	else
	{
		header('Location: index.php');
		exit;
	}
Ако някой има идеи да ги споделя :)
 
tedo96 каза:
Какво ти вади echo $_GET['view'];

Ами по принцип трябва да взема ID-то на дискусията..
От страница viewDiscussion.php?view=1 отива на add.php?page=addAnswer&id=1, но пак показва, че ID-то е 0
 
дай урл адреса отгоре когато си на тази страница да видим дали е правилно дефиниран
или опитай да сложиш това най отгоре в скрипта преди инклудването на файла
$id = isset($_GET['view'])? intval($_GET['view']) : 0;
 
rainbowdio каза:
дай урл адреса отгоре когато си на тази страница да видим дали е правилно дефиниран
или опитай да сложиш това най отгоре в скрипта преди инклудването на файла
$id = isset($_GET['view'])? intval($_GET['view']) : 0;

При преглед на първа дискусия
tokiohotel-bg/bg/discussions/viewDiscussion.php?view=1
При натискане на 'Добави отговор' в първа дискусия
tokiohotel-bg/bg/discussions/add.php?page=addAnswer&id=1
 
ами изглежда ми ок пробвай най отгоре в скрипта да сложиш

пробвай да смениш за теста само името на променливата
$view = isset($_GET['view'])? intval($_GET['view']) : 0;
след това му дай
echo $view;
 
rainbowdio каза:
ами изглежда ми ок пробвай най отгоре в скрипта да сложиш

пробвай да смениш за теста само името на променливата
$view = isset($_GET['view'])? intval($_GET['view']) : 0;
след това му дай
echo $view;
Отново вади 0.. :cry:
 
rainbowdio каза:
а я пробвай това:
добави в адрес бара след ?view=1
?view=1&id=10

echo $_GET['id']

това сега извежда ли го

Имаш предвид вместо add.php?page=add&id=1 да е add.php?view=add&id=1 ли? Ако за това говориш когато го сменя изважда текста add
 
streleca_stz каза:
От страница viewDiscussion.php?view=1 отива на add.php?page=addAnswer&id=1, но пак показва, че ID-то е 0

ако съм разбрал правилно от тази страница viewDiscussion.php?view=1
птиваш на
add.php?page=addAnswer&id=1 и искаш там да ти изведе $_GET['view']?
Ако е така вече се сещам какъв е проблема
 
rainbowdio каза:
streleca_stz каза:
От страница viewDiscussion.php?view=1 отива на add.php?page=addAnswer&id=1, но пак показва, че ID-то е 0

ако съм разбрал правилно от тази страница viewDiscussion.php?view=1
птиваш на
add.php?page=addAnswer&id=1 и искаш там да ти изведе $_GET['view']?
Ако е така вече се сещам какъв е проблема

Да искам да взема ид-то на дискусията, за да може при СЯЛ заявката да се запише ид-то на дискусията, но нали трябва първо да имам ид-то в страницата add.php, за да мога да правя записа.. :)
 
streleca_stz каза:
rainbowdio каза:
streleca_stz каза:
От страница viewDiscussion.php?view=1 отива на add.php?page=addAnswer&id=1, но пак показва, че ID-то е 0

ами ти не си го посочил отгоре (view=neshto) как ще го изведе можеш да вземеш id-то така:

$id = isset($_GET['id'])? intval($_GET['id']) : 0;
echo $id; - тук вече ще се покажестойност различна от 0
 
@rainbowdio да така работи но тази част от кода не се изпълнява...

if($_SESSION['is_logged']===true)
{
if(isset($_GET['view']) && $_GET['view'] == "addAnswer&id=".$view)
{
echo 'blah';
}
}

И още нещо.. не трябва ли да се постави някъде (int), за да е защитена страницата от опит за XSS атаки?
 
$id = isset($_GET['id'])? intval($_GET['id']) : 0;

значи това intval() превръща променливата в integer

може да добавиш още нещо

if($id==0) Header("Location: tvoq_page.php");

$_GET['view'] == "addAnswer&id=".$view
това не е част от $_GET['view'] , затова е бил и проблема ето вярното:

if($_SESSION['is_logged']==true)
{
if(isset($_GET['view']) && $_GET['view'] == "addAnswer")
{
echo 'blah';
}
}
 
rainbowdio каза:
$id = isset($_GET['id'])? intval($_GET['id']) : 0;

значи това intval() превръща променливата в integer

може да добавиш още нещо

if($id==0) Header("Location: tvoq_page.php");

$_GET['view'] == "addAnswer&id=".$view
това не е част от $_GET['view'] , затова е бил и проблема ето вярното:

if($_SESSION['is_logged']==true)
{
if(isset($_GET['view']) && $_GET['view'] == "addAnswer")
{
echo 'blah';
}
}

Аха, ясно.. мерси - вече работи! :)
 

Back
Горе