mardi 26 avril 2016

PHP error notice on radio button

I am validating a form using PHP (very very basic form) and im wondering if there is a solution to not get this error Notice: Undefined index: sendMethod in /directory/... on line 26 here is my code that i have for my form:

<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");
}   

its a very basic PHP validation, i just want it to not give me a error notice until all over fields have been checked for example, the error shows up once all the fields are filled in saying "Please choose a contact option" but if i fill out all of the fields bar the mobile, i get the error notice




Aucun commentaire:

Enregistrer un commentaire