url met 2x "?"
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?
Gewijzigd op 03/06/2010 21:32:56 door luc a
Het tweede vraagteken moet overigens volgensmij een & zijn. De waarden kun je gewoon opvragen met $_GET['code'] en $_GET['p']
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
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.
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.
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
In ieder geval bedankt voor jullie reacties. Verwijder gauw dit topic (A) :P
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
In ieder geval bedankt voor jullie reacties. Verwijder gauw dit topic (A) :P
Er bestaan geen stomme vragen. Elke programmeur maakt fouten :)
Dus, zoals reeds gemeld, zorgen dat de tweede ? een & is.