[Zope] external method and forms
murat bilal
murat.bilal at gmail.com
Mon Jan 7 22:21:35 UTC 2013
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 at 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 at 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 at 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 )
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.zope.org/pipermail/zope/attachments/20130108/aca978d1/attachment.html>
More information about the Zope
mailing list