0

昨日質問を投稿しました: ログイン資格情報の検証のためにpythonスクリプトを別のpythonスクリプトにリダイレクトします

そのビットを処理した後、Cookie に関連する別の問題が発生しました。Python スクリプト コードからヘッダーで Cookie を送信しました。

        #Create Cookie
        C= Cookie.SimpleCookie()
        #take the value of usernameLogin into the variable username
        username= form.getvalue('usernameLogin')
        #Set-Cookie header with the usernameLogin key
        C['usernameLogin'] = username

このコードは、前の python スクリプトのvalidate.pyにあります。

次のスクリプトpage1.pyにクッキーを送信したい これはpage1.py の私のコードです:

import cgi
import cgitb
import sqlite3
import Cookie
import os

user_name=""
user_id=""
useridDb=""
resultid=""
resultname=""
idUser=""
if os.environ.has_key("HTTP_COOKIE"):
    C= Cookie.SimpleCookie(os.environ.get("HTTP_COOKIE",""))
    if C.has_key("usernameLogin"):
        user_name= C['usernameLogin'].value
        print user_name

form= cgi.FieldStorage()
cgitb.enable()

#Open connection
conn= sqlite3.connect("manager.db")


page1head= """

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Excursions</title>
    <link rel='stylesheet' type='text/css' href='/page1.css/' />
    <script lang="javascript" type="text/javascript" src="/suggestions.js/"> </script>

</head><body>

    <div id="container">
        <div id="header">
            <h1>Field Note Manager</h1>
            <p class="description">Observe...Record...Save!</p>
        </div>

        <!-- Content Section -->
        <div id="wrapper">
        <!-- Main Content Section -->
            <div id="content">

                <h2>Excursions</h2>


                    <table CELLPADDING="10" ><tr><th> <strong> Location </strong> </th><th> <strong> Date </strong> </th> <th> Time </th></tr>"""

page2head="""</table>


            </div>
        </div>

        <!-- Logout Section -->
        <div id="navigation">

             <input type="hidden" name="greeting"/>
                         <form action="http://localhost:8000/cgi-bin/logout.py">
             <p><input type="submit" name="logoutBtn" value="Logout" /> </p>
            </form>
        </div>

        <!-- Extra Section for Queries -->
        <div id="extra">
            <h2>Quick Links</h2>            


            <dl> <dd><a href="http://localhost:8000/cgi-bin/query.py"/>Query the Database</a> </dd></dl>
            <dl> <dd><a href="http://localhost:8000/cgi-bin/addFieldNote.py"/>Add Field Note</a> </dd></dl>


        </div>

        <!-- Footer -->
        <div id="footer">
            <p>Copyright  42578647, 2012</p>
        </div> 
    </div>
"""

page1foot= """

</body>
</html>
"""


print "Content_type: text/html\n\n"
print page1head

#print excursion details
cur=conn.cursor()
resultid= cur.execute("SELECT userid FROM login WHERE username=?",[user_name])
cur.fetchone()
for data in resultid:
    idUser= int(data)
resultname= cur.execute("""SELECT location,excurDate,excurTime FROM excursion WHERE user=?""",[idUser])
cur.fetchall()
for record in resultname:
    print"<tr><td>",record[0],"</td><td>",record[1],"</td><td>",record[2],"</td></tr>"
print page2head
print page1foot

ページを印刷しますが、クエリは生成されません。Cookie が取得および解析されていないためですか、それとも SELECT ステートメントに問題がありますか?

4

1 に答える 1

0

答えがわかった。前の validate.py のヘッダーの前に Cookie が設定されていませんでした。

于 2012-04-27T04:51:37.733 に答える