Anzeige

GET Parameter in Url umwandeln


#1
Hallo zusammen,
ich arbeite gerade an einem Dashboard und da sieht die Url für die "user edit" funktion so aus:
http://localhost/cms/admin/settings/user/edit/
Wobei im admin ordner die datei user-edit.php aufgerufen wird, das andere läuft über das routing.
Jetzt ist es so das wenn ich einen Benutzer bearbeiten will sieht die Url folgendermaßen aus:
http://localhost/cms/admin/settings/user/edit/?id=1
Ich möchte jetzt das sie so aussieht:
http://localhost/cms/admin/settings/user/edit/1
Das fett gedruckte steht im get Parameter "url" drin , die id im "id" Paramenter.
Hat da einer eine Idee?
 

basti1012

Erfahrenes Mitglied
#2
Wie meinst du das jetzt genau ?
Dein Link ist mit id= ,
und du willst aber das deine Besucher die Seite ohne das id=aufrufen können ?
Dann solltest du vieleicht mal die Leute fragen die sich mit .htaccess Datein auskennen,
da kann man so was mit 1-2 Zeilen Code regeln.

Oder willst du das so haben das der Link mit id= aufgerufen wird ,
und das Script sich den Link umwandelt ohne id= ,
weil das Script mit den Link dann weiter arbeiten muß ?
Vieleicht zeigst du dann mal was du an Code hast und was genau wo hin soll
 
#3
Danke für die Antwort, hier ist ein kurzer Auschnitt vom meiner Admin Routing Klasse:
PHP:
    public function handle()

    {

      #Wenn URL[0] existiert

      if ($this->seite) {

        #die("Ja");

        #Wenn URL[1] existiert

         if (isset($this->kindelement))

         {

             if (isset($this->action))

             {

                return $this->loadFullPage($this->seite,$this->kindelement,$this->action);

             }


             #lade kinder seite

             return $this->loadKindPage($this->seite,$this->kindelement);

         }

         # lade normale seite

        return $this->loadPage($this->seite);

     }

     else

     {

      if (!$this->seite)

      {

        return $this->loadPage("index");

      }

      else

      {

        $_SESSION['message'] = "Seite nicht gefunden";

        return $this->loadPage("error");

      }

     }

    }


    public function loadPage($file)

    {

       if (file_exists("pages/$file.php")) {

         \ob_start();

          include_once("pages/$file.php");

          $content =  \ob_get_contents();

          \ob_end_clean();

          return $content;

        

       }

       else

       {

        $_SESSION['message'] = "Seite nicht gefunden";

        return $this->loadPage("error");

       }

    }

    private function loadKindPage($file,$kind)

    {

       if (file_exists("pages/$file-$kind.php")) {

         \ob_start();

         include_once("pages/$file-$kind.php");

         $content =  \ob_get_contents();

         \ob_end_clean();

         return $content;

       }

       else

       {

        $_SESSION['message'] = "Seite nicht gefunden";

         return $this->loadPage("error");

       }

    }

    private function loadFullPage($file,$kind,$action)

    {

       if (file_exists("pages/$file-$kind.php")) {

        \ob_start();

         include_once("pages/$file-$kind.php");

         \call_user_func("edit_test",$action);

         $content =  \ob_get_contents();

         \ob_end_clean();

         return $content;

       }

       else

       {

        $_SESSION['message'] = "Seite nicht gefunden";

        return $this->loadPage("error");

       }

    }
Und das ist die htaccess:
PHP:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
Oder willst du das so haben das der Link mit id= aufgerufen wird ,
und das Script sich den Link umwandelt ohne id= ,
weil das Script mit den Link dann weiter arbeiten muß ?
Ja genau ich will daraus eine "schöne" url machen
Kann man in dem router beim einbinden den get Parameter nicht irgenwie mitgeben?
Also wenn ich http://localhost/cms/admin/user/edit/1 aufrufe, das dann die user-edit.php datei geöffnet wird und dann als Parameter die 1 übergeben wird?
 
Anzeige

Neue Beiträge

Anzeige