I'm building a mad libs app and when the user submits the form I have all the variables shown in the url which is nice as its accessible by the program and you can share the url with your friends. I was wondering if there was a way to encode the URL in such a way that it looks like random letters to the user, but the variables are still passed. I don't want to have to store all the generated stories in a database. I don't want to use POST as that will make the page inaccessible for friends to view. Should I just stick with leaving all the variables up there to see?
Asked
Active
Viewed 149 times
2
-
7You can use base64_encode & base64_decode – Chibuzo Apr 06 '12 at 01:32
-
Is that just for prettiness, or for security purposes? – deceze Apr 06 '12 at 01:34
-
@Chibuzo make this an answer! – Collin Apr 06 '12 at 01:35
-
@Chibuzo: How would you base64_encode the input values on form submission? – Ayush Apr 06 '12 at 01:41
-
@deceze For prettiness. I'd want users to share the url with each other. – nikorablin Apr 06 '12 at 01:43
-
@xbonez See http://stackoverflow.com/questions/246801/how-can-you-encode-to-base64-using-javascript. – wecsam Apr 06 '12 at 01:46
-
@nikorablin How are random characters prettier than the actual values? If the number of variables is limited, you can look into url rewriting to make your url look better while it still contains the values. – jeroen Apr 06 '12 at 02:00
-
@jeroen Because then it will be obvious that you can just manipulate the url to get different results. – nikorablin Apr 06 '12 at 02:09
1 Answers
1
You could store the results of the form submission in a database and have the ID be pasted in the URL. Then, if you want to make things a little less obvious then you could change the base of that integer to something like base16 or higher (so 12 => A). This way if you have other responses of the exactly same data then you could reuse those IDs.
The URL would end up being:
http://madlipswebsite.com/submission?i=XXXXX
Keep in mind that if you plan on internationalizing your application then its a better idea that you don't store the actual values inside of the URL.

matsko
- 21,895
- 21
- 102
- 144
-
Yeah, I had this idea too, but was hoping I could do it without storing all submissions in a database. – nikorablin Apr 06 '12 at 02:19