11. Write a PHP code to perform server-side validation. (Check for empty, alphabets, numbers, email and password length validation)
<!doctype html> <html> <head> <title>Year : 2017 | Q : 11</title> </head> <body> <?php function validate($n,$a,$e,$p) { //Checking for empty spaces if($n==''||$a==''||$e==''||$p==''){ echo 'Empty spaces not permitted'; return false; } //Checking for numbers $regN = "/^[A-Z]+[A-z\s]+[a-z]$/m"; if(!preg_match($regN,$n)) { echo "Invalid name"; return false; } //Age $regA = '/^[\d][\d]{0,2}$/m'; if(!preg_match($regA,$a)) { echo "Invalid age"; return false; } //email if(!filter_var($e,FILTER_VALIDATE_EMAIL)) { echo "Invalid email"; return false; } //password $regpw = '/.{7,15}/';//7 to 15 characters if(!preg_match($regpw,$p)) { echo "Password must be 7 to 15 characters long."; return false; } return true; } if(isset($_POST['sub'])) { if(validate($_POST['nm'],$_POST['age'],$_POST['email'],$_POST['pw'])) die("Data submitted Succesfully"); } ?> <form method = 'post'> Name : <input type = 'text' name = 'nm'><br> Age : <input type = 'text' name = 'age'><br> E-mail: <input type = 'text' name = 'email'><br> Password: <input type = 'text' name = 'pw'><br> <input type = 'submit' name = 'sub' value = 'Submit data'> </form> </body> </html>
12. Write a function to calculate the sum of all even numbers that occur between given two integers passed as parameters.
<!doctype html> <html> <head> <title>Year : 2017 | Q : 12</title> </head> <body> <form method = "post"> Number 1: <input type = 'number' name = 'n1' required><br> Number 2: <input type = 'number' name = 'n2' required><br> <input type = 'submit' name = 'cal' value = 'Calculate the sum of all the even numbers that occurs between them'> </form> <?php function sum($n1,$n2) { $s = 0; $a = ($n1>$n2)?$n1:$n2; $b = ($n1<$n2)?$n1:$n2; for($i=$b;$i<=$a;$i++) { if($i%2==0) $s+=$i; } return $s; } if(isset($_POST['cal'])) { echo "Sum of all the even numbers between the given two integers is: ".sum($_POST['n1'],$_POST['n2']); } ?> </body> </html>
13. Create an array that contains your name, address, age, gender. Then write the array to the file name “profile.csv”.
<!doctype html> <html> <head> <title>Year : 2017 | Q : 13</title> </head> <body> <?php $arr = array('ABC','HTD',20,"Male"); //name, address, age, gender $f = fopen("profile.csv","w"); if(fputcsv($f,$arr)) echo("Data written in file successfully."); else echo("Error in writing the data."); fclose($f); ?> </body> </html>
14. Create a login system, make your own assumptions about the database, authorize the login credentials.
<!doctype html> <html> <head> <title>Year : 2017 | Q : 14</title> </head> <body> <?php /* Database name : 'test' Table name : 'account' Column names : 'username', 'password' */ if(isset($_POST['log'])) { $C = mysqli_connect('localhost','root','','test') or die("Error while connecting to the database"); $un = $_POST['un']; $pw = $_POST['pw']; $code = "SELECT * FROM account WHERE username = '$un' AND password = '$pw'"; $R = mysqli_query($C,$code); $chk = false; while(mysqli_fetch_array($R)) $chk = true; if($chk) die("Welcome ".$un); else echo "Invalid username or password."; } ?> <form method = 'post'> Username: <input type = 'text' name = 'un'><br> Password: <input type = 'password' name = 'pw'><br> <input type = 'submit' value = 'Login' name = 'log'> </form> </body> </html>
15. Write a PHP function to find the difference between two dates in PHP.
<!doctype html> <html> <head> <title>Year : 2017 | Q : 15</title> </head> <body> <form method = 'post'> Date 1 : <input type = 'text' name = 'd1' required><br> Date 2 : <input type = 'text' name = 'd2' required><br> <input type = 'submit' value = 'Calculate difference' name = 'diff'> </form> <?php function diff($d1,$d2) { $d1 = strtotime($d1); $d2 = strtotime($d2); $diff = abs($d1-$d2); return floor($diff/(60*60*24)); } if(isset($_POST['diff'])) { echo "The difference between the given dates is of about ".diff($_POST['d1'],$_POST['d2'])." days."; } ?> </body> </html>
16. Write down the PHP script to display data from a database table to a web page in the following format. Make your own assumption about the database and table name.
ID | Product name | Category | Brand | Size |
<!doctype html> <html> <head> <title>Year : 2017 | Q : 16</title> </head> <body> <?php /* Database name: 'test' Table name: 'temp' Column names: 'ID', 'Product_name', 'Category', 'Brand', 'Size' */ $C = mysqli_connect('localhost','root','','test') or die("Error connecting with the database."); $code = "SELECT * FROM temp"; $R = mysqli_query($C,$code) or die("Error in code"); echo "<table border = '1' cellpadding = '15' cellspacing = '0'>"; echo "<tr> <th>ID</th> <th>Product name</th> <th>Category</th> <th>Brand</th> <th>Size</th> </tr>"; while($res = mysqli_fetch_array($R)) { echo "<tr align = 'center'>"; echo " <td>".$res[0]."</td> "; echo " <td>".$res[1]."</td> "; echo " <td>".$res[2]."</td> "; echo " <td>".$res[3]."</td> "; echo " <td>".$res[4]."</td> "; echo "</tr>"; } echo "</table>"; ?> </body> </html>
17. Create an associative array of size seven, and display the contents in ascending order of the key.
<!doctype html> <html> <head> <title>Year : 2017 | Q : 17</title> </head> <body> <?php $arr = array(3=>'3Apple',1=>'1Ball',34=>'5Cat',9=>'4Dog',78=>'7Elephant',44=>'6Fish',2=>'2Ghost'); echo "<h3>Array:</h3>"; foreach($arr as $key => $val) echo "Key: $key & value: $val<br>"; ksort($arr); /* $index; $inc = 0; foreach($arr as $i => $vi) $index[$inc++] = $i; echo "<br>"; $i=0;$j=0; $n = sizeof($index); while($i<$n) { $j = $i+1; while($j<$n) { if($index[$i]>$index[$j]) { $temp = $index[$i]; $index[$i] = $index[$j]; $index[$j] = $temp; } $j++; }$i++; }$i=0; $temparr = $arr; echo"<br>"; foreach($arr as $key => $value) { $arr[$key] = $temparr[$index[$i]]; //$arr[$index[$i]] = $arr[$key]; //unset($arr[$key]); $i++; } print_r($arr); Values are sorted according to the key, but difficulty in sorting the keys. */ echo "<h3>Sorted array according to key:</h3>"; foreach($arr as $key => $val) echo "Key: $key & value: $val<br>"; ?> </body> </html>