Jump to content
Larry Ullman's Book Forums

MelissaMMDP

Members
  • Content Count

    9
  • Joined

  • Last visited

Posts posted by MelissaMMDP


  1. Answered my own question:

       // Validate the gender:
       $gender = $_REQUEST['gender'] ?? NULL;

       if ($gender == 'M') {
             $greeting = '<p><strong>Good day, Sir!</strong></p>';
          } elseif ($gender == 'F') {
            $greeting = '<p><strong>Good day, Madam!</strong></p>';
          } else { // $_POST['gender'] is not set.
            echo '<p class="error">You forgot to select your gender!</p>';
          }


  2. I've been struggling with the following Pursue challenge. I found an eloquent solution in the forum for version 4 but it included a function which will not be discussed until chapter 3.  I just can't find a way to echo a greeting based on gender selection without a nested conditional. I would appreciate help on this.

    Pursue:

    Rewrite the gender conditional in handle_form.php (Script 2.4) as one conditional instead of two nested ones. Hint: You’ll need to use the AND operator. 

    Here is the nested conditional:

       // Validate the gender:
       if (isset($_POST['gender'])) {

          $gender = $_POST['gender'];

          if ($gender == 'M') {
             $greeting = '<p><strong>Good day,
             Sir!</strong></p>';
          } elseif ($gender == 'F') {
             $greeting = '<p><strong>Good day,
             Madam!</strong></p>';
          } else { // Unacceptable value.
             $gender = NULL;
             echo '<p class="error">Gender
             should be either "M" or "F"!
             </p>';
          }

       } else { // $_POST['gender'] is not set.
          $gender = NULL;
          echo '<p class="error">You forgot to
          select your gender!</p>';
       }


  3. On 3/12/2012 at 12:42 PM, margaux said:

    if (isset($_REQUEST['gender']) && (array_key_exists($_REQUEST['gender'], $validGender))) { //the function array_key_exists lets you check if a value is set as a key in your array

    Your solution is eloquent but is this Pursue challenge doable based on what has been learned by the end of Chapter 2? Functions have not been introduced yet. I believe this topic begins in Chapter 3.

    Sorry, just realized this question was for version 4 and not version 5. So, it is possible version 4 already discussed functions. I would still like to find a solution that does not require a function. I have not been able to get it to work using only conditionals, operators and arrays.


  4. I believe I found an error in the digital online copy. It is in Chapter 2 under "Handling an HTML Form". Paragraph 3 reads:

    PHP is case-sensitive when it comes to variable names, so $_REQUEST[‘city’] will work, but $_REQUEST[‘city’] and $_REQUEST[‘city’] will have no value.

    I'm not seeing any difference in the three variable names. I believe this sentence needs to be fixed. 

×
×
  • Create New...