Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python将数据从Html表单插入MySQL数据库_Python_Mysql_Flask - Fatal编程技术网

使用Python将数据从Html表单插入MySQL数据库

使用Python将数据从Html表单插入MySQL数据库,python,mysql,flask,Python,Mysql,Flask,我有一张这样的表格: <form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST"> <label> Name <input type="text" id="name" name=&quo

我有一张这样的表格:

<form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST">
  
<label>
Name
<input type="text" id="name" name="name" required placeholder="">
</label>
<label>
Email-ID
<input type="email" id="email" name="email"pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"; required placeholder="">
</label>
<label>
Password
<input type="password" id="password1" name = password1 required placeholder="">
</label>
<label>
Confirm Password
<input type="password" id="password2" name = password2 required placeholder="">
</label>
<label>
Date of Birth:
<input type="date" id="birthday" name="birthday" required placeholder="">
</label>


<button  style="background-color:#3e3939";type="submit"; class="submit">Sign Up</button>
</form>
from flask import Flask 
from flaskext.mysql import MySQL 
mysql = MySQL() 
app=Flask(__name__) 
app.config['MYSQL_DATABASE_USER'] ="root" 
app.config['MYSQL_DATABASE_PASSWORD'] = "password"
app.config['MYSQL_DATABASE_DB'] ="db_name" 
app.config['MYSQL_DATABASE_HOST'] = "localhost" 
mysql.init_app(app) 
con=mysql.connect() 
cursor=con.cursor() 
@app.route('/register',methods=['POST']) 
def register(): 
    name=request.form['name'] 
    email=request.form['email'] 
    password2=request.form['password2'] 
    birthday=request.form['birthday']
    cursor.execute("insert into table_name values (%s,%s,%s,%s)",       (name,email,password2,birthday)) 
    con.commit() 
    return "successfully registered" 
<form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST">
<form onSubmit = "return checkPassword(this)" action="http://127.0.0.1:5000/register" method="POST">
现在我想将html表单中的输入插入mysql数据库,当我执行此操作时,它只显示浏览器上的代码,我已经浪费了10多天的时间来寻找解决方案,但没有得到任何结果

请帮帮我! 请回答! 提前感谢:-)

编辑:


当我将“/register”添加为操作时,我得到了这样的结果

<form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST">
  
<label>
Name
<input type="text" id="name" name="name" required placeholder="">
</label>
<label>
Email-ID
<input type="email" id="email" name="email"pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"; required placeholder="">
</label>
<label>
Password
<input type="password" id="password1" name = password1 required placeholder="">
</label>
<label>
Confirm Password
<input type="password" id="password2" name = password2 required placeholder="">
</label>
<label>
Date of Birth:
<input type="date" id="birthday" name="birthday" required placeholder="">
</label>


<button  style="background-color:#3e3939";type="submit"; class="submit">Sign Up</button>
</form>
from flask import Flask 
from flaskext.mysql import MySQL 
mysql = MySQL() 
app=Flask(__name__) 
app.config['MYSQL_DATABASE_USER'] ="root" 
app.config['MYSQL_DATABASE_PASSWORD'] = "password"
app.config['MYSQL_DATABASE_DB'] ="db_name" 
app.config['MYSQL_DATABASE_HOST'] = "localhost" 
mysql.init_app(app) 
con=mysql.connect() 
cursor=con.cursor() 
@app.route('/register',methods=['POST']) 
def register(): 
    name=request.form['name'] 
    email=request.form['email'] 
    password2=request.form['password2'] 
    birthday=request.form['birthday']
    cursor.execute("insert into table_name values (%s,%s,%s,%s)",       (name,email,password2,birthday)) 
    con.commit() 
    return "successfully registered" 
<form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST">
<form onSubmit = "return checkPassword(this)" action="http://127.0.0.1:5000/register" method="POST">
(请注意,如果您使用的是生产WSGI服务器,则会有所不同,但每次只执行一个步骤)。 当应用程序运行时,它会告诉你它正在监听的URL,例如:

* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
使用此URL作为HTML帖子URL的基础,如下所示:

<form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST">
  
<label>
Name
<input type="text" id="name" name="name" required placeholder="">
</label>
<label>
Email-ID
<input type="email" id="email" name="email"pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"; required placeholder="">
</label>
<label>
Password
<input type="password" id="password1" name = password1 required placeholder="">
</label>
<label>
Confirm Password
<input type="password" id="password2" name = password2 required placeholder="">
</label>
<label>
Date of Birth:
<input type="date" id="birthday" name="birthday" required placeholder="">
</label>


<button  style="background-color:#3e3939";type="submit"; class="submit">Sign Up</button>
</form>
from flask import Flask 
from flaskext.mysql import MySQL 
mysql = MySQL() 
app=Flask(__name__) 
app.config['MYSQL_DATABASE_USER'] ="root" 
app.config['MYSQL_DATABASE_PASSWORD'] = "password"
app.config['MYSQL_DATABASE_DB'] ="db_name" 
app.config['MYSQL_DATABASE_HOST'] = "localhost" 
mysql.init_app(app) 
con=mysql.connect() 
cursor=con.cursor() 
@app.route('/register',methods=['POST']) 
def register(): 
    name=request.form['name'] 
    email=request.form['email'] 
    password2=request.form['password2'] 
    birthday=request.form['birthday']
    cursor.execute("insert into table_name values (%s,%s,%s,%s)",       (name,email,password2,birthday)) 
    con.commit() 
    return "successfully registered" 
<form onSubmit = "return checkPassword(this)" action="C:\Users\Saksham\Desktop\Connection\connection.py" method="POST">
<form onSubmit = "return checkPassword(this)" action="http://127.0.0.1:5000/register" method="POST">


正确设置操作
action=“C:\Users\Saksham\Desktop\Connection\Connection.py”
这只是文件的路径。当您通过
@app.route('/register',methods=['POST'])
设置路由时,将其设置为
action=“/register”
,但它将如何连接到python文件?您编写
@app.route('/register',methods=['POST'])
是有原因的。。。它基本上意味着任何类似于
/register
(域名后)的url都将路由到此功能…只需使用相对url而不是指定域,即
操作=“/register”
您的浏览器将自动知道将请求发送到哪个域等。如果您只使用相对url,您的浏览器可能不知道Flask应用程序正在侦听的端口,因为HTML似乎位于不同的上下文中-这就是我指定完整URL的原因:-)