Libby Posted October 25, 2014 Share Posted October 25, 2014 On page 92, Chapter 3, making sticky forms: In this chapter a form is created with PHP used to create a text field for inputting distance. Code then validates the content to make sure it is present and a number. The form remembers what was entered so that if an error is thrown the previous input is still there. The following code is used to remember the distance entered by the user. <?php if (isset($_POST['distance'])) { echo $_POST['distance']; } ?> The book then remarks that this can be condensed onto one line, i.e. <?php if (isset($_POST['distance'])) echo $_POST['distance']; ?> but that doing so is rarely recommended. In the interests of learning best practice I decided to go with the first option of splitting out the if statement. However, I noticed that this causes issues in the resulting form in that the Distance text field contains large number of extra characters which mean that the is_numeric test always fails. This does not happen when using the if statement in a single line. Given that both syntaxes are supposed to perform the same, this is somewhat puzzling and I wondered if anyone else has encountered it or found an explanation? The full field creation is as follows in both syntaxes: <p>Distance (miles): <input type="text" name="distance" value="<?php if (isset($_POST['distance'])) echo $_POST['distance']; ?> "/></p> <p>Distance (miles): <input type="text" name="distance" value=" <?php if (isset($_POST['distance'])) { echo $_POST['distance']; } ?> "/></p> Libby Link to comment Share on other sites More sharing options...
HartleySan Posted October 25, 2014 Share Posted October 25, 2014 Hello and welcome to the forums. You're getting spaces because you have spaces in your HTML before the <?php tag and after the ?> tag. If you remove those spaces, you won't get the extra spaces in the input value. 1 Link to comment Share on other sites More sharing options...
Libby Posted November 8, 2014 Author Share Posted November 8, 2014 That's great. Thank you! Libby Link to comment Share on other sites More sharing options...
Recommended Posts