Странен проблем

Blackmailer

Registered
имам index.php и view.php, при натискане на линк за новината от индекс файла потребителя е препратен на views.php?id=3, за да види новината с ид = 3

имам следния код:

$id = (int)$_POST['id'];

$select = "SELECT * FROM WHERE id='$id'";
$result = mysql_query($select) or die(mysql_error());

if(mysql_num_rows($result) < 1)
{
echo "Няма такава новина";
}

while ($row3 = mysql_fetch_assoc($result))
{
echo "Zaglavie: $row3[title]";
}

резултата е:

Notice: Undefined index: id in view.php on line 1
Няма такава новина
 
Май не си разбрал какво е GET и POST.

GET е това, което виждаш в url-то, например ?id=3&category=1
Всички тези стойности са достъпни чрез глобалната променлива $_POST[], като ключовете на този масив са имената на подадените параметри.
Т.е. ако имаш view.php?id=5 можеш да вземеш петицата с $_GET['id']

POST е това, което изпратено чрез формуляр (най-често) - това в таг <form>. Тогава браузъра изпраща данните и ти не ги виждаш в url-то.
Например:
PHP:
<form action="file.php" method="post"><input name="id" value="3"><input type="submit"></form>
Тогава във file.php ще можеш да вземеш тройката с $_POST['id'].

В твоя случай взимаш id-то на новината и го слагаш в url адреса, за това трябва да използваш $id = (int) $_GET['id'];
 

Back
Горе