[php] profiel opzoeken naar aanleiding van link

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

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 20:10

HenkS

Da_king alias HenkS

Topicstarter
hallo,

tsjaa wat lastig uit te leggen, en heb ik ook al eens een topic over gestart, lang geleden, maar ik vind het dus niet terug :( en kan er zo snel ook niet iets anders over vinden omdat ik niet weer waar op te zoeken, maar wat wil ik nu:

op de cu2 site kun je op deze manier naar je profiel gaan:

http://www.cu2.nl/snijdm dan ga je naar het profiel van de naam die je daar typt (in dit geval mijn eigen profiel :P )

dit kon je toch op 2 manieren oplossen:

1: door iets in te stellen op de server, maar hoe ging dit ook alweer, wat moest je doen

2: door de url uit te lezen ofzo, maar hoe werkt dat ook alweer?


bij punt 1: de site komt te draaien op een linux machine met php4, maar ik ontwikkel op een windows bak, kun je dit ook dan daarop instellen? (maak gebruik van het php pakket op de firepages site)

Verwijderd

url uitlezen zou zo ongeveer moeten werken.
PHP:
1
2
3
4
5
6
7
8
9
<?
$url = getenv('HTTP_REFERER'); //kweenie of dit goed is, maar je zou ook $HTTP_REFERER ofzoiets kunnen gebruiken.
$naam = explode ('http://cu2.nl/', $url);
if(!eregi('/', $naam[1])&amp;&amp;!eregi('.php', $naam[1])
{
    header('Location: profile.php?naam=$naam[1]');
    exit();
}
?>

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 20:10

HenkS

Da_king alias HenkS

Topicstarter
thanks, super, maar nu misschien een stomme vraag

in welke file zet ik die code?? want als je bv hebt www.cu2.nl/snijdm welke file zoekt ie dan als eerste naar, soms naar index.php?? vroeg ik me dus af

Verwijderd

Ja, dat is een goede vraag.
Normaal gesproken gaat je browser automatisch in de map /profielnaam zoeken.
Je kunt inderdaad automagisch zo'n map laten maken met een php scrippie als je registreerd, maar dan krijg je dus een onwijze teringzooi op je server.
Je kunt dit dus op je server aanpassen (zoals ze hier op GOT ook doen) maar hoe dit werkt weet ik niet.

Wat je gegistreer bestand betreft, als je telkens een nieuwe map wilt aan maken doe je:
PHP:
1
2
3
4
5
<?
//registeeren ed
mkdir('$username');
copy ('/modules/index.php', '/$username');
?>

(Ik weet trouwens niet of dit werkt... ;)
Zoek maar even in de manual by de filesystemfuncties.

in je /modules/index.php staat dus die referecode.
Maar nogmaals dit is een hele ranzige oplossing.

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 20:10

HenkS

Da_king alias HenkS

Topicstarter
tjaa dat is inderdaad niet echt geweldig, dan krijg ik als de site eventueel gaat lopen, superveel mappen :(

dus als iemand hier een oplossing voor weet, want ik hou mijn code graag netjes en ook de indeling op de server.........

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 20:10

HenkS

Da_king alias HenkS

Topicstarter
Op maandag 15 oktober 2001 13:16 schreef Grofur het volgende:
Kijk hier eens:
http://www.webmasterbase.com/article/485

http://www.phpbuilder.com/columns/tim19990117.php3

Hope this helps... ;)
die bovenste link, over het aanpassen van de .htaccess file is wel een mooie oplossing vind ik,

maar ik ben niet zo super thuis in linux cq apache, en ik vroeg me nu iets af, is een .htaccess file server of website gebonden, want die server is gewoon van ons (we zijn ook een webhosting bedrijf), maar die 404 error oplossing gaat dan alleen gelden voor mijn eigen site, dus kun je zo'n .htaccess file, ook site gebonden hebben?

Verwijderd

Sterker nog .htaccess is in principe gebonden aan de map waar deze zich in bevind bijvoorbeeld :

.htaccess in de web-root van de site -> geldig op www.site.nl/ en verder
.htacesss in /user/ -> geldig op www.site.nl/user/ en verder

Iedere folder waar een .htaccess in staat kan de "rules resetten".

Het is ook zo dat je op die manier persoonlijke error pages kan maken per map.

Ik d8 in ieder geval dat het zo zit, ps werkt niet (helemaal) op windows systemen dus dat wordt remote editten :)

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 20:10

HenkS

Da_king alias HenkS

Topicstarter
dus stel: ik pak weer de cu2 site als voorbeeld,

je wilt dat dit werkt:

http://www.cu2.nl/snijdm

dan zet ik in de root van de site, dus (indien die nog niet bestaat) een nieuwe .htaccess file met daarin dus :

ErrorDocument 404 /users.php

en dan in users.php
header("HTTP/1.1 200 OK");
en daaronder de request_uri opspliten en klaar is kees? toch?

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

volgens mij word je doorgesluisd naar users.php zonder de parameter lijst.

Klaar voor een nieuwe uitdaging.


  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 20:10

HenkS

Da_king alias HenkS

Topicstarter
Op maandag 15 oktober 2001 15:20 schreef chem het volgende:
volgens mij word je doorgesluisd naar users.php zonder de parameter lijst.
eehmm en dus?

je kunt toch zo:
$var_array = explode("/",$REQUEST_URI);

oproepen wat de vorige url was?
tenminste dat dacht ik en dat staat ook zo hier beschreven:
http://www.webmasterbase.com/article/485/18

of bedoel je iets anders?

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

in je bovenstaand voorbeeld wordt dmv. multiviews 'articles' (en dus waarschijnlijk articles.php oid) opgestart. Bij een 404 wordt de gebruiker via ee Location: header doorgestuurd, waarbij je dus het pad kwijtraakt...

Ik denk dan een mod_rewrite van apache wellicht sneller en makkelijker is!

Klaar voor een nieuwe uitdaging.


  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 20:10

HenkS

Da_king alias HenkS

Topicstarter
dus jij zegt, dat wat in dat artikel staat wat ik daarbij heb gelinkt niet klopt, of begrijp ik je nu verkeerd?

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 20:10

HenkS

Da_king alias HenkS

Topicstarter
nu vraag ik me trouwens nog wat af

ik las ergens als je dit hebt:

www.websitenaam.nl/article.php/12/999

dat als 999 niet bestaat of niks is, de server naar 12 gaat zoeken, is dit ook niks kijkt hij of article.php bestaat, die heb ik geprobeerd en dit werkt erg goed.

maar waarom werkt
www.websitenaam.nl/12/999
dan niet?
want dan zou hij na de 12 toch in feite naar een index.html of index.php file ofzo moeten gaan zoeken? of zie ik dat helemaal fout?

  • AEZscf
  • Registratie: September 2001
  • Laatst online: 07:52
beetje een oude kick maar ik ben nu bezig met een lookalike cu2 site en kwam dit probleem ook tegen. Wou even weten of iemand het al opgelost heeft.

  • AEZscf
  • Registratie: September 2001
  • Laatst online: 07:52
Ik heb een site "www.site.nl" daarop staat in een directory "profiel" een pagina "profiel.php" die via een parameter een profiel kan weergeven van een geregistreerde user dmv "profiel.php?sitenaam=Henk".

Nu probeer ik het voor elkaar te krijgen dat ik als ik intype www.site.nl/Henk dat ik dan doorgelinkt word naar www.site.nl/profiel/profiel.php?sitenaam=Henk.
Ik heb beide artikelen doorgelezen en de search doorgespit. En ik begreep niet goed wat ik daarvoor moet doen.
Ik ben ook nog niet zo'n hele ster in php maar ken het wel een beetje.
Hoop dat iemand mij hiermee kan helpen

Verwijderd

kijk op php.net... zo werkt php.net namelijk ook (php.net/functienaam)

ze hebben de source ervan ergens op de website staan...
Pagina: 1