Re: [Zope] external method and forms
At last I find and change everything.Now it looks like this: ------MY DTML DOCUMENT----- <form action="" method="post"><br /> <p><br> KULLANICI ADI <br> <input type="text" name="name"> <p><br> SIFRE<br> <input type="text" name="sifre"> <p><br> SIFRE YENIDEN<br> <input type="text" name="sifret"> <input type="submit" name="formParams:action" value="degistir"> </form> ----MY EXTERNAL PYTHON METHOD------ import crypt import MySQLdb def formParams(self,name,sifre,sifret): conn = MySQLdb.connect(host="localhost", user = "xxxx", passwd = "yyyy", db = "xxxzzz") cursor = conn.cursor() self.name=name self.sifre=sifre self.sifret=sifret if sifre == sifret: cryp = crypt.crypt(sifre,'mysecret') cursor.execute("""update mytable set PASS_WORD=%s where USERNAME=%s""",(cryp,name)) return "BASARI ILE DEGISTIRILDI" else: return "Sifreler uyusmadi.Tekrar deneyiniz." cursor=conn.close() On Mon, Jan 7, 2013 at 11:16 PM, Mike Cullerton <plone@bakednotfried.com>wrote:
It looks like you missed some quotes.
this line cryp = crypt.crypt(sifre,'mysecret')
should probably be cryp = crypt.crypt('sifre','mysecret')
Mike
On Jan 7, 2013, at 1:33 PM, murat bilal <murat.bilal@gmail.com> wrote:
Hi,
I try to make a simple paswd recovery page for my site.Username and password stored in mysql db.My DTML document is: <form action="deg" method="POST"> <h2>Şifre değiştirme sayfasına hoşgeldiniz<h2> <br> KULLANICI ADI: <br><input type="text" name="name:ignore_empty"></br> <p><br> ŞİFRE: <br> <input type="text" name="sifre:ignore_empty"></br> <p><br> ŞİFRE TEKRAR: <br> <input type="text" name="sifret:ignore_empty"></br> <p><br> <input type="submit" value="yenile" align="center" > <dtml-var "deg(REQUEST)"> </form>
and my external python method is as follows:
import crypt import MySQLdb conn = MySQLdb.connect(host="localhost", user = "rxxxx", passwd = "yyyy", db = "zzzz") cursor = conn.cursor() #return context.responseMessage() def deg(self):
cryp = crypt.crypt(sifre,'mysecret') if request.form["sifre"] == request.form["sifret"]: cursor.execute("""update mytable set PASS_WORD=%s where USERNAME=%s""",(cryp,name)) print "SUCCESS" else: print "please try again!" cursor=conn.close() But when i tested from DTML Document I got this error
*Error Type: NameError* *Error Value: global name 'sifre' is not defined*
Can anybody help me?
Regards
MuratB
_______________________________________________ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
participants (1)
-
murat bilal