You are here: Re: Creating Dynamic URLs « PHP Programming Language « IT news, forums, messages
Re: Creating Dynamic URLs

Posted by Ron Barnett on 10/08/06 16:19

"Colin Fine" <news@kindness.demon.co.uk> wrote in message
news:egalj3$lfp$1$8302bc10@news.demon.co.uk...
> jflash wrote:
>>>
>>> On Oct 7, 11:11 am, usenet+2...@john.dunlop.name wrote:
>>>
>>>> jflash:
>>>>> I am wanting to set my site up using dynamic urlsWhy?
>>>> At least you are thinking about URL design before publishing your
>>>> pages: that puts you ahead of the masses. Retrospective URL design
>>>> is, in a word, iffy.
>>>>> (I'm assuming that's what they're called, an example of what
>>>>> I have in mind is index.php?page=[pagename]).'Dynamic URL' is a
>>>>> misleading though common term for URLs with query
>>>> parts. Misleading because there is nothing dynamic about URLs. That
>>>> example, we can say, is a relative reference consisting of a path and a
>>>> query part (square brackets aren't allowed in query parts). Nothing
>>>> more. What the server does with that URL is up to you, but the URL,
>>>> the string of characters, is not dynamic.
>>>> Couple of points on your example:
>>>> 1. "Indexes" rarely are indexes. Are you sure there isn't a better
>>>> name? No name, even?
>>>> 2. URL suffixes, unless you see the URL as pointing to a particular
>>>> representation of the resource, serve no purpose. It is generally of
>>>> no consequence to users whether you use PHP or some other language to
>>>> create your pages.
>>>>> However, I can not figure out how to do this.I think another poster
>>>>> has suggested one way.
>>>>> I will eventually want to use SEF urls,I can guess what you mean by
>>>>> that, but again I think the term is
>>>> misleading.
>>>> --
>>>> Jock
>>
>
> > I forgot to mention one thing: how can I use this setup to call
> > information from a database. For example, I've seen this done where the
> > search query from a search on a site is entered into the URL and is
> > then searched for in the database. HOw, then, is this done if all of
> > the 'redirects' (for lack of a better word) have to be predefined?
> >
> > On Oct 7, 5:10 pm, "jflash" <ki4...@gmail.com> wrote:
> >> Ron: I assume that I simply add that code to my 'initial' page
> >> (index.php in the example I started with). However, I am curious how I
> >> define a default page to load (i.e. in my index.php example, how would
> >> I specify what page to include/what content to display in the event
> >> that no parameters are entered)? Also, do I have to manually add each
> >> page for the parameter to include in the file, or is there some way
> >> that I can use a database for the list of parameters and their
> >> corresponding pages?
> >>
> >> Jock:
> >>
> >> 1. I had originally thought I could use dynamic URLs to pull content
> >> from a database and display it on a page based on the parameters
> >> defined in the URL. In any case, I hope that using the dynamic URLs
> >> will make it easier for my users, particularly once I get search-engine
> >> friendly URLs set up.
> >>
> >> 2. Actually, I already have a version of my site up, I mainly am doing
> >> this because I am dooing a major overhaul for various other reasons,
> >> and since I have been wanting to implement this for a while now, it
> >> seems like a good time to do it.
> >>
> >> 3.1. I don't get what you're saying. I wasn't planning on using
> >> index.php as the base file name, I just used it for an example.
> >> Actually, now that you say it, I'm thinking I might use the 'index.php'
> >> part of the URL to serve as a category, then define the specific page
> >> later. I don't know, I'll decide that later.
> >> 3.2. I'm just using PHP because I know for a fact my server supports
> >> it, and I see no reason to try anythign else and risk a lack of support
> >> on the server end of things.
> >>
> >> Thanks for the help!
>
> [Top posting fixed]
>
> I don't fully understand what you are asking, but it seems to me that you
> have an imperfect understanding of how CGI works.
>
> A CGI script (such as a PHP program on a website) is a program that
> generates as output the HTML that the web server will send to the browser.
>
> Usually, the script takes arguments from the URL (usually the part after
> the '?') to decide what to display, and very often it will obtain some of
> the data on the page from a database.
>
> Often, the script is capable of producing utterly different pages
> depending on the input: for example, many CGI scripts display information
> relating to a particular key in the database (a particular site, person,
> company, date or whatever) and if called without the key will display a
> different page that asks the user to specify the key. Then the 'Submit'
> from that will go to the *same* script, but this time with the data it
> needs.
>
> If the URL has no CGI arguments, the program must cope with that case and
> do something appropriate, for example request the information intneeds as
> in the previous paragraph.
>
> If you want not just to generate distinct pages, but to go to different
> existing pages, you can do it by generating a HTTP header that redirects
> to the appropriate page.
>
> Does this help, or have I misunderstood your issue?
>
> Colin
Hi Jock,

The explanation Colin has given is absolutely correct but I suspect you are
still floundering ?

referring back the code example I gave

$page = $_REQUEST['page'];
if ($page == 'pageone') include './lib/pageone.php';

This needs to be inserted as you guessed in index.php
calling index.php with a parameter 'page' i.e. //index.php?page=something
will cause the $_REQUEST array to contain an element 'page' with a value
'something'
having extracted the key / value pair from the array it as in the example
you can do whatever you like with the 'something' - you can simply haul in
another static page, or call a routine that uses 'something' as the key to
extract data from a database.
the absence of a parameter is simply the default call for the page
index.php, so I would assume that it was a screen with some data entry that
would then be used in a subsequent call. - All this is simple HTML / HTTP
and not really PHP at all.

Cheers

Ron

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация