Cytat(Drapeta @ 13.06.2017, 22:35:38 )

Dało... Właśnie chcę to zmieniać... Ale to nie rozwiąże problemu...

Ten html się pojawił dopiero po wklejeniu tutaj na stronie. Zaraz będę testował. Robię 10 rzeczy w tym samym czasie i są efekty

Dziękuję... A to jest zapewne źle, nie o to Ci chodziło?
try
{
$_GET[idCytatu]
}
Korci mnie żeby Ci napisać gotowca, ale nie

Chyba trzeba od początku zacząć...
header Inicjuje przekierowanie, czyli wysyła tzw. nagłówki co powoduje przeładowanie strony na podany url. Nagłówki muszą być wysyłane zanim cokolwiek (nawet spacja) zostanie wysłane do przeglądarki (echo, print, var_dump, itd), w przeciwnym razie wywali błąd. Czyli już tutaj widać że Twój skrypt nie zadziała - masz echo przed wywołaniem header. Ale to tylko jeden z kilku problemów.
Napisz to dokładnie w takiej kolejności, i pisz kod punkt po punkcie:
1. Sprawdzenie, czy id_cytatu jest przekazane GETem. (żadnego echa na razie)
1.1. Jeśli jest, to pobranie z bazy cytatu z tym id. Ale na razie żadnego echa - zapamiętaj w zmiennej, np. $cytat. (żadnego echa na razie)
1.2. Jeśli nie, to sprawdzenie czy istnieje ciastko z zapisanym id ulubionego cytatu. (żadnego echa na razie)
1.2.1. Jeśli istnieje, to przekierowanie (header z exitem) na url z id tego cytatu pobranym z ciastka ($_COOKIE). (żadnego echa na razie)
1.2.2. Jeśli nie istnieje, to wylosowanie cytatu i zapamiętanie go w zmiennej $cytat. (żadnego echa na razie)
2. Wydrukowanie (echo / czysty HTML po zamknięciu bloku kodu php "?>") strony razem z cytatem $cytat ORAZ ikonką polubienia cytatu z odpowiednim javascriptem zapisującym ciastko.
I tyle.
Odnośnie $_GET - jeśli url ma wyglądać tak: strona.pl?id_cytatu=32, to id cytatu będzie w $_GET['id_cytatu']. Czyli w p.1 sprawdzasz najpierw czy w ogóle $_GET['id_cytatu'] istnieje (
isset).
Odnośnie try/catch - zrezygnuj z tego na razie, bo na tym etapie może Ci zakłócać zrozumienie reszty. Potem koniecznie z try/catch, ale na razie to wyrzuć.