[js] Hoe /variabele uit url afvangen?

Pagina: 1
Acties:
  • 336 views sinds 30-01-2008
  • Reageer

  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 11:42
Ik wil op een website de mogelijkheid bieden dat mensen naar hun persoonlijke pagina kunnen gaan door het volgende in te typen:

http://www.domein.nl/gebruikersnaam

"gebruikersnaam" is een variabele opgeslagen in een database enz...

De manier komt dus eigenlijk exact hetzelfde als de navigatie tussen bijv. messages op dit forum.

Ik heb alleen GEEN idee hoe ik dit moet afvangen. In mijn probeersels krijg ik constant 404 (wat ergens logisch is want de webserver gaat zoeken naar een dir die niet bestaat) Ik draai trouwens op IIS5 met asp

Wie o wie kan me op weg helpen?

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

De meest simpele oplossing is denk ik, om voor de gebruikersnaam een '?' te zetten. zo blijf je op de pagina, en kan je met JS de url uitlezen.

bijvoorbeeld:
http://www.domein.nl/?de_naam

[edit]
anders moet je toch aan de instellingen op de server gaan rommelen

[ Voor 20% gewijzigd door thomaske op 25-11-2002 15:19 ]

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

Precies wat thomaske zegt.. anders opent ie een directory..

Wat ik alleen even niet snap is dat je een variabele opgeslagen in een database met javascript zou willen uitlezen???

Wat heb je aan die variabele in javascript als je je gebruikersdata in de database staat? :P

  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 11:42
ik had het vermoeden dat het alleen met javascript zou kunnen. Als het met asp kan (dan zit ik in verkeerd forum) hoor ik het graag :)

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

De gemakkelijkste manier om dit te doen is je 404 error pagina aan te passen... (als dat al kan met IIS)

in Apache werkt dit als een trein namelijk. je maakt dan een .htaccess bestandje aan met daarin het volgende:

code:
1
2
3
ErrorDocument 401 index.php
ErrorDocument 403 index.php
ErrorDocument 404 index.php


en dan kan je gewoon de REQUEST_URI opvragen in je code :)

Stop uploading passwords to Github!


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Kawa schreef op 25 November 2002 @ 15:26:
ik had het vermoeden dat het alleen met javascript zou kunnen. Als het met asp kan (dan zit ik in verkeerd forum) hoor ik het graag :)
Ypu dat kan...Ik quote uit: Clay in "Variabelen doorgeven in JavaScript"
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script>
function Request() {
    var src = document.location.search;
    if(src) src = src.substring(1);
    var ent = src.split('&');
    
    this.elements = [];
    for(var i=0; i<ent.length; i++) {
        var tmp = ent[i].split('=');
        this.elements[tmp[0]] = unescape(tmp[1]);
    }

    this.getParameter = function(name) {
        var val = this.elements[name];
        return val || null;
    }
}

// gebruiken als:
request = new Request;
alert(request.getParameter('id') +' '+ request.getParameter('test'));
</script>

<a href="?id=3&test=hoi hoi">test link</a>
:)

"You're only as good, as what you did last week."


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

maar dan zit je weer met een ? in de request_uri, en da's dus niet waar hij hier om vraagt :)

Stop uploading passwords to Github!


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Papa Eend schreef op 25 November 2002 @ 15:41:
[...]


maar dan zit je weer met een ? in de request_uri, en da's dus niet waar hij hier om vraagt :)
kheb nooit gezegd dat het script niet verbouwd kan worden.... :)

(tip split..)

[ Voor 5% gewijzigd door oh,when? op 25-11-2002 15:50 ]

"You're only as good, as what you did last week."


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

wacht eens...dat kan natuurlijk alleen voordat er op een link word geclicked in een pagina, terwijl jij juist wil dat je gelijk de directe URL in kan tikken. Dan kun je volgens mij eerder een script ertussen zetten, wat de Request.QueryString opvraagt ( wel exploden op de / dan ) dan word het zoiets als www.domein.nl/users/foo

Je kan het misschien ook netjes oplossen door er een subdomein aan te hangen, iets als http://users.domein.com/test maar kben geen expert in IIS dus dan moet ik de documentatie eraan gaan hangen.

"You're only as good, as what you did last week."


  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 11:42
zonder "?" lukt het met dat script dus niet. :'(
ik ga even wat mensjes vriendelijk aankijken voor een custom 404.

[edit].htaccess bestaat niet in IIS :( [\edit]

[ Voor 24% gewijzigd door Kawa op 25-11-2002 16:27 ]


Verwijderd

Je maakt mij niet wijs dat je met IIS niet iets in kan stellen dat je usernames kan koppelen aan virtuele directories. Maar daar weten de buren meer van dan ik.

  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 11:42
klopt. alleen heb ik geen directe toegang tot de iis. Ik ben dus een beetje afhankelijk van de mogelijkheden en driftbuien van de hostende partij.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Kawa schreef op 25 november 2002 @ 16:31:
klopt. alleen heb ik geen directe toegang tot de iis. Ik ben dus een beetje afhankelijk van de mogelijkheden en driftbuien van de hostende partij.
Mogelijkheden zijn er genoeg (custom 404, isapi filters). Dan hangt het dus af van de driftbuien :D

Today's subliminal thought is:


  • Bender
  • Registratie: Augustus 2000
  • Laatst online: 17-08 16:09
eerst zet je in je .htaccess: ErrorDocument 404 bestand.php
in bestand.php zet je:
$adr = explode("/",$REQUEST_URI);

http://www.domein.nl/gebruikersnaam
$adr[1] zal 'gebruikersnaam' zijn

ik gebruik het zelf ook zo :)

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Triloxigen schreef op 25 november 2002 @ 22:35:
eerst zet je in je .htaccess: ErrorDocument 404 bestand.php
in bestand.php zet je:
$adr = explode("/",$REQUEST_URI);

http://www.domein.nl/gebruikersnaam
$adr[1] zal 'gebruikersnaam' zijn

ik gebruik het zelf ook zo :)
Als je even de moeite had genomen om te lezen had je gezien dat we het hier hebben over ASP op IIS.

Today's subliminal thought is:


Verwijderd

Je kan ook met ASP de url opvragen.
Trek daar je domein naam vanaf en je hebt de usernaam.

  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 11:42
Ik krijg net bericht dat ik geen custom 404 pagina's kan gebruiken. Ik heb zelf geen toegang tot de IIS en moet alles via asp/js kunnen afvangen.

Het gebruik van een ? in de url lijkt me dus noodzakelijk.

[ Voor 56% gewijzigd door Kawa op 26-11-2002 16:47 ]

Pagina: 1