2016-04-26 56 views
1

我正在驗證使用PHP(非常非常基本的形式)的表單,並想知道是否有解決方案不會得到這個錯誤注意:未定義的索引:sendMethod in/directory/... on line 26 這裏是我的代碼,我有我的方式:在單選按鈕上的PHP錯誤通知

<form name="myForm" id="userDetails" action="formProcess.php" onSubmit="return validateForm()" method="post"> 
 
    <fieldset class="custInf"> 
 
    <h3> User Details </h3> 
 
    <label class="inputArea" for="fName">Forename :</label> 
 
    <input type="text" name="forename" id="fname" placeholder="Enter First Name" maxlength="20" size="15"> 
 
    </input> 
 
    <label class="inputArea" for="sName">Surname :</label> 
 
    <input type="text" name="surname" id="surname" placeholder="Enter Last Name" maxlength="20" size="15"> 
 
    </input> 
 
    <label class="inputArea" for="email">Email :</label> 
 
    <input type="email" name="email" id="email" placeholder="Enter Email Address" maxlength="40" size="15" /> 
 
    </input> 
 
    <label class="inputArea" for="hmph">Landline number :</label> 
 
    <input type="tel" name="landLineTelNo" id="hmphone" placeholder="Enter Landline no." maxlength="11" size="15"> 
 
    </input> 
 
    <label class="inputArea" for="mobileTelNo">Mobile number :</label> 
 
    <input type="tel" name="mobileTelNo" id="mobile" placeholder="Enter Mobile no." maxlength="11" size="15"> 
 
    </input> 
 
    <label class="inputArea" for="address">Postal Address :</label> 
 
    <input type="text" name="postalAddress" id="address" placeholder="Enter House no." maxlength="25" size="15"> 
 
    </input> 
 
    </fieldset> 
 
    <fieldset class="contactType"> 
 
    <h3> How would you like to be contacted? </h3> 
 
    <label class="radioBt" for="sms">SMS</label> 
 
    <input id="smsBut" type="radio" name="sendMethod" value="SMS"> 
 
    </input> 
 
    <label class="radioBt" for="email">Email</label> 
 
    <input type="radio" name="sendMethod" value="Email"> 
 
    </input> 
 
    <label class="radioBt" for="post">Post</label> 
 
    <input type="radio" name="sendMethod" value="Post"> 
 
    </input> 
 
    </fieldset> 
 
    <fieldset class="termsCon"> 
 
    <input type="checkbox" name="check" value="check" id="check" />I have read and agree to the Terms and Conditions and Privacy Policy 
 
    </input> 
 
    </fieldset> 
 
    <input class="submitBut" type="submit" name="submitBut" value="Submit" </input> 
 
</form>

$fname = $_REQUEST['forename']; 
if (empty($fname)) { 
die("<p>Enter a first name</p>\n"); 
} 

$surname = $_REQUEST['surname']; 
if (empty($surname)) { 
die("<p>You must enter a surname</p>\n"); 
} 

$email = $_REQUEST['email']; 
if (empty($email)) { 
die("<p>You need to enter an email</p>\n"); 
} 
//Landline not required so wont give error 
$hmphone = isset($_REQUEST['hmph']) ? $_REQUEST['hmph'] : null ; 

$mobile = $_REQUEST['mobileTelNo']; 
if (empty($mobile)) { 
die("<p>Enter a Mobile Number</p>\n"); 
} 

$address = $_REQUEST['postalAddress']; 
if (empty($address)) { 
die("<p>Enter your postal address</p>\n"); 
} 

$sendMethod = $_REQUEST['sendMethod']; 
if (empty($sendMethod)) { 
die("<p>Please choose a contact option</p>\n"); 
} 

$check = $_REQUEST['check']; 
if (empty($check)) { 
die("<p>Please select the Terms and Conditions to continue</p>\n"); 
} 

它的一個非常基本的PHP驗證,我只是希望它不給我一個錯誤提示,直到遍佈字段已被檢查,例如,e rror顯示一旦所有的字段都填寫說「請選擇一個聯繫方式」,但如果我填寫了所有欄位欄的移動設備,我收到錯誤通知

回答

0

以避免通知,請檢查它是否爲empty第一次

if (empty($_REQUEST['sendMethod'])) 
    die("<p>Please choose a contact option</p>\n"); 
else 
    $sendMethod = $_REQUEST['sendMethod']; 
+0

沒關係,以及IM仍然得到一個錯誤,但它是這行代碼的原因 $ sendMethod = $ _POST [ 'sendMethod']; – OliverQueen

+0

錯誤是什麼? –

+0

秒我不知道如何做評論中的代碼副本粘貼東西 – OliverQueen