You are here: Re: [PHP] Refresh (F5) adds another SQL record. « PHP « IT news, forums, messages
Re: [PHP] Refresh (F5) adds another SQL record.

Posted by "Satyam" on 10/20/94 11:16

I did something pretty similar to this but not with an MD5 hash. I used a
table which had just two fields, one autoincrement and another one a
boolean. When doing a form, I added one record to this table and the ID I
got from it is the one I sent in the form, the other field served to
indicate that the ID had been used, as you mention. Later on I read about
redirecting out of the update page, as Marek Kilimajer replied above and
never bothered to do it again.

Satyam


"Richard Lynch" <ceo@l-i-e.com> wrote in message
news:36963.67.184.124.249.1116394794.squirrel@www.l-i-e.com...
> On Tue, May 17, 2005 2:24 pm, Robert Meyer said:
>> Hello,
>>
>> Scenario:
>> 1) User is presented a blank form.
>
> with an MD5 hash which is stored in the database as "fresh"
>
>> 2) User fills in form.
>> 3) User submits form.
>> 4) Record is added to database.
>
> That particular MD5 has is marked as "used"
>
>> 5) Back to 1).
>> All is fine to here.
>> 6) User clicks refresh.
>> 7) Another record is added, same data except auto-increment field.
>> How do I prevent these last two steps, or at least prevent a record
>> from being added when refresh is clicked?
>
> The used MD5 hash tells you they are re-submitting the exact same form.
>
> Now, if the real problem is that the user has a fresh new form, and fills
> in the same data again by hand, then there are only two possibilities:
>
> 1. In the real world, they actually NEED two of the "same" thing in the
> database, and your application should allow it.
>
> 2. In the real world, users are likely to lose track of where they are in
> their data entry, and you need to provide them the context to help avoid
> that. When you go back to 1) present a message like "added blah blah blah"
> at the top of the screen. Now they *KNOW* they just did blah blah blah,
> and can move on to blah blah bleh. Data entry is a sucky job. Make it
> nicer for them, eh? You STILL need to code for the dual entry, and do
> something intelligent when they mess up, but you can improve efficiency
> and decrease errors (where 2 not-quite-the-same-but-really-are-the-same
> entries pass your tests) if you make your application nicer to the user.
>
> --
> Like Music?
> http://l-i-e.com/artists.htm

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация