If i have a login window and want to access another window after i logged in, do i need to use another def...
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
a beginner here, I was hoping to open a new window after I logged the correct entry by trying to put import filename.py
but it won't show after the tm.showinfo
. I don't know what function that will make it happen at the same time it will closed or quit my login window.
I've tried my previous way of doing it to call a command and making a function for it but now I'm totally confused about it,
from tkinter import *
import tkinter.messagebox as tm
class adminlog(Frame):
def __init__(self, master):
super().__init__(master)
self.label_username = Label(self, text="Username")
self.label_password = Label(self, text="Password")
self.entry_username = Entry(self)
self.entry_password = Entry(self, show="*")
self.label_username.grid(row=0, sticky=E)
self.label_password.grid(row=1, sticky=E)
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
self.logbtn = Button(self, text="Login as Admin", command=self.lg_admin)
self.logbtn.grid(columnspan=2)
self.pack()
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
import adminpage
else:
tm.showerror("Login Error", "Incorrect password or username")
admin = Tk()
a = adminlog(admin)
admin.mainloop()
I expect that after I am logged in, then a new window will open after the tm.showinfo
shows.
python python-3.x tkinter
add a comment |
a beginner here, I was hoping to open a new window after I logged the correct entry by trying to put import filename.py
but it won't show after the tm.showinfo
. I don't know what function that will make it happen at the same time it will closed or quit my login window.
I've tried my previous way of doing it to call a command and making a function for it but now I'm totally confused about it,
from tkinter import *
import tkinter.messagebox as tm
class adminlog(Frame):
def __init__(self, master):
super().__init__(master)
self.label_username = Label(self, text="Username")
self.label_password = Label(self, text="Password")
self.entry_username = Entry(self)
self.entry_password = Entry(self, show="*")
self.label_username.grid(row=0, sticky=E)
self.label_password.grid(row=1, sticky=E)
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
self.logbtn = Button(self, text="Login as Admin", command=self.lg_admin)
self.logbtn.grid(columnspan=2)
self.pack()
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
import adminpage
else:
tm.showerror("Login Error", "Incorrect password or username")
admin = Tk()
a = adminlog(admin)
admin.mainloop()
I expect that after I am logged in, then a new window will open after the tm.showinfo
shows.
python python-3.x tkinter
add a comment |
a beginner here, I was hoping to open a new window after I logged the correct entry by trying to put import filename.py
but it won't show after the tm.showinfo
. I don't know what function that will make it happen at the same time it will closed or quit my login window.
I've tried my previous way of doing it to call a command and making a function for it but now I'm totally confused about it,
from tkinter import *
import tkinter.messagebox as tm
class adminlog(Frame):
def __init__(self, master):
super().__init__(master)
self.label_username = Label(self, text="Username")
self.label_password = Label(self, text="Password")
self.entry_username = Entry(self)
self.entry_password = Entry(self, show="*")
self.label_username.grid(row=0, sticky=E)
self.label_password.grid(row=1, sticky=E)
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
self.logbtn = Button(self, text="Login as Admin", command=self.lg_admin)
self.logbtn.grid(columnspan=2)
self.pack()
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
import adminpage
else:
tm.showerror("Login Error", "Incorrect password or username")
admin = Tk()
a = adminlog(admin)
admin.mainloop()
I expect that after I am logged in, then a new window will open after the tm.showinfo
shows.
python python-3.x tkinter
a beginner here, I was hoping to open a new window after I logged the correct entry by trying to put import filename.py
but it won't show after the tm.showinfo
. I don't know what function that will make it happen at the same time it will closed or quit my login window.
I've tried my previous way of doing it to call a command and making a function for it but now I'm totally confused about it,
from tkinter import *
import tkinter.messagebox as tm
class adminlog(Frame):
def __init__(self, master):
super().__init__(master)
self.label_username = Label(self, text="Username")
self.label_password = Label(self, text="Password")
self.entry_username = Entry(self)
self.entry_password = Entry(self, show="*")
self.label_username.grid(row=0, sticky=E)
self.label_password.grid(row=1, sticky=E)
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
self.logbtn = Button(self, text="Login as Admin", command=self.lg_admin)
self.logbtn.grid(columnspan=2)
self.pack()
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
import adminpage
else:
tm.showerror("Login Error", "Incorrect password or username")
admin = Tk()
a = adminlog(admin)
admin.mainloop()
I expect that after I am logged in, then a new window will open after the tm.showinfo
shows.
python python-3.x tkinter
python python-3.x tkinter
edited Jan 4 at 10:46
Miraj50
2,78011025
2,78011025
asked Jan 4 at 10:27
Jofer SykesJofer Sykes
83
83
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
It really depends upon your choice and feel. I will give you two methods and let you decide.
Disclaimer : I prefer the first method.
It is not a good practice to create two Tk()
windows in the same program. What you can do is have one main window and configure it as and when you want. Here for example, the function clear_widgets()
clears the login page and shows the next page.
import tkinter as tk
import tkinter.messagebox as tm
class adminlog(tk.Tk):
def __init__(self):
super().__init__()
tk.Label(self, text="Username").grid(row=0, sticky="e")
tk.Label(self, text="Password").grid(row=1, sticky="e")
self.entry_username = tk.Entry(self)
self.entry_password = tk.Entry(self, show="*")
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
logbtn = tk.Button(self, text="Login as Admin", command=self.lg_admin)
logbtn.grid(columnspan=2)
def adminpage(self):
self.clear_widgets()
tk.Label(self, text='Hello Admin !!', bg='brown', fg='white').grid(row=0, column=1, padx=20, pady=20)
def clear_widgets(self):
for widget in self.winfo_children():
widget.destroy()
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
self.adminpage()
else:
tm.showerror("Login Error", "Incorrect password or username")
adminlog().mainloop()
If you really want another window and can't do without it, you should use a Toplevel
. Here is a demonstration.
import tkinter as tk
import tkinter.messagebox as tm
class adminlog(tk.Tk):
def __init__(self):
super().__init__()
tk.Label(self, text="Username").grid(row=0, sticky="e")
tk.Label(self, text="Password").grid(row=1, sticky="e")
self.entry_username = tk.Entry(self)
self.entry_password = tk.Entry(self, show="*")
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
logbtn = tk.Button(self, text="Login as Admin", command=self.lg_admin)
logbtn.grid(columnspan=2)
def adminpage(self):
adp = tk.Toplevel(self)
tk.Label(adp, text='Hello Admin !!', bg='brown', fg='white').grid(row=0, column=1, padx=20, pady=20)
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
self.adminpage()
else:
tm.showerror("Login Error", "Incorrect password or username")
adminlog().mainloop()
Here you can see, the login window won't go away (if it does, it will take the Toplevel
with it also). So, I would recommend you to use the first method.
thanks, it really helps me. the first method is what i'm trying do, because of my half-baked knowledge about tkinter and got easily confused. what i was trying do was on the wrong way so i got stuck everytime. I always overlap tk's in the same program and that's where i am on the wrong path. thanks for the enlightenment.
– Jofer Sykes
Jan 4 at 14:42
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54037116%2fif-i-have-a-login-window-and-want-to-access-another-window-after-i-logged-in-do%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
It really depends upon your choice and feel. I will give you two methods and let you decide.
Disclaimer : I prefer the first method.
It is not a good practice to create two Tk()
windows in the same program. What you can do is have one main window and configure it as and when you want. Here for example, the function clear_widgets()
clears the login page and shows the next page.
import tkinter as tk
import tkinter.messagebox as tm
class adminlog(tk.Tk):
def __init__(self):
super().__init__()
tk.Label(self, text="Username").grid(row=0, sticky="e")
tk.Label(self, text="Password").grid(row=1, sticky="e")
self.entry_username = tk.Entry(self)
self.entry_password = tk.Entry(self, show="*")
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
logbtn = tk.Button(self, text="Login as Admin", command=self.lg_admin)
logbtn.grid(columnspan=2)
def adminpage(self):
self.clear_widgets()
tk.Label(self, text='Hello Admin !!', bg='brown', fg='white').grid(row=0, column=1, padx=20, pady=20)
def clear_widgets(self):
for widget in self.winfo_children():
widget.destroy()
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
self.adminpage()
else:
tm.showerror("Login Error", "Incorrect password or username")
adminlog().mainloop()
If you really want another window and can't do without it, you should use a Toplevel
. Here is a demonstration.
import tkinter as tk
import tkinter.messagebox as tm
class adminlog(tk.Tk):
def __init__(self):
super().__init__()
tk.Label(self, text="Username").grid(row=0, sticky="e")
tk.Label(self, text="Password").grid(row=1, sticky="e")
self.entry_username = tk.Entry(self)
self.entry_password = tk.Entry(self, show="*")
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
logbtn = tk.Button(self, text="Login as Admin", command=self.lg_admin)
logbtn.grid(columnspan=2)
def adminpage(self):
adp = tk.Toplevel(self)
tk.Label(adp, text='Hello Admin !!', bg='brown', fg='white').grid(row=0, column=1, padx=20, pady=20)
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
self.adminpage()
else:
tm.showerror("Login Error", "Incorrect password or username")
adminlog().mainloop()
Here you can see, the login window won't go away (if it does, it will take the Toplevel
with it also). So, I would recommend you to use the first method.
thanks, it really helps me. the first method is what i'm trying do, because of my half-baked knowledge about tkinter and got easily confused. what i was trying do was on the wrong way so i got stuck everytime. I always overlap tk's in the same program and that's where i am on the wrong path. thanks for the enlightenment.
– Jofer Sykes
Jan 4 at 14:42
add a comment |
It really depends upon your choice and feel. I will give you two methods and let you decide.
Disclaimer : I prefer the first method.
It is not a good practice to create two Tk()
windows in the same program. What you can do is have one main window and configure it as and when you want. Here for example, the function clear_widgets()
clears the login page and shows the next page.
import tkinter as tk
import tkinter.messagebox as tm
class adminlog(tk.Tk):
def __init__(self):
super().__init__()
tk.Label(self, text="Username").grid(row=0, sticky="e")
tk.Label(self, text="Password").grid(row=1, sticky="e")
self.entry_username = tk.Entry(self)
self.entry_password = tk.Entry(self, show="*")
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
logbtn = tk.Button(self, text="Login as Admin", command=self.lg_admin)
logbtn.grid(columnspan=2)
def adminpage(self):
self.clear_widgets()
tk.Label(self, text='Hello Admin !!', bg='brown', fg='white').grid(row=0, column=1, padx=20, pady=20)
def clear_widgets(self):
for widget in self.winfo_children():
widget.destroy()
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
self.adminpage()
else:
tm.showerror("Login Error", "Incorrect password or username")
adminlog().mainloop()
If you really want another window and can't do without it, you should use a Toplevel
. Here is a demonstration.
import tkinter as tk
import tkinter.messagebox as tm
class adminlog(tk.Tk):
def __init__(self):
super().__init__()
tk.Label(self, text="Username").grid(row=0, sticky="e")
tk.Label(self, text="Password").grid(row=1, sticky="e")
self.entry_username = tk.Entry(self)
self.entry_password = tk.Entry(self, show="*")
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
logbtn = tk.Button(self, text="Login as Admin", command=self.lg_admin)
logbtn.grid(columnspan=2)
def adminpage(self):
adp = tk.Toplevel(self)
tk.Label(adp, text='Hello Admin !!', bg='brown', fg='white').grid(row=0, column=1, padx=20, pady=20)
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
self.adminpage()
else:
tm.showerror("Login Error", "Incorrect password or username")
adminlog().mainloop()
Here you can see, the login window won't go away (if it does, it will take the Toplevel
with it also). So, I would recommend you to use the first method.
thanks, it really helps me. the first method is what i'm trying do, because of my half-baked knowledge about tkinter and got easily confused. what i was trying do was on the wrong way so i got stuck everytime. I always overlap tk's in the same program and that's where i am on the wrong path. thanks for the enlightenment.
– Jofer Sykes
Jan 4 at 14:42
add a comment |
It really depends upon your choice and feel. I will give you two methods and let you decide.
Disclaimer : I prefer the first method.
It is not a good practice to create two Tk()
windows in the same program. What you can do is have one main window and configure it as and when you want. Here for example, the function clear_widgets()
clears the login page and shows the next page.
import tkinter as tk
import tkinter.messagebox as tm
class adminlog(tk.Tk):
def __init__(self):
super().__init__()
tk.Label(self, text="Username").grid(row=0, sticky="e")
tk.Label(self, text="Password").grid(row=1, sticky="e")
self.entry_username = tk.Entry(self)
self.entry_password = tk.Entry(self, show="*")
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
logbtn = tk.Button(self, text="Login as Admin", command=self.lg_admin)
logbtn.grid(columnspan=2)
def adminpage(self):
self.clear_widgets()
tk.Label(self, text='Hello Admin !!', bg='brown', fg='white').grid(row=0, column=1, padx=20, pady=20)
def clear_widgets(self):
for widget in self.winfo_children():
widget.destroy()
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
self.adminpage()
else:
tm.showerror("Login Error", "Incorrect password or username")
adminlog().mainloop()
If you really want another window and can't do without it, you should use a Toplevel
. Here is a demonstration.
import tkinter as tk
import tkinter.messagebox as tm
class adminlog(tk.Tk):
def __init__(self):
super().__init__()
tk.Label(self, text="Username").grid(row=0, sticky="e")
tk.Label(self, text="Password").grid(row=1, sticky="e")
self.entry_username = tk.Entry(self)
self.entry_password = tk.Entry(self, show="*")
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
logbtn = tk.Button(self, text="Login as Admin", command=self.lg_admin)
logbtn.grid(columnspan=2)
def adminpage(self):
adp = tk.Toplevel(self)
tk.Label(adp, text='Hello Admin !!', bg='brown', fg='white').grid(row=0, column=1, padx=20, pady=20)
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
self.adminpage()
else:
tm.showerror("Login Error", "Incorrect password or username")
adminlog().mainloop()
Here you can see, the login window won't go away (if it does, it will take the Toplevel
with it also). So, I would recommend you to use the first method.
It really depends upon your choice and feel. I will give you two methods and let you decide.
Disclaimer : I prefer the first method.
It is not a good practice to create two Tk()
windows in the same program. What you can do is have one main window and configure it as and when you want. Here for example, the function clear_widgets()
clears the login page and shows the next page.
import tkinter as tk
import tkinter.messagebox as tm
class adminlog(tk.Tk):
def __init__(self):
super().__init__()
tk.Label(self, text="Username").grid(row=0, sticky="e")
tk.Label(self, text="Password").grid(row=1, sticky="e")
self.entry_username = tk.Entry(self)
self.entry_password = tk.Entry(self, show="*")
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
logbtn = tk.Button(self, text="Login as Admin", command=self.lg_admin)
logbtn.grid(columnspan=2)
def adminpage(self):
self.clear_widgets()
tk.Label(self, text='Hello Admin !!', bg='brown', fg='white').grid(row=0, column=1, padx=20, pady=20)
def clear_widgets(self):
for widget in self.winfo_children():
widget.destroy()
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
self.adminpage()
else:
tm.showerror("Login Error", "Incorrect password or username")
adminlog().mainloop()
If you really want another window and can't do without it, you should use a Toplevel
. Here is a demonstration.
import tkinter as tk
import tkinter.messagebox as tm
class adminlog(tk.Tk):
def __init__(self):
super().__init__()
tk.Label(self, text="Username").grid(row=0, sticky="e")
tk.Label(self, text="Password").grid(row=1, sticky="e")
self.entry_username = tk.Entry(self)
self.entry_password = tk.Entry(self, show="*")
self.entry_username.grid(row=0, column=1)
self.entry_password.grid(row=1, column=1)
logbtn = tk.Button(self, text="Login as Admin", command=self.lg_admin)
logbtn.grid(columnspan=2)
def adminpage(self):
adp = tk.Toplevel(self)
tk.Label(adp, text='Hello Admin !!', bg='brown', fg='white').grid(row=0, column=1, padx=20, pady=20)
def lg_admin(self):
un = self.entry_username.get()
ps = self.entry_password.get()
if un == "admin" and ps == "pito":
tm.showinfo("Login Info", "Login Successfully")
self.adminpage()
else:
tm.showerror("Login Error", "Incorrect password or username")
adminlog().mainloop()
Here you can see, the login window won't go away (if it does, it will take the Toplevel
with it also). So, I would recommend you to use the first method.
edited Jan 4 at 11:16
answered Jan 4 at 11:09
Miraj50Miraj50
2,78011025
2,78011025
thanks, it really helps me. the first method is what i'm trying do, because of my half-baked knowledge about tkinter and got easily confused. what i was trying do was on the wrong way so i got stuck everytime. I always overlap tk's in the same program and that's where i am on the wrong path. thanks for the enlightenment.
– Jofer Sykes
Jan 4 at 14:42
add a comment |
thanks, it really helps me. the first method is what i'm trying do, because of my half-baked knowledge about tkinter and got easily confused. what i was trying do was on the wrong way so i got stuck everytime. I always overlap tk's in the same program and that's where i am on the wrong path. thanks for the enlightenment.
– Jofer Sykes
Jan 4 at 14:42
thanks, it really helps me. the first method is what i'm trying do, because of my half-baked knowledge about tkinter and got easily confused. what i was trying do was on the wrong way so i got stuck everytime. I always overlap tk's in the same program and that's where i am on the wrong path. thanks for the enlightenment.
– Jofer Sykes
Jan 4 at 14:42
thanks, it really helps me. the first method is what i'm trying do, because of my half-baked knowledge about tkinter and got easily confused. what i was trying do was on the wrong way so i got stuck everytime. I always overlap tk's in the same program and that's where i am on the wrong path. thanks for the enlightenment.
– Jofer Sykes
Jan 4 at 14:42
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54037116%2fif-i-have-a-login-window-and-want-to-access-another-window-after-i-logged-in-do%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown