2015-10-27 82 views
0

爲了說明問題,我是一名大學生,正在學習Web開發。所以我的任務是創建一個表單,要求用戶提供信息,基本上只使用PHP來傳遞數據並確定數據是否實際填寫完畢。長話短說,我決定將我的數據存儲在SESSION中,只是爲了讓我自己更多練習,但每次我嘗試回顯一個SESSION變量時,我都會收到未定義的變量通知。我一直在研究幾個小時,但似乎無法找到問題。我真正發現的是確保SESSION是大寫,而start_session()位於每個文檔的頂部。請幫忙!

的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> 

形式,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 

    } 

?> 

回答

2

你忘了_在你的ECH O操作。

$_SESSION["email"]; 
+1

短而甜,這將是你的問題。 (** OP的注意:** *閱讀你的錯誤信息,它會告訴你一切; - )*) – Darren

+0

現在我覺得自己像個白癡。非常感謝! – user5491517

+0

我們都在那裏,我比任何人都更確信。祝你好運。 – Justice