ugrás a tartalomhoz

Paraméterátadás url-ben

Blackfriar · 2018. 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 · 2018. 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 · 2018. 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 · 2018. 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:
  1. $bejovo_url = urldecode(trim($_SERVER['REQUEST_URI']));  
  2. $bejovo_url = explode('/'$bejovo_url);  
  3.   
  4. for ($x = 0; $x < count($url_cim); $x++) {  
  5.  if (strcmp($bejovo_url[1], $url_cim[$x]) == 0) {  
  6.   $page = $tenyleges_oldal_nev[$x];  
  7.  };  
  8. };  
És ha itt nincs találat, akkor én generálom a 404-et.
4

Tehát a webszerver apache

Endyl · 2018. 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 · 2018. 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 · 2018. 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 · 2018. Feb. 23. (P), 15.55
Átírom otthon, aztán remélem, működni fog.