2015-07-20 4 views
2

У меня есть html-форма, где я хочу, чтобы 3 поля были обязательными. Если пользователь не заполняет ни одно из этих полей, форма не должна быть отправлена, и она должна указать пользователю заполнить обязательную. Я использовал PDO, и я не знаю, как это сделать. Если бы кто-то мог мне помочь. Ниже я дал оба файла html и php.Обязательные поля в форме html с использованием PHP PDO

HTML:

<html> 
<head> 
<title>Data Insertion</title> 
</head> 
<body> 
<p><span class="Error">* required field.</span></p> 
<form method="post" action="su.php"> 
<h2>Please Fill In Details</h2> 
<label for="name">Name </label> 
<input type="text" Placeholder="Enter your name" name="name" id="name" /> 
<span class="Error">*</span> 
<br /> 
<br /> 
<label for="age">Age </label> 
<input type="text" name="age" id="age" placeholder="Enter your age" /> 
<br /> 
<br /> 
<label for="mailid">MailId </label> 
<input type="text" name="mailid" id="mailid" placeholder="Enter your Mail Id" /> 
<span class="Error">*</span> 
<br /> 
<br /> 
<label for="gender">Gender </label> 
<br /> 
<label for="male">Male </label> 
<input type="radio" name="gender" id="gender" value="Male" id="male" /> 
<label for="female">Female </label> 
<input type="radio" name="gender" id="gender" value="Female" id="female" /> 
<br /> 
<br /> 
<label for="qualification">Qualification </label> 
<select name="qualification" value="Qualification" id="qualification"> 
<option value="B.E">SSLC</option> 
<option value="P.G">HSC</option> 
<option value="SSLC">UG</option> 
<option value="HSC">PG</option> 
</select> 
<br /><br /> 
<label for="hobbies">Hobbies </label> 
<br /> 
<input type="checkbox" name="hobbies" id="hobbies" value="Cricket" />Cricket 
<input type="checkbox" name="hobbies" id="hobbies" value="Music" />Music 
<input type="checkbox" name="hobbies" id="hobbies" value="Swimming" />Swimming 
<br /><br /> 
<label for="textarea">Address </label> 
<br /> 
<textarea name="address" id="textarea" rows="15" cols="30"></textarea> 
<span class="Error">*</span> 
<br /><br /> 
<input type="submit" name="submit" value="Submit" /> 
</form> 
</body> 
</html> 

PHP:

<?php 
    $servername = 'localhost'; 
    $username = 'root'; 
    $password = ''; 
    try { 
     $conn = new PDO("mysql:host=$servername;dbname=testing", $username, $password); 
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     if(isset($_POST['submit'])){ 
      $name = $_POST['name']; 
      $age = $_POST['age']; 
      $mailid = $_POST['mailid']; 
      $gender = $_POST['qualification']; 
      $hobbies = $_POST['address']; 
      if($name !='' || $mailid !='' || $address !=''){ 
     $sql = "Insert into user (Name, Age, MailId, Gender, Qualification, Hobbies, Address) 
     values ('".$_POST["name"]."', '".$_POST["age"]."', '".$_POST["mailid"]."', '".$_POST["gender"]."', '".$_POST["qualification"]."', '".$_POST["hobbies"]."', '".$_POST["address"]."')"; 
     $conn->exec($sql); 
     echo "Thank you for registering"; 
      } else { 
       echo "<p>Insertion failed <br/> Please enter the required fields !"; 
      }} 
    } 
catch(PODException $e) 
{ 
    echo $sql . "<br>" . $e->getMessage(); 
} 
?> 
+0

Вы должны для этого используйте javascript. – Jens

+0

даже вы можете использовать требуемое свойство html5. –

+0

Я хочу сделать это с помощью PHP. Не хотите использовать «требуемое свойство». –

ответ

0

Попробуйте добавить атрибут HTML 5 "требуемое" на всех требуемых входных элементов. Например

<input type="text" Placeholder="Enter your name" name="name" id="name" required /> 

Вы должны также проверить переменные POST в коде PHP, хотя, как это на самом деле не предотвратить кто-то злоупотребляет вашим услугам. Ex.

if(!isset($_POST['somevar'])) { 
    // Do insert 
} 
+0

Я уже сделал это с html 5 требуемым свойством. Теперь я сомневаюсь, как это сделать, используя PHP PDO. –

+0

Что вы имеете в виду в PHP или PDO? Я думаю, вы запутываете/делаете все сложнее, чем они. Если вы имеете в виду PDO, вам следует, вероятно, изучить готовые заявления для вашего запроса, так как это намного безопаснее. – soaP

0

В HTML Вы должны использовать JavaScript (например, JQuery) для управления onsubmit события и проверять, если обязательные поля заполнены соответствующими значениями, проверьте эту ссылку: jQuery.submit()

В PHP вы должны проверить и подтвердить каждый вар перед созданием и выполнением запроса. Просто статья об этом здесь: Sanitize and Validate Data with PHP Filters Это было бы хорошо для начала я думаю;) строка

Запрос должен содержать заполнители, а затем заявление должно быть подготовлено к исполнению, проверьте эту ссылку: PDOStatement::bindParam

Смежные вопросы