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>

