www.webdeveloper.com
Results 1 to 9 of 9

Thread: Fields in form should be remembered

  1. #1
    Join Date
    Sep 2005
    Posts
    1,636

    Question Fields in form should be remembered

    I have code for form:
    PHP Code:
    <form action="<?php echo $PHP_SELF?>" method="post" >
    Problem is if user made mistake and goes back in browser or form shows error message in the same window. I would like that users input is remebered not empty fields if e.g. there is error message. Do you know how to do it? Need help
    Last edited by toplisek; 11-15-2005 at 09:04 AM.

  2. #2
    Join Date
    Jan 2005
    Location
    Alicante (Spain)
    Posts
    7,742
    Here is a function that is E_ALL safe so you don't need to keep repeating code:
    PHP Code:
    <?php
    function sticky($key$type NULL$value NULL)
    {
       if(empty(
    $_POST[$key])) return FALSE;
       if(
    $type != ('radio' or 'checkbox' or 'option')) return $_POST[$key];
       if((
    $type == 'radio') and ($value == $_POST[$key])) return ' checked="checked"';
       if((
    $type == 'checkbox') and (($value == $_POST[$key]) or (is_array($_POST[$key])
       and 
    in_array($value$_POST[$key])))) return ' checked="checked"';
       if((
    $type == 'option') and  ($value == $_POST[$key])) return ' selected="selected"';
       return 
    FALSE;
    }
    ?>

    <?php
    // the following is solely for demonstration purposes
    ?>
    <form action="<?php echo $PHP_SELF?>" method="post">
    <input type="text" name="field1" value="<?php echo sticky('field1'); ?>"><br><br>
    <input type="radio" name="field2" value="yes"<?php echo sticky('field2''radio''yes'); ?>>Yes &nbsp;&nbsp;&nbsp;
    <input type="radio" name="field2" value="no"<?php echo sticky('field2''radio''no'); ?>>No<br><br>
    <input type="checkbox" name="field3[]" value="optionA"<?php echo sticky('field3''checkbox''optionA'); ?>>Option A &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="field3[]" value="optionB"<?php echo sticky('field3''checkbox''optionB'); ?>>Option B<br><br>
    <select name="field4" size="1">
    <option value="A"<?php echo sticky('field4''option''A'); ?>>A</option>
    <option value="B"<?php echo sticky('field4''option''B'); ?>>B</option>
    </select><br><br>
    <input type="submit" name="submit" value="Roll">
    </form>
    Last edited by bokeh; 11-15-2005 at 10:05 AM.

  3. #3
    Join Date
    Sep 2005
    Posts
    1,636

    Question Question regarding FIELD TEXTAREA

    Hi Bokeh,
    your code works perfectly. I have problem just with fileds if they are as following code:
    PHP Code:
    <textarea name="bodycon1" class="inputfield"  rows="10" cols="50" onfocus="activatefield(this);" onblur="deactivatefield(this)"
        value="<?php echo sticky('bodycon1'); ?>"></textarea></TD>
    Do you know how to fix this or I have something wrong in my code?

  4. #4
    Join Date
    Apr 2005
    Location
    Bathurst, NSW, Australia
    Posts
    3,357
    you have something wrong with your code
    PHP Code:
    <textarea name="bodycon1" class="inputfield"  rows="10" cols="50" onfocus="activatefield(this);" onblur="deactivatefield(this)"><?php echo sticky('bodycon1'); ?></textarea></TD>

  5. #5
    Join Date
    Sep 2005
    Posts
    1,636
    Quote Originally Posted by bathurst_guy
    you have something wrong with your code
    PHP Code:
    <textarea name="bodycon1" class="inputfield"  rows="10" cols="50" onfocus="activatefield(this);" onblur="deactivatefield(this)"><?php echo sticky('bodycon1'); ?></textarea></TD>
    It was shown just sample and part of script, because other possibilities work.Textarea will not be remembered. I do not know what is wrong.

    There is wrong </TD>, other is correct and it works.

  6. #6
    Join Date
    Feb 2005
    Location
    Tauranga
    Posts
    2,062
    Quote Originally Posted by toplisek
    It was shown just sample and part of script, because other possibilities work.Textarea will not be remembered. I do not know what is wrong.

    There is wrong </TD>, other is correct and it works.
    Bathurst Guy has fixed it for you

    textareas dont have a "Value" feild. The text to be inserted is like thi
    <textarea>text text</textarea>


    The last code supplied will work for you.

  7. #7
    Join Date
    Jan 2005
    Location
    Alicante (Spain)
    Posts
    7,742
    Well if you actually had taken the time to look at Bathhurst's post you would understand.
    PHP Code:
    <?php ?>

    <textarea><?php echo sticky('bodycon1'); ?></textarea>
    And why are you using tables around form elements.
    Last edited by bokeh; 03-16-2006 at 05:33 AM.

  8. #8
    Join Date
    Apr 2005
    Location
    Bathurst, NSW, Australia
    Posts
    3,357
    Maybe I wasn't clear with my post.
    You asked "Do you know how to fix this or I have something wrong in my code?" So I answered "you have something wrong with your code" and then provided the solution.

  9. #9
    Join Date
    Sep 2005
    Posts
    1,636
    Thank you. Now I understand. I have fixed as bathurst_guy told me. Thanks for all posts.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles