-1

I am willing to fill a form(HTML) and pass that data into another HTML page and also insert that data into a database.

app.py

@app.route('/signup')
def signup():
    return render_template("client_signup.html")
@app.route('/registered')
def registered():
    userName = request.form['userName']
    userEmail = request.form['userEmail']
    userPassword = request.form['userPassword']
    conn = mysql.connect()
    cursor = conn.cursor()
    cursor.execute("INSERT INTO emp(userName, userEmail, userPassword) VALUES (%s,%s,%s)", (userName, userEmail, userPassword))
    return render_template("client_signin.html")

client_signup.html

<form id="msform" action="registered">
    <!-- progressbar -->
    <ul id="progressbar">
        <li class="active">Account Setup</li>
    </ul>
    <!-- fieldsets -->
    <fieldset>
        <h2 class="fs-title">Create your account</h2>
        <h3 class="fs-subtitle">This is step 1</h3>
        <input type="text" name="userName" placeholder="Your Name" />
        <input type="text" name="UserEmail" placeholder="Email" />
        <input type="password" name="userPassword" placeholder="Password" />
        <input type="password" name="cUserPassword" placeholder="Confirm Password" />
        <input type="submit" name="submit" class="submit action-button" value="Submit" />
    </fieldset>
</form>

I am not having to knowledge of FLASK (just a beginner)

Jay Desai
  • 231
  • 1
  • 2
  • 12

2 Answers2

0

You can pass the form data through the render_template function and render them use Jinja syntax in template file. For example:

@app.route("/registered")
def registered():
    // get form data and insert
    return render_template("client_signin.html", username=username, password=password)

<form>
    <input name="username" value="{{ username }}" />
    <input name="password" value="{{ password }}" />
    <input type="submit" value="submit />
</form>
stamaimer
  • 6,227
  • 5
  • 34
  • 55
0

First, if you want to make a POST method, you need method to @app.route:

@app.route('/registered', methods=['GET', 'POST'])

Then, for your question, you can try the code:

@app.route('/signup')
def signup():
    return render_template("client_signup.html")
@app.route('/registered', methods=['GET', 'POST'])
def registered():
    userName = request.form['userName']
    userEmail = request.form['userEmail']
    userPassword = request.form['userPassword']
    conn = mysql.connect()
    cursor = conn.cursor()
    cursor.execute("INSERT INTO emp(userName, userEmail, userPassword) VALUES (%s,%s,%s)", (userName, userEmail, userPassword))
    return redirect("/signup")

The small change is return redirect("/signup")