0

To get right to the point, I'm a college student studying Web Development. So I was tasked with an assignment to create a form asking for information from a user and basically just use PHP to pass the data around and determine if the data is actually filled out. Long story short, I have decided to store my data in a SESSION just to give my self more practice, but every time I try to echo out a SESSION variable I get an undefined variable notice. I've been researching for hours and just can't seem to find the issue. All I have really found is to make sure SESSION is capitalized and that start_session() is at the top of each document. Please help!

index.php

    <?php require('functions.php'); ?>

<!DOCTYPE html>
  <html>

  <head>
    <title>Form Assignment</title>

    <link rel="stylesheet" type="text/css" href="style.css" />

  </head>

  <body>
    <div id="form">

    <form action="form-submit.php" method="POST">
      <label for="name">Name:</label><br>
      <input name="name" type="text" ><br>

      <label for="email">Email:</label><br>
      <input name="email" type="email"><br>

      <label for="phone">Phone #:</label><br>
      <input name="phone" type="tel"><br>

      <label for="address">Address:</label><br>
      <input name="address" type="text"><br>

      <label for="city">City:</label><br>
      <input name="city" type="text"><br>

      <label for="state">State:</label><br>
      <select name="state">
        <option value="AL">Alabama</option>
        <option value="AK">Alaska</option>
        <option value="AZ">Arizona</option>
        <option value="AR">Arkansas</option>
        <option value="CA">California</option>
        <option value="CO">Colorado</option>
        <option value="CT">Connecticut</option>
        <option value="DE">Delaware</option>
        <option value="DC">District of Columbia</option>
        <option value="FL">Florida</option>
        <option value="GA">Georgia</option>
        <option value="HI">Hawaii</option>
        <option value="ID">Idaho</option>
        <option value="IL">Illinois</option>
        <option value="IN">Indiana</option>
        <option value="IA">Iowa</option>
        <option value="KS">Kansas</option>
        <option value="KY">Kentucky</option>
        <option value="LA">Louisiana</option>
        <option value="ME">Maine</option>
        <option value="MD">Maryland</option>
        <option value="MA">Massachusetts</option>
        <option value="MI">Michigan</option>
        <option value="MN">Minnesota</option>
        <option value="MS">Mississippi</option>
        <option value="MO">Missouri</option>
        <option value="MT">Montana</option>
        <option value="NE">Nebraska</option>
        <option value="NV">Nevada</option>
        <option value="NH">New Hampshire</option>
        <option value="NJ">New Jersey</option>
        <option value="NM">New Mexico</option>
        <option value="NY">New York</option>
        <option value="NC">North Carolina</option>
        <option value="ND">North Dakota</option>
        <option value="OH">Ohio</option>
        <option value="OK">Oklahoma</option>
        <option value="OR">Oregon</option>
        <option value="PA">Pennsylvania</option>
        <option value="RI">Rhode Island</option>
        <option value="SC">South Carolina</option>
        <option value="SD">South Dakota</option>
        <option value="TN">Tennessee</option>
        <option value="TX">Texas</option>
        <option value="UT">Utah</option>
        <option value="VT">Vermont</option>
        <option value="VA">Virginia</option>
        <option value="WA">Washington</option>
        <option value="WV">West Virginia</option>
        <option value="WI">Wisconsin</option>
        <option value="WY">Wyoming</option>
      </select>
      <br>
      <label for="zipcode">Zip Code:</label><br>
      <input name="zipcode" type="text"><br>

      <label for="message">Message:</label><br>
      <textarea name="message" cols="30" rows="5"></textarea>
      <br>
      <input type="submit" name="submit" value="submit">
    </form>
    </div>
  </body>
</html>

form-submit.php

    <?php require('functions.php');


  if (isset($_POST['submit'])) {
    $_SESSION['name'] = $_POST['name'];
    $_SESSION['email'] = $_POST['email'];
    $_SESSION['phone'] = $_POST['phone'];
    $_SESSION['address'] = $_POST['address'];
    $_SESSION['city'] = $_POST['city'];
    $_SESSION['state'] = $_POST['state'];
    $_SESSION['zipcode'] = $_POST['zipcode'];
    $_SESSION['message'] = $_POST['message'];

    echo $SESSION["email"];
  }

  else { //Redirects user to form
    header('Location: index.php');
    exit;

  }

 ?>

functions.php

<?php
session_start();
  //Check for an active session
  if (isset($_COOKIE['PHPSESSID'])) {

//    $_SESSION['user'] = null;

  }
  else {

    //Do nothing

  }

 ?>
Shapi
  • 5,493
  • 4
  • 28
  • 39

1 Answers1

2

You forgot the _ in your echo.

$_SESSION["email"];
Darren
  • 13,050
  • 4
  • 41
  • 79
Justice
  • 290
  • 2
  • 7