Codigo de 13-03-2025
Codigo de 13-03-2025
app = Flask(__name__)
run_with_ngrok(app) # Inicia o Ngrok quando o app rodar
CSS = '''
@import url('https://fonts.googleapis.com/css2?family=Rock+Salt&display=swap');
body{
font-family: "Rock Salt", cursive;
background-color: #FAF3E0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
.container{
background: #FFFFFF;
padding: 25px;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
width: 320px;
text-align: center;
}
.container h2{
color:#333;
margin-bottom: 20px;
}
.form-group{
margin-bottom: 15px;
text-align: left;
}
.form-group label {
font-size: 14px;
color: #666;
margin-bottom: 5px;
display: block;
}
.btn{
background-color: #ff7f50;
color: white;
padding: 12px;
border: none;
border-radius: 6px;
cursor: pointer;
width: 100px;
font-size: 16px;
transition: background 0.3s;
}
.btn:hover{
background-color: #ff0aff;
}
.card{
background: #FFFFFF;
padding: 25px;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
width: 320px;
text-align: center;
}
.card h2{
color:#333;
margin-bottom: 20px;
}
.card label{
font-size: 14px;
color: #666;
margin-bottom: 5px;
display: block;
}
.card input{
width: 95%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 6px;
background-color: #f9f9f9;
font-size: 14px;
outline: none;
transition: border 0.3s;
}
.card input:focus{
border-color: #ff7f50;
}
.card button{
margin-top: 20px;
background-color: #ff7f50;
color: white;
padding: 12px;
border: none;
border-radius: 6px;
cursor: pointer;
width: 100px;
font-size: 16px;
transition: background 0.3s;
}
.card button:hover{
background-color: #ff0aff;
}
.social{
display: flex;
justify-content: center;
margin-top: 15px;
}
.social img{
width: 32px;
height: 32px;
cursor: pointer;
margin-right: 10px;
margin-top: 5px;
}
.social a{
margin: 0 10px;
text-decoration: none;
}
.card #cadastro {
margin-top: 20px;
margin-left: 10px;
background-color: #78f008;
color: white;
padding: 12px;
border: none;
border-radius: 6px;
cursor: pointer;
width: 120px;
font-size: 16px;
transition: background 0.3s;
}
.card #cadastro:hover{
background-color: #ec4ed7;
}
.card #cadastro a{
text-decoration: none;
color: white;
font-size: 16px;
}
'''
try:
conn = sqlite3.connect('users.db')
c = conn.cursor()
c.execute("INSERT INTO users (name, email, password, tel, birth_date,
gender) VALUES (?, ?, ?, ?, ?, ?)",
(name, email, password, tel, birth_date, gender))
conn.commit()
conn.close()
return "Cadastro realizado com sucesso! <a href='/login'>Faça
login</a>"
except sqlite3.IntegrityError:
return "Erro: E-mail já cadastrado!"
conn = sqlite3.connect('users.db')
c = conn.cursor()
c.execute("SELECT * FROM users WHERE email = ? AND password = ?", (email,
password))
user = c.fetchone()
conn.close()
if user:
return f"Bem-vindo, {user[1]}! Login realizado com sucesso."
else:
return "E-mail ou senha inválidos!"
if __name__ == '__main__':
init_db() # Inicializa o banco de dados
app.run()