/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hvordan gør man så man kan kalde en side m~
Fra : alm@thesoft.dk


Dato : 21-05-03 10:54

Hej

Er der nogle der kan hjælpe min med at forklar hvordan man laver
følgende

jeg vil gerne kunne kalde en side på denne måde
http://minserver/tv/kanal=alle

Kan dette lade sige gøre?
Hvis Ja Hvordan?
Hvis Nej Æv.

MVH
Allan

 
 
Kim Emax (21-05-2003)
Kommentar
Fra : Kim Emax


Dato : 21-05-03 10:56

alm@thesoft.dk wrote:
> jeg vil gerne kunne kalde en side på denne måde
> http://minserver/tv/kanal=alle

mener du ikke http://minserver/tv/?kanal=alle ?

hvis dit DirectoryIndex (på en Apache) har f.eks. index.php, så kan du bruge
ovennævnte, så rammer den automatisk index.php, da det er det samme som at
skrive http://minserver/tv/index.php?kanal=alle

--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Jacob Atzen (21-05-2003)
Kommentar
Fra : Jacob Atzen


Dato : 21-05-03 11:06

alm@thesoft.dk writes:

> Hej
>
> Er der nogle der kan hjælpe min med at forklar hvordan man laver
> følgende
>
> jeg vil gerne kunne kalde en side på denne måde
> http://minserver/tv/kanal=alle
>
> Kan dette lade sige gøre?

Hvis ikke Kims forslag er godt nok kan du muligvis bruge Apaches
mod_rewrite til at opnå det ønskede.

--
Med venlig hilsen
- Jacob Atzen

Kim Emax (21-05-2003)
Kommentar
Fra : Kim Emax


Dato : 21-05-03 11:14

Jacob Atzen wrote:

> Hvis ikke Kims forslag er godt nok kan du muligvis bruge Apaches
> mod_rewrite til at opnå det ønskede.

Gør mod_rewrite ikke lige netop det at den bryder en Query_string op i
"dirs? altså ovenstående ville blive til http://minserver/tv/kanal/alle ?

--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Jacob Atzen (21-05-2003)
Kommentar
Fra : Jacob Atzen


Dato : 21-05-03 11:52

"Kim Emax" <newsgroup@remove-emax.dk> writes:

> Jacob Atzen wrote:
>
> > Hvis ikke Kims forslag er godt nok kan du muligvis bruge Apaches
> > mod_rewrite til at opnå det ønskede.
>
> Gør mod_rewrite ikke lige netop det at den bryder en Query_string op i
> "dirs? altså ovenstående ville blive til http://minserver/tv/kanal/alle ?

Nej, mod_rewrite giver dig mulighed for at "omskrive" en URL til en
fuldstændig anden URL. Dette foregår vha. regler baseret på regulære
udtryk.

Læs selv videre her:
<http://httpd.apache.org/docs/mod/mod_rewrite.html>

--
Med venlig hilsen
- Jacob Atzen

Mikkel (21-05-2003)
Kommentar
Fra : Mikkel


Dato : 21-05-03 11:20

ja det er rimelig nemt: se eksempel:

<?

if ($kanal) {
header("location: $kanal.html");
}
//


?>

ovenstående script placeres øverst i index.php

og når du kalder index.php?alle=kanal viderstiller den til kanal.html

/mikkel

<alm@thesoft.dk> wrote in message
news:q0jmcvc4877u880bm9mmc2v8p86347s25f@4ax.com...
> Hej
>
> Er der nogle der kan hjælpe min med at forklar hvordan man laver
> følgende
>
> jeg vil gerne kunne kalde en side på denne måde
> http://minserver/tv/kanal=alle
>
> Kan dette lade sige gøre?
> Hvis Ja Hvordan?
> Hvis Nej Æv.
>
> MVH
> Allan



No1 (21-05-2003)
Kommentar
Fra : No1


Dato : 21-05-03 11:29

> <?
>
> if ($kanal) {
> header("location: $kanal.html");
> }
> //
>
>
> ?>

Virker kun med globalvars slået til. Brug i stedet:

if ($_GET['kanal']) {
header("location: ".$_GET['kanal'].".html");
}



Jacob Bunk Nielsen (21-05-2003)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 21-05-03 11:30

"No1" <cccccccccc@nonexisting.doooooomain.com> writes:

> Virker kun med globalvars slået til. Brug i stedet:
>
> if ($_GET['kanal']) {
> header("location: ".$_GET['kanal'].".html");
> }

.... og så glemmer vi lige at der engang var nogle der lavede RFC 2616
.... hvad skal vi dog med standarder?

--
Jacob - www.bunk.cc
Today is the tomorrow you worried about yesterday.

No1 (21-05-2003)
Kommentar
Fra : No1


Dato : 21-05-03 12:47

