Mailing List Archive

dtml-if query
Hi,
I'm working on a simple self-made board based upon
mysqldb.

The idea is that I want anonymous people allow to
write with a password protection.
Now I want them to be able to delete and edit
articles.
(but of course only with their password)
I'd like to make a if query in addition to the code
below so that the updatemethod is only called if the
password the user enters equals to the one from the
database.

the db table has the following fields:
id, title, article, author, password

now i have to make a comparison prior to the
updatemethod call.

something like <dtml-if expr="password_check ==
<dtml-var password>">
<dtml-call updatemethod>
</dtml-if>

I'd like to do it with dtml but dont know how.
Could anyone help?

--

<dtml-if submit>
<dtml-call updatemethod>
<h2>article edited!</h2>
<p>
<a href="list">List</a> or <a
href="add">add
another title</a>

<dtml-else>

<h2>Edit</h2>
<dtml-in selectonemethod>
<form action="edit" method="POST">
<table border=0>
<tr>
<td>Title</td>
<td><input name="title" width=30 value="<dtml-var
name="title">"></td>
</tr>
<tr>
<td>Article</td>
<td><input name="article" width=30 value="<dtml-var
name="article">"></td> </tr>

<tr>
<td>Password</td>
<td><input name="password_check" width=30
value=""></td> </tr>

<tr>
<td colspan=2 align=center>
<input type="hidden" name="id" value=<dtml-var
name="id">>
<input
type="submit" name="submit" value="Edit"> </td> </tr>
</table>
</form>
</dtml-in>
</dtml-if>







___________________________________
¹«·á 1GB¿ë·®!, ´õ ÀÌ»ó ¿ë·® °í¹Î¾ø´Â - ¾ßÈÄ! ¸ÞÀÏ (http://mail.yahoo.co.kr)
ÃֽŠÈÞ´ëÆù Á¤º¸, º§¼Ò¸®, ij¸¯ÅÍ, ¹®ÀÚ¸Þ¼¼Áö - ¾ßÈÄ! ¸ð¹ÙÀÏ (http://kr.mobile.yahoo.com)
´ëÇѹα¹ ºí·Î±×°¡ ¸ðÀÎ °÷! - ¾ßÈÄ! ÇÇÇøµ(http://kr.ring.yahoo.com)
_______________________________________________
Zope-DB mailing list
Zope-DB@zope.org
http://mail.zope.org/mailman/listinfo/zope-db
Re: dtml-if query [ In reply to ]
Looks like you are kind of on track, try this...

<dtml-if "password_check == password">
<dtml-call updatemethod>
Article updated!
<dtml-else>
Password incorrect. Article not updated.
</dtml-if>

You have to go get the "password" variable somewhere though. Maybe
you need a quick zsql method that grabs it. Make one called "getpwd"
with arguments of "password" and "articleid". (you will run into
problems if you use the id column named "id",it will confilct with the
zope object id, unless you rename it in your zsql methods)
select password as pwd from articles where id = <dtml-sqlvar articleid type=int>

This will return a "pwd" variable in which to check. So, in complete
you might try this:
<dtml-if submit>
<dtml-in getpwd> <<< This is calling the zsql method and returning
the pwd value
<dtml-if "password_check == pwd">
<dtml-call updatemethod>
Article updated!
<dtml-else>
Password incorrect. Article not updated.
</dtml-if>
<dtml-else>
Error retrieving password data.
</dtml-in>

<dtml-else>

form stuff.... (in your form you will need the id as articleid)
<input type=hidden name=articleid value="<dtml-var id>">

</dtml-if>

There's probably a hundred different ways to get what you want, but I
hope this at least gets you going a bit.

Good luck!

Greg


On 5/23/05, Sungmook Kim <sungmook@yahoo.com> wrote:
> Hi,
> I'm working on a simple self-made board based upon
> mysqldb.
>
> The idea is that I want anonymous people allow to
> write with a password protection.
> Now I want them to be able to delete and edit
> articles.
> (but of course only with their password)
> I'd like to make a if query in addition to the code
> below so that the updatemethod is only called if the
> password the user enters equals to the one from the
> database.
>
> the db table has the following fields:
> id, title, article, author, password
>
> now i have to make a comparison prior to the
> updatemethod call.
>
> something like <dtml-if expr="password_check ==
> <dtml-var password>">
> <dtml-call updatemethod>
> </dtml-if>
>
> I'd like to do it with dtml but dont know how.
> Could anyone help?
>
> --
>
> <dtml-if submit>
> <dtml-call updatemethod>
> <h2>article edited!</h2>
> <p>
> <a href="list">List</a> or <a
> href="add">add
> another title</a>
>
> <dtml-else>
>
> <h2>Edit</h2>
> <dtml-in selectonemethod>
> <form action="edit" method="POST">
> <table border=0>
> <tr>
> <td>Title</td>
> <td><input name="title" width=30 value="<dtml-var
> name="title">"></td>
> </tr>
> <tr>
> <td>Article</td>
> <td><input name="article" width=30 value="<dtml-var
> name="article">"></td> </tr>
>
> <tr>
> <td>Password</td>
> <td><input name="password_check" width=30
> value=""></td> </tr>
>
> <tr>
> <td colspan=2 align=center>
> <input type="hidden" name="id" value=<dtml-var
> name="id">>
> <input
> type="submit" name="submit" value="Edit"> </td> </tr>
> </table>
> </form>
> </dtml-in>
> </dtml-if>
>
>
>
>
>
>
>
> ___________________________________
> ¹«·á 1GB¿ë·®!, ´õ ÀÌ»ó ¿ë·® °í¹Î¾ø´Â - ¾ßÈÄ! ¸ÞÀÏ (http://mail.yahoo.co.kr)
> ÃֽŠÈÞ´ëÆù Á¤º¸, º§¼Ò¸®, ij¸¯ÅÍ, ¹®ÀÚ¸Þ¼¼Áö - ¾ßÈÄ! ¸ð¹ÙÀÏ (http://kr.mobile.yahoo.com)
> ´ëÇѹα¹ ºí·Î±×°¡ ¸ðÀÎ °÷! - ¾ßÈÄ! ÇÇÇøµ(http://kr.ring.yahoo.com)
> _______________________________________________
> Zope-DB mailing list
> Zope-DB@zope.org
> http://mail.zope.org/mailman/listinfo/zope-db
>


--
Greg Fischer
1st Byte Solutions
http://www.1stbyte.com