Diskuze: Jak projít url pomocí cyklu proměnnou $_GET
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
if (isset($_GET["zna0"])) {
$poleZnacek = array();
foreach ($_GET as $key => $value) {
if (strpos($key, "zna") !== FALSE) {
$poleZnacek[] = $value;
}
}
var_dump($poleZnacek);
}
Jde o to, ze mas spatne postavenou podminku ve while cyklu, ta je po prvnim
pruchodu nastavena na TRUE (isset($_GET['zna0'])) == true), to je vyhodnoceno
jako TRUE uz v prvni podmince IF a tim padem z toho cyklu nevyskocis.
$i++; ve whilu ti je tam k nicemu, jelikoz promennou $znacky = 'zna' . $i; menis
mimo cyklus, ktery ti bezi do nekonecna.
to pavelco1998: predbehl jsi me v reseni
$_GET, $_POST, $_SESSION atp. jsou normální pole, která můžeš
procházet i přes foreach.
Pokud bys chtěl ještě o trochu důkladnější kontrolu, mohl bys místo
strpos() použít:
if (preg_match("#^zna[0-9]+$#", $key))
což by mělo brát pouze "zna" a za tím číslo.
Jinak nevím, jak dostáváš ty parametry do URL, ale nebylo by vhodnější uložit do URL přímo pole? Pak bys nemusel procházet celý $_GET, ale třeba jen $_GET["znacky"].
\---
Co se týká toho jak dostávám ty proměnné do url, tak mám udělaných několik filtrů(pomocí checkboxů), což procházím pomocí javascriptu v případě, že je checkbox zaškrtlý, tak vytvářím tuhle cestu s parametrama a sem to posílám pomocí ajaxu, tady se ještě dotážu do databáze a pak se mi vrátí výsledek jak se dá vložit pole do url, tak to jsem zatím neviděl
Zobrazeno 6 zpráv z 6.