ugrás a tartalomhoz

Paraméterátadás url-ben

Blackfriar · Feb. 23. (P), 11.45
Sziasztok !
Abban szeretnék segítséget kérni, hogy mi lehet az oka, ha az alábbi példa szerinti oldalmeghíváskor "az oldal nem létezik" hibát kapom.

www.akarmi.hu/valami?parameter=ertek

Segítségeteket előre is köszönöm.
 
1

Egyszerű:

Pepita · Feb. 23. (P), 12.10
valóban nem létezik. :)

Kéne tudni, milyen formájú a 404 error, milyen keretrendszert használsz, milyen szerveren, ennek mik a beállításai...
2

Ennyi információ alapján

Endyl · Feb. 23. (P), 12.10
Ennyi információ alapján annyit lehet mondani, hogy a kérést feldolgozó szoftver 404-es hibakódot ad vissza.

Nem ártana, ha részleteznéd a kérdésedet, mert ez a "nem működik a kocsim, mondd meg mi a baja" tipikus esete.
  • milyen webszerver szolgálja ki az oldalt?
  • milyen nyelven van írva a backend?
  • létezik egyáltalán a valami nevű fájl, vagy valami rewrite-tal működik a dolog?
  • a /valami oldal betöltődik rendesen, csak a paraméterrel van gond?
  • bármi más, ami információval szolgál a problémával kapcsolatban
3

Elnézést, de

Blackfriar · Feb. 23. (P), 13.36
Elnézést, de nem vagyok profi, csak egy autodidakta (PHP, adatbázis nem gond).
a /valami oldal gond nélkül betölt és létező fájlról van szó, csak akkor nem található a fájl, ha a "/valami" mögé bármi is kerül (pl. szimpla kérdőjel).
A .htaccess fájl tartalmát most nem tudom prezentálni.

Ezekre nem tudom, hogy tudnék válaszolni:
milyen webszerver szolgálja ki az oldalt?
milyen nyelven van írva a backend?

Meglehet, én rontottam el a dolgot.
Így kezelem a bejövő kérelmeket és valszeg itt a hiba:

$bejovo_url = urldecode(trim($_SERVER['REQUEST_URI']));
$bejovo_url = explode('/', $bejovo_url);

for ($x = 0; $x < count($url_cim); $x++) {
 if (strcmp($bejovo_url[1], $url_cim[$x]) == 0) {
  $page = $tenyleges_oldal_nev[$x];
 };
};
És ha itt nincs találat, akkor én generálom a 404-et.
4

Tehát a webszerver apache

Endyl · Feb. 23. (P), 14.05
Tehát a webszerver apache (legalábbis ha .htaccess-t használsz), a backend pedig php.

Ez alapján vagy nincs benne a valami az $url_cim tömbben, vagy a rá vonatkozó $x nincs benne a $tenyleges_oldal_nev tömbben (ha csak tényleg ezektől függ a 404, bár azt írod, hogy a sima /valami útvonal betölt, szóval mégsem itt a hiba).

Inkább azt a kódot mutasd meg, ahol a valami oldal kezeli a GET paramétereket, mert a fenti kódban ilyet nem csinálsz, szóval a hiba nem ebben a részben lesz.
5

De ha a valami oldal

Blackfriar · Feb. 23. (P), 14.32
De ha a valami oldal egyáltalán nem kezeli a kapott paramétert, akkor is el kéne jutni a valami oldalig. Viszont szerintem pont az url összehasonlításnál bukik a dolog, mert a valamit hasonlítom a valami?parameter=ertek-kel, nem ?
6

A ? nem file név

Pepita · Feb. 23. (P), 14.36
Az a baj, hogy az idézett kódban végigmész mindenen, ami nem '/' jel. És ? jellel együtt persze hogy nincs olyan fájlod. :)
7

Átírom otthon, aztán

Blackfriar · Feb. 23. (P), 15.55
Átírom otthon, aztán remélem, működni fog.