> > Virker kun med globalvars slået til. Brug i stedet:
> >
> > if ($_GET['kanal']) {
> > header("location: ".$_GET['kanal'].".html");
> > }
>
> ... og så glemmer vi lige at der engang var nogle der lavede RFC 2616
> ... hvad skal vi dog med standarder?

Og du gider ikke at rette det? Jeg fokuserede kun lige på globalvars, men
det er da rigtigt, at headers skal ændres.

if ($_GET['kanal']) {
header("HTTP/1.0 301 Moved Permanently");
header("Location: ".$_GET['kanal'].".html");
}




Jacob Bunk Nielsen (21-05-2003)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 21-05-03 13:07

"No1" <cccccccccc@nonexisting.doooooomain.com> writes:

> Og du gider ikke at rette det?

Nej, jeg forventer da at folk der laver den slags også har læst den
pågældende RFC. Det var tydeligvis for meget at forvente.

> header("HTTP/1.0 301 Moved Permanently");

Den ville jeg ikke bruge i dette tilfælde.

> header("Location: ".$_GET['kanal'].".html");

Afsnit 14.30 i RFC 2616 siger:

,----[ Afsnit 14.30 af RFC 2616 ]
| 14.30 Location
|
| The Location response-header field is used to redirect the recipient
| to a location other than the Request-URI for completion of the
| request or identification of a new resource. For 201 (Created)
| responses, the Location is that of the new resource which was created
| by the request. For 3xx responses, the location SHOULD indicate the
| server's preferred URI for automatic redirection to the resource. The
| field value consists of a single absolute URI.
|
| Location = "Location" ":" absoluteURI
|
| An example is:
|
| Location: http://www.w3.org/pub/WWW/People.html
|
| Note: The Content-Location header field (section 14.14) differs
| from Location in that the Content-Location identifies the original
| location of the entity enclosed in the request. It is therefore
| possible for a response to contain header fields for both Location
| and Content-Location. Also see section 13.10 for cache
| requirements of some methods.
`----

Og absoluteURI er kort defineret som:

,----[ Uddrag af afsnit 3.2.1 af RFC 2616 ]
| 3.2.1 General Syntax
|
| URIs in HTTP can be represented in absolute form or relative to some
| known base URI [11], depending upon the context of their use. The two
| forms are differentiated by the fact that absolute URIs always begin
| with a scheme name followed by a colon. For definitive information on
| URL syntax and semantics, see "Uniform Resource Identifiers (URI):
| Generic Syntax and Semantics," RFC 2396 [42] (which replaces RFCs
| 1738 [4] and RFC 1808 [11]). This specification adopts the
| definitions of "URI-reference", "absoluteURI", "relativeURI", "port",
| "host","abs_path", "rel_path", and "authority" from that
| specification.
`----

Se evt. selv de RFC'er der henvises til. Derfor må den rette måde
være:

header("Location:http://" $_SERVER['HTTP_HOST'] .
dirname($_SERVER['SCRIPT_NAME']) . $_GET['kanal'].".html");

Det kan jo let pakkes ind i en funktion, der bare tager $_GET['kanal']
som argument, hvis man synes ovenstående er grimt.

I øvrigt bør man naturligvis også checke om $_GET['kanal'].".html"
findes, og må vises for den pågældende bruger.

Nu du er igang med at læse RFC'er, kan du så ikke også læse RFC 2606
med henblik på hvilket domænenavn du bruger i din emailadresse. Den er
ikke ret lang, så det skulle være til at overkomme.

--
Jacob - www.bunk.cc
Today is the tomorrow you worried about yesterday.

Mikkel Bundgaard (21-05-2003)
Kommentar
Fra : Mikkel Bundgaard


Dato : 21-05-03 17:23


> Nej, jeg forventer da at folk der laver den slags også har læst den
> pågældende RFC. Det var tydeligvis for meget at forvente.

Fald lige ned? Vi er sgu ikke alle eksperter, eller tænkt på at blive
det. :)

/mikkel


Christian Joergensen (23-05-2003)
Kommentar
Fra : Christian Joergensen


Dato : 23-05-03 00:48

On Wed, 21 May 2003 18:22:47 +0200, Mikkel Bundgaard wrote:

>> Nej, jeg forventer da at folk der laver den slags også har læst den
>> pågældende RFC. Det var tydeligvis for meget at forvente.
>
> Fald lige ned? Vi er sgu ikke alle eksperter, eller tænkt på at blive
> det. :)

Det er godt nok en skidt holdning. Selvfølgelig bør man overholde de
standarder der nu engang forefindes. Det ville jo være det samme som hvis
du gik ud og købte en splinterny CD og ikke kunne afspille den i din
CD-afspiller fordi producenten ikke rigtig havde lyst til at sætte sig
ordentligt ind i hvorledes man producerede CD'er, sådan at de virkede i
alle afspillere :)

--
Christian Jørgensen | Pity the poor egg: it only gets laid once.
http://www.razor.dk |


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408936
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste