Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
Využij akce až 80 % zdarma při nákupu e-learningu - více informací. Zároveň pouze tento týden sleva až 80 % na e-learning týkající se Swift
discount week 80
Avatar
Barca Vavrova:21.1.2020 15:28

Zdravím vsechny
Podle manualu jsem si vytvořil NERS.
Vse funguje ale kdyz kliknu na url clanku presmeruje me zpět na hlavní stranku.

<?php
require('./admin/Db.php');
Db::connect('127.0.0.1', 'ners_db', 'root', 'root');

if (isset($_GET['clanek']))
        $url = $_GET['clanek'];
else
       $url = 'home';

$clanek = Db::queryAll('
        SELECT *
        FROM clanky
        WHERE url=?
        ORDER BY `clanky_id` DESC
', $url);
if (!$clanek)
{
        if ($url != 'chyba')
        {
                header('Location: /index.php?clanek=chyba');
                exit();
        }
        else
                die('Nebyl nalezen chybovy clanek');
}

?>
<?php foreach ($clanek as $clanek) : ?>
<div class="box-news-title">
    <h2><a href="<?= $clanek['url'] ?>"><?= $clanek['titulek'] ?></a></h2>
</div>
<div class="box-news-cont">
    <p><?= $clanek['obsah'] ?></p>
</div>
<?php endforeach ?>

Chci docílit: Přesmerovani na detail clanku pro kliknutí na titulek

 
Odpovědět
21.1.2020 15:28
Avatar
Odpovídá na Barca Vavrova
Ondřej Šrytr:21.1.2020 16:37

Ahoj,

jediné přesměrování máš v bloku, kde se ověřuje zda dotaz na článek proběhl. Pokud po přesměrování v URL vidíš clanek=chyba, chybu hledej v SQL dotazu.

 
Nahoru Odpovědět
21.1.2020 16:37
Avatar
Odpovídá na Ondřej Šrytr
Barca Vavrova:21.1.2020 18:36
if (isset($_GET['clanek']))
        $url = $_GET['clanek'];
else
       $url = 'home';

$clanek = Db::queryAll('
        SELECT *
        FROM clanky
        WHERE url=?
        ORDER BY `clanky_id` DESC
', $url);
if (!$clanek)
{
        if ($url != 'chyba')
        {
                header('Location: /index.php?clanek=chyba');
                exit();
        }
        else
                die('Nebyl nalezen chybovy clanek');
};

my vytahne vsechny clanky z tabulky a podle url je seradí podle ID což je spravne ale jak mam do dotazu dopsat aby se mi po kliknuti na titulek clanku nepresmerovalo zpatky na home ale do samostatneho clanku.

 
Nahoru Odpovědět
21.1.2020 18:36
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:21.1.2020 21:31

Zkus pouzit var_dump($prom) a die() pro zastaveni programu po var_dumpu. Uvidis, jaka data tam posilas. Pokud je vse, jak jsi planoval, pak zkontroluj dalsi cast.
Z toho, co pises, se neda odhadnout, co je na vstupu programu nebo jednotlivych casti. To vis jen ty.

Zkus si napsat, jaky ma byt html kod a zkotroluj, co ti to tam kazi.
Zkus pouzivat urlencode.
Zkus pouzivat var_dump.
Zkus generovat kod do promennych a pouzivat jedine echo.

 
Nahoru Odpovědět
21.1.2020 21:31
Avatar
Matěj Přerovský:15.2.2020 16:16

Odendej si ty zpětné apostrofy u clanky_id a mělo by to fungovat :-)

Nahoru Odpovědět
15.2.2020 16:16
42
Avatar
Martin Kašpar:15.2.2020 18:00

Pokud tam už nemáš vyřešený rewrite a hezká URL, začni u podoby odkazu.

<a href="index.php?clanek=<?= $clanek['url'] ?>">

Předpokládám, že když píšeš o přesměrování na hlavní stránku, myslíš článek s url home, tzn. scházející GET parametr clanek.

 
Nahoru Odpovědět
15.2.2020 18:00
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.