I am not sure I understood you. Here is what I did:
- on the confirmpage I changed the failed redirect from checkout.php to checkout.php?valid=false
- on the checkout page I changed the value for the firstname field
from <?php echo(ValidatedField("confirm","firstname")) ?>
to <?php echo((isset($_GET['valid']))?(ValidatedField("confirm","firstname")):isset($_SESSION['eCartCheckoutForm_firstname'])?$_SESSION['eCartCheckoutForm_firstname']:""); ?>
The result is, that at first when validation fails, the value for firstname gets erased. When all field are filled out correctly, the page is validated, and I use the modify button, I am returned to the checkout page with no value in the firstname field. Then, and this is the odd thing, when validation fails again, the value that I entered the first time in the field firstname is returned. And it doesn't matter if I change the firstname, it always returns the name I entered before the first validation failed. Am I making sense?
In a nutshell, it is not working.