Kezdőoldal » Számítástechnika » Weblapkészítés » Olyan routing, ami lekezeli a...

Olyan routing, ami lekezeli a GET és POST requestet is?

Figyelt kérdés

Próbálok olyan routingot írni, ami lekezeli a GET és POST requestet is. Egyenlőre sikertelenül. Valaki tudna benne segíteni?

Amit eddig csináltam:

EGy htaccess file:

<IfModule mod_rewrite.c>


RewriteEngine On


RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php [L,QSA]


</IfModule>

Egy index.php:

<?php


define('DS', DIRECTORY_SEPARATOR);

define("ROOT", getcwd() . DS);

$url = $_SERVER['REQUEST_URI'];



?>

<html>

<body>


<form action="welcome_get.php" method="post">

Name: <input type="text" name="name"><br>

E-mail: <input type="text" name="email"><br>

<input type="submit">

</form>

<br />

<a href="proba/test"> Test link</a>

<br/>

<?php

require_once (ROOT.DS.'framework'.DS.'routing.php');

?>

</body>

</html>

És a routing.php:


<?php



echo "requested URL:".$url;

global $url;


if ($_SERVER["REQUEST_METHOD"] == "POST") {


$urlArray = array();

$urlArray = explode("/",$url);


$controller = $urlArray[1];

array_shift($urlArray);

$action = $urlArray[1];

array_shift($urlArray);

$queryString = $urlArray;


echo "<br>";

echo "Controller:" .$controller;

echo "<br>";

echo "Action:".$action;

echo "<br>";

echo "querystring:".$querystring;



function __autoload($className) {

if (file_exists(ROOT . DS . 'library' . DS . strtolower($className) . '.class.php')) {

require_once(ROOT . DS . 'library' . DS . strtolower($className) . '.class.php');

} else if (file_exists(ROOT . DS . 'Application'.DS.'controllers' . DS . strtolower($className) . '.php')) {

require_once(ROOT . DS . 'Application' . DS . 'controllers' . DS . strtolower($className) . '.php');

} else if (file_exists(ROOT . DS . 'application' . DS . 'models' . DS . strtolower($className) . '.php')) {

require_once(ROOT . DS . 'application' . DS . 'models' . DS . strtolower($className) . '.php');

} else {


}

}


?>

Ha így adom meg a linket pl: action="probe/test", akkor minden ok és szétszedi controllerre és modellre

De amennyiben így adom meg a linket: valami.php?asd=valami, akkor már gondok vannak!

Ötlet? Megoldás?



#php #url #MVC #GETPOST
2021. máj. 22. 13:25
1 2
 1/11 A kérdező kommentje:

Ez a sor if ($_SERVER["REQUEST_METHOD"] == "POST") {


nincs már benne a routingba

2021. máj. 22. 13:36
 2/11 A kérdező kommentje:
Egyszerűen csak vizsgáljam meg, hogy ha a $controller tartalmaz kérdőjelet, akkor azt máshogy kezeljem és ennyi? Vagy mi erre a bevett szokás?
2021. máj. 22. 13:39
 3/11 A kérdező kommentje:
Illetve az normális ha a Test linkre kattintok akkor egy csomószor hozzárakja a proba-t az url-hez.. (még nincs hívva controll)
2021. máj. 22. 15:12
 4/11 anonim ***** válasza:

1, hasznalj composer autoloadert

2, __autoload, 7.2-tol deprecated, 8-ban pedig kivettek, nem tudom milyen verziot hasznalsz, de 8.0-at kellene


Eloszor ezeket ird at

2021. máj. 23. 07:59
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:
Lenne itt olyan php-ban eléggé jártas személy, aki hajlandó lenne nekem tartani egy online oktatást 4-5 (vagy akár több) órában? Természetesen nem ingyen, hanem megbeszélnénk az árakat!
2021. máj. 23. 09:58
 6/11 anonim ***** válasza:

ahogy van post úgy van get is

ha urlbe beirsz vmit az get

request method get

a ?a=1&b=2 szét se kell szedni, benne van $_GET-ben


erre példára tök felesleges oop

2021. máj. 23. 11:34
Hasznos számodra ez a válasz?
 7/11 A kérdező kommentje:
Saját MVC keretrendszert szeretnék csinálni tanulásképpen!
2021. máj. 23. 12:56
 8/11 anonim ***** válasza:

oksa

akkor bátran kérdezz

2021. máj. 23. 16:34
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:

A kérdés, hogy hogyan érdemes lekezelni a GET és POST requesteket. Sok MVC példát találtam ami ilyen formában generál url-t: /controllername/methodname/parameter

Viszont mi van akkor, ha pl. ilyen az url: /valami.php?valtozo=érték&valtozo2=ertek2

Láttam olyan oldalakat, ahol mindkettő megjelent a böngészőben. Szóval mi erre a megoldás?

2021. máj. 23. 18:37
 10/11 anonim ***** válasza:
A problemad az hogy fogalmad sincs hogy mit csinalsz, valahonnan kimasolad ezt az osregi kodot (lasd 4-es valasz), van egy spagetti index.php-d, illetve van egy .htaccess file-od amirol megint fogalmad sincs hogy mit csinal, kulonben nem merulne fel benned a 9-es hsz-ben a kerdes
2021. máj. 26. 07:47
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!