RE: [PHP] Talkback or community type participation.....

2001-12-22 Thread Warren Vail

Deron,

By doing a Post to itself, this form will cause an error everytime someone
clicks the Back button on the browser (after the first post, of course).

What I do is have two forms, first invoked with a get via hot link or
redirect.

Form_1.php checks to see if variable $s has been passed (in the URL, of
course), if not it initializes and displays the form.  The Form action on
this displayed form indicates to Post to Form_2.php.

Form_2.php displays nothing, just processes variables on the form.  This one
would insert the row, and to avoid thread problems (multiple simultaneous
inserts, from multiple users) has a unique autoincrement variable as the
primary key to the table (MySQL will make the insert thread safe).  When
the insert is successful this routine redirects the browser back to form_1
like so;

Header(Location: Form_1.php?s=$insertid);
Exit;

When control is passed to Form_1.php again, this time the variable $s is set
and the row is retrieved from the table (instead of using initialization
values) and displayed in the form giving confirmation of the updates that
were done.

Because Form_2 redirects to Form_1, Form_1 is the only one on the browser
history list(each separate instance is tracked, of course), and it is always
entered via a Get, meaning that the browser does include the passed variable
values in the history list (it doesn't do this with a Post). And the Back
button works.  In the Post error you are working toward, the browser
complains that it does not have a record of the Post variable values (the
Data Has Expired).

There may be other ways to deal with this, but this is one way that I have
found that works.

Good Luck,

Warren Vail

-Original Message-
From:   Deron [mailto:[EMAIL PROTECTED]]
Sent:   Friday, December 21, 2001 11:38 PM
To: [EMAIL PROTECTED]
Subject:[PHP] Talkback or community type participation.

Hi there!

I have this script I just made based on a tutorial I found online and was
wondering if there was a better way to do this or not. Everything works
great so far except for a couple little things. Once the $submit is clicked
and runs the INSERT data into the table... I am looking to be able to have
the page auto refresh and display the new entry as well as the form again.
Here's my current code: (I have this built into the main review page via an
include. The entire page can be viewed here:

http://www.metalages.com/2002/reviews/reviews-test.php?band=Evergreyalbum=I
n%20Search%20of%20Truth

Feel free to post a dummy message, nothing is live yet, all in test mode :)

you'll notice once the entry is submitted also, if you try to refresh the
page it wants to readd the data again. any help or guidance appreciated, I
am a self professed still learning this stuff! kinda guy.


?php

  if ($submit) {

  // Process Form

  $DBconn = mysql_connect(localhost, user, pass);
  mysql_select_db(databasename, $DBconn);
  if (!$DBconn) {
echo( pUnable to connect to the  .
   database server at this time./p );
 exit();
  }

$sql = INSERT INTO talkback (band_id, album_id,
talkback_name,talkback_email,talkback_comments) VALUES
('$currentid[0]','$currentid[1]','$talkback_name','$talkback_email','$talkba
ck_comments');
$result = mysql_query($sql);
echo Thank you! Information entered.\n;
  } else {

  // display form

?

  form method=post action=?php echo $PHP_SELF . ?band=$band .
album=$album?
  div align=centerbName/Nickname:/bbr
input type=Text name=talkback_namebr
bEmail (optional):/bbr
input type=Text name=talkback_emailbr
bComments:/bbr
textarea name=talkback_comments cols=50 rows=5/textarea
br
input type=Submit name=submit value=Speak Your Metal!
  /div
/form

  ?php

} // end if

?


Deron
www.metalages.com



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP] Talkback or community type participation.....

2001-12-21 Thread Deron

Hi there!

I have this script I just made based on a tutorial I found online and was
wondering if there was a better way to do this or not. Everything works
great so far except for a couple little things. Once the $submit is clicked
and runs the INSERT data into the table... I am looking to be able to have
the page auto refresh and display the new entry as well as the form again.
Here's my current code: (I have this built into the main review page via an
include. The entire page can be viewed here:

http://www.metalages.com/2002/reviews/reviews-test.php?band=Evergreyalbum=I
n%20Search%20of%20Truth

Feel free to post a dummy message, nothing is live yet, all in test mode :)

you'll notice once the entry is submitted also, if you try to refresh the
page it wants to readd the data again. any help or guidance appreciated, I
am a self professed still learning this stuff! kinda guy.


?php

  if ($submit) {

  // Process Form

  $DBconn = mysql_connect(localhost, user, pass);
  mysql_select_db(databasename, $DBconn);
  if (!$DBconn) {
echo( pUnable to connect to the  .
   database server at this time./p );
 exit();
  }

$sql = INSERT INTO talkback (band_id, album_id,
talkback_name,talkback_email,talkback_comments) VALUES
('$currentid[0]','$currentid[1]','$talkback_name','$talkback_email','$talkba
ck_comments');
$result = mysql_query($sql);
echo Thank you! Information entered.\n;
  } else {

  // display form

?

  form method=post action=?php echo $PHP_SELF . ?band=$band .
album=$album?
  div align=centerbName/Nickname:/bbr
input type=Text name=talkback_namebr
bEmail (optional):/bbr
input type=Text name=talkback_emailbr
bComments:/bbr
textarea name=talkback_comments cols=50 rows=5/textarea
br
input type=Submit name=submit value=Speak Your Metal!
  /div
/form

  ?php

} // end if

?


Deron
www.metalages.com



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]