GithubHelp home page GithubHelp logo

Comments (2)

steampixel avatar steampixel commented on June 11, 2024

Hi Keldo.

Please do not modify the .htaccess file. This is not necessary in most cases. Please use the original file in your case.

You also have to add the "-" (the score char) to your rule. [a-z] just means only lowercase chars from a to z. The "-" in your post slug is unknown and will not match the rule. Please try this (untested):

'/posts/([a-z0-9-]*)'

I have also added 0-9 in case you are using numbers in your post names. Please read and learn regexp using a tutorial like this: https://www.tutorialrepublic.com/php-tutorial/php-regular-expressions.php

I also found another issue:

$slug = $_GET['get_slug']; require 'content/plugins/blogs/blogs.php?f=read&page_slug='.$slug.'';

Why do you try to read a slug from the GET Array? Please understand the logic behind $_GET (https://www.php.net/manual/en/reserved.variables.get.php). The router already will push all the matched contents inside the regexp brackets "()" into a variable:

Route:add('/posts/([a-z0-9-]*)', function($slug) {
 require 'content/plugins/blogs/blogs.php?f=read&page_slug='.$slug.'';
});

You also don't have to chain your $slug variable to the require command. Please read about the differences between calling a page and requiring a file (https://www.php.net/manual/en/function.require.php)!

Your example should finally look like this:

Route:add('/posts/([a-z0-9-]*)', function($slug) {
 require 'content/plugins/blogs/blogs.php';
});

As you can see I will not append the $slug variable to the blog.php file. This is not necessary since the contents of the required file will be placed directly to this place where the "require" command is used. This is the same as putting the contents of blog.php directly into the function. So the $slug variable should just be available inside your blog.php without doing anything.

Thats it. Hope you got it.

from simplephprouter.

steampixel avatar steampixel commented on June 11, 2024

I have now added a full include/require example to the index.php
Use this as boilerplate.

from simplephprouter.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.