Перенаправление страниц не работает в Python CGI после проверки данных из базы данных - PullRequest
0 голосов
/ 17 сентября 2018
#!/usr/bin/python2

import mysql.connector 
import cgi
import os
import cgitb
import webbrowser

cgitb.enable()
print "Content-type:text/html"

print ""

data=cgi.FieldStorage()

user=data.getvalue('uname') 
passwd=data.getvalue('password')

con=mysql.connector.connect(user='root',password='root',host='localhost',database='signup')   
sql_lang=con.cursor()
query=("select username,password from info;")
sql_lang.execute(query)
flag=0


for username,password in sql_lang:

    if user==username and passwd==password:
        flag=1
        break

    else:
        flag=0


    if flag==1:
        print "pass"

    else:
        print "fail"

Кнопка «Отправить» не перенаправляет на другую страницу. Мой HTML-код формы:

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body, html {
    height: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

* {
    box-sizing: border-box;
}

.bg-img {
    /* The image used */
    background-image: url("http://imgsnap.com/images/2016/09/14/main-background1.jpg");

    min-height: 900px;

    /* Center and scale the image nicely */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Add styles to the form container */
.container {
    position: absolute;
    right: 0;
    margin: 20px;
    max-width: 300px;
    padding: 16px;
    background-color: rgba(0,0,0,0);
}

/* Add style to avatar */
img.avatar {
    width: 40%;
    border-radius: 50%;
}

/* Full-width input fields */
input[type=text], input[type=password] {
    width: 100%;
    padding: 15px;
    margin: 5px 0 22px 0;
    border: none;
    background: #f1f1f1;
}

input[type=text]:focus, input[type=password]:focus {
    background-color: #ddd;
    outline: none;
}

/* Set a style for the submit button */
.btn {
    background-color: rgba(0,0,0,0.5);
    color: white;
    padding: 16px 20px;
    border: none;
    cursor: pointer;
    width: 100%;
    opacity: 0.9;
}

.btn:hover {
    opacity: 1;
}
</style>
</head>
<body>

<div class="bg-img">
  <form action="/cgi-bin/login.py" method="POST">
    <div class="container">
     <center>
     </br><img src="https://upload.wikimedia.org/wikipedia/commons/6/67/User_Avatar.png" alt="Avatar" class="avatar">
      <h1>Login</h1>
      </center>
      <h2><label for="uname"><b>Username</b></label></h2>
      <input type="text" placeholder="Enter Username" name="uname" required>

      <h2><label for="password"><b>Password</b></label></h2>
      <input type="password" placeholder="Enter Password" name="password" required>

   <!--   <button type="submit" class="btn" value="login" style=font-size:200%>Login</button> 
      <a href="http://192.168.122.1/p2.html"><input type="submit" class="btn" name="p2" value="Login" style="font-size:150%"></a> -->
      <button type="submit" class="btn" value="submit" style=font-size:200%>Login</button>
      <h3><span class="psw">Forgot <a href="http://192.168.122.1/forgot.html">password?</a></span></h3>     
    </div>
    </form>
</div>
</body>
</html>

Это HTML-код, после проверки данных из базы данных он не перенаправляется на следующую страницу.Я также попытался, если 'Отправить' в форме: url = 'http://192.168.122.1/p2.html'

Эта функция не работает.Он предназначен для перенаправления на нужный URL после нажатия кнопки «Отправить».Пожалуйста, помогите.

...