url met 2x "?"

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jochanan V

Jochanan V

03/06/2010 21:28:40
Quote Anchor link
Dag mensen,

ik zit met het volgende probleem.
bij het maken van een website heb ik op de indexpagina een includescript waarmee pagina's in dat stuk code geinclude wordt. Deze pagina's worden aangeroepen op de volgende manier: "http://www.mijnwebsite.nl/index.php?p=anderepagina".

Nu heb ik een stukje script waarmee gebruikers hun account moeten activeren. Dit zou ik doen door een activatielink die ze in de mail krijgen met daarin een unieke code. Deze code wordt door middel van $code=$_GET['code']; opgevraagd uit de url.

Zoals je al kunt raden wordt de volledige activatielink in de mail dan:
"http://www.mijnwebsite.nl/index.php?p=confirmpagina?code=2172f900720433061ac23a3c758823e0"
Op wat voor manier kan ik dit oplossen? Om de url uit te lezen met explode zou kunnen, of is er een betere manier?
 
PHP hulp

PHP hulp

25/04/2024 04:06:43
 
Luc a

luc a

03/06/2010 21:31:52
Quote Anchor link
werken met id`s in sql en daar een code inzetten of gebruikmaken van md5 of sha1
Gewijzigd op 03/06/2010 21:32:56 door luc a
 
- Ricardo -

- Ricardo -

03/06/2010 21:44:45
 
Crude Oil

Crude Oil

03/06/2010 21:45:36
Quote Anchor link
Wat is je probleem nu?
Het tweede vraagteken moet overigens volgensmij een & zijn. De waarden kun je gewoon opvragen met $_GET['code'] en $_GET['p']
 
Luc a

luc a

03/06/2010 21:45:54
Quote Anchor link
omdat je dan de code in de e-mail al kan lezen dus daarom zeg ik dat hij er een random getal of id aan moet koppelen in sql of md5,sha1 gebruiken
 
Jochanan V

Jochanan V

03/06/2010 21:47:32
Quote Anchor link
En hoe zie je dit voor je, id's in sql? Er wordt nu een code gegenereerd en opgeslagen in de database. Deze code wordt tevens naar de persoon gestuurd die het opgevraagd heeft. Wanneer de code's overeenkomen (code wordt op volgende manier gegenereerd: $confirmcode=md5(uniqid(rand()));) wordt de persoon zijn account geactiveerd.

Gaat alleen nu om dat ik nu in de volledige activatielinks 2x een vraagteken heb. Hierdoor denkt het include script dat alles wat achter "?p=" staat een link naar een pagina is. Waardoor hij nooit op de ?p=confirmpagina uit komt.
 

03/06/2010 21:48:27
 
Crude Oil

Crude Oil

03/06/2010 21:49:04
Quote Anchor link
Jochanan Verhoeff op 03/06/2010 21:47:32:
En hoe zie je dit voor je, id's in sql? Er wordt nu een code gegenereerd en opgeslagen in de database. Deze code wordt tevens naar de persoon gestuurd die het opgevraagd heeft. Wanneer de code's overeenkomen (code wordt op volgende manier gegenereerd: $confirmcode=md5(uniqid(rand()));) wordt de persoon zijn account geactiveerd.

Gaat alleen nu om dat ik nu in de volledige activatielinks 2x een vraagteken heb. Hierdoor denkt het include script dat alles wat achter "?p=" staat een link naar een pagina is. Waardoor hij nooit op de ?p=confirmpagina uit komt.


Het tweede ? moet ook een & zijn

Edit: ik zie dat Karl me net voor was :)
Gewijzigd op 03/06/2010 21:50:28 door Crude Oil
 
Jochanan V

Jochanan V

03/06/2010 21:51:14
Quote Anchor link
argh... mijn excuus... dit is wel heel dom... Ik zit er al een tijd over na te denken, en kwam er maar niet uit. Heel stom dit.
In ieder geval bedankt voor jullie reacties. Verwijder gauw dit topic (A) :P
 
Crude Oil

Crude Oil

03/06/2010 21:52:12
Quote Anchor link
Jochanan Verhoeff op 03/06/2010 21:51:14:
argh... mijn excuus... dit is wel heel dom... Ik zit er al een tijd over na te denken, en kwam er maar niet uit. Heel stom dit.
In ieder geval bedankt voor jullie reacties. Verwijder gauw dit topic (A) :P

Er bestaan geen stomme vragen. Elke programmeur maakt fouten :)
 
- SanThe -

- SanThe -

03/06/2010 21:54:18
Quote Anchor link
Dus, zoals reeds gemeld, zorgen dat de tweede ? een & is.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.