Add exams from exam100 to exam150

This commit is contained in:
2024-05-13 08:50:26 +02:00
parent 4fd956ddac
commit 56492d171c
13 changed files with 366 additions and 0 deletions

26
exam104/example.xml Executable file
View File

@@ -0,0 +1,26 @@
<producers>
<producer>
<name>Alex</name>
<age>21</age>
<show>
<showname>A show</showname>
<showdate>12th December 2010</showdate>
</show>
<show>
<showname>Another show</showname>
<showdate>23th Novembar 2024</showdate>
</show>
</producer>
<producer>
<name>Nikola</name>
<age>16</age>
<show>
<showname>Better show</showname>
<showdate>25th Novembar 2007</showdate>
</show>
</producer>
<producer>
<name>Dale</name>
<age>49</age>
</producer>
</producers>

13
exam104/index.php Normal file
View File

@@ -0,0 +1,13 @@
<?php
//Reading a XML file
$xml = simplexml_load_file('example.xml');
foreach($xml->producer as $producer){
echo $producer->name.' ('. $producer->age .')'. "<br>";
foreach($producer->show as $show){
echo $show->showname. ' ('.$show->showdate.')' .'<br>';
}
}
?>

21
exam110/connect.inc.php Normal file
View File

@@ -0,0 +1,21 @@
<?php
//How to connect to MySQL
$mysql_host = 'localhost';
$mysql_user = 'example_user';
$mysql_pass = 'Kolosnjaj4321!';
$conn_error = 'Could not connect to database!';
$mysql_db = 'example_database';
$con = mysqli_connect($mysql_host, $mysql_user, $mysql_pass);
if ($con) {
if (mysqli_select_db($con, $mysql_db)) {
} else {
die($conn_error);
}
}
?>

40
exam115/index.php Normal file
View File

@@ -0,0 +1,40 @@
<?php
require '/var/www/nikola/practice/exam110/connect.inc.php';
?>
<form action="index.php" method="GET">
Choose a food type:
<select name="uh">
<option value="u">Unhealthy</option>
<option value="h">Healthy</option>
</select><br><br>
<input type="submit" value="Submit">
</form>
<?php
if (isset($_GET['uh']) && !empty($_GET['uh'])) {
$uh = strtolower($_GET['uh']);
if ($uh == 'u' || $uh == 'h') {
$query = "SELECT `food`, `calories` FROM `food` WHERE `healthy_unhealthy` = '$uh' ORDER BY `id` DESC";
if ($query_run = mysqli_query($con, $query)) {
if (mysqli_num_rows($query_run) == NULL) { // Ako je broj redova NULL
echo "No results fount!";
} else {
while ($query_row = mysqli_fetch_assoc($query_run)) {
$food = $query_row['food'];
$calories = $query_row['calories'];
echo $food . ' has ' . $calories . ' calories.<br>';
}
}
} else {
echo 'Query failed.';
}
} else {
echo 'Must be u or h';
}
}

49
exam123/index.php Normal file
View File

@@ -0,0 +1,49 @@
<?php
//Database Hit counter
require '/var/www/nikola/practice/exam110/connect.inc.php';
$user_ip = $_SERVER['REMOTE_ADDR'];
function ip_exists($ip)
{
global $user_ip, $con;
$query = "SELECT ip FROM `hits_ip` WHERE `ip` = '$user_ip' ";
$query_run = mysqli_query($con, $query);
if (mysqli_num_rows($query_run) == 0) {
return false;
} else if (mysqli_num_rows($query_run) >= 1) {
return true;
}
}
function ip_add($ip)
{
global $con;
$query = "INSERT INTO `hits_ip` VALUES ('$ip')";
$query_run = mysqli_query($con, $query);
}
function update_count()
{
global $con;
$query = "SELECT `count` FROM `hits_count` ";
if ($query_run = mysqli_query($con, $query)) {
$row = mysqli_fetch_assoc($query_run);
$count = $row['count'];
$count_inc = $count + 1;
$query_update = "UPDATE `hits_count` SET `count` = '$count_inc'";
$query_update_run = mysqli_query($con, $query_update);
}
}
if (!ip_exists($user_ip)) {
update_count();
ip_add(($user_ip));
}
?>
<h1>My page</h1>

31
exam123/srcphp5.php Normal file
View File

@@ -0,0 +1,31 @@
<?php
//Database Hit counter for php 5.0 doesnt work now, because of new version of php. myslql_result() doesnt exists...
require '/var/www/nikola/practice/exam110/connect.inc.php';
$user_ip = $_SERVER['REMOTE_ADDR'];
function ip_exists($ip)
{
global $user_ip; // Sa global omogucavamo da koristimo vrednost promenljive u funkciji
echo $user_ip;
}
function update_count()
{
global $con;
$query = "SELECT `count` FROM `hits_count` ";
if ($query_run = mysqli_query($con, $query)) {
if (mysqli_num_rows($query_run) > 0) {
// $count = mysql_result($query_run, 0,'count');
// $count_inc = $count + 1;
// $query_update = "UPDATE `hits_count` SET `count` = '$count_inc'";
// if ($query_update_run = mysqli_query($con, $query_update)) {
echo 'OK';
}
}
}
//}
update_count();

32
exam130/index.php Normal file
View File

@@ -0,0 +1,32 @@
<?php
require '/var/www/nikola/practice/exam110/connect.inc.php';
if (isset($_POST['search_name'])) {
$search_name = $_POST['search_name'];
if (!empty($search_name)) {
if (strlen($search_name) >= 4) {
$query = "SELECT `name` FROM `names` WHERE `name` LIKE '%" . mysqli_real_escape_string($con, $search_name) . "%'";
$query_run = mysqli_query($con, $query);
$query_num_rows = mysqli_num_rows($query_run);
if ($query_num_rows >= 1) {
echo $query_num_rows . ' results found: <br>';
while ($query_row = mysqli_fetch_assoc($query_run)) {
echo $query_row['name'] . '<br>';
}
}
} else{
echo 'Your keyword must be 5 caracters or more';
}
}
}
?>
<form action="index.php" method="POST">
Name: <input type="text" name="search_name">
<input type="submit" value="Submit">
</form>

26
exam135/core.inc.php Normal file
View File

@@ -0,0 +1,26 @@
<?php
ob_start();
session_start();
$current_file = $_SERVER['SCRIPT_FILENAME'];
if(isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER'])){
$http_referer = $_SERVER['HTTP_REFERER'];
}
function loggedin(){
if (isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])) {
return true;
} else {
return false;
}
}
function getuserfield($field){
global $con;
$query = "SELECT `$field` FROM `users` WHERE `id`= '" . $_SESSION['user_id']. "'";
if($query_run = mysqli_query($con,$query)){
$row = mysqli_fetch_assoc($query_run);
return $field = $row[$field];
}
}
?>

13
exam135/index.php Normal file
View File

@@ -0,0 +1,13 @@
<?php
require '/var/www/nikola/practice/exam110/connect.inc.php';
require 'core.inc.php';
if (loggedin()) {
$firstname = getuserfield('firstname');
$surname = getuserfield('surname');
echo ' You are logged in '. $firstname. ' '.$surname.' <a href="logout.php">Log out</a><br>';
} else {
include 'loginform.inc.php';
}
?>

37
exam135/loginform.inc.php Normal file
View File

@@ -0,0 +1,37 @@
<?php
if (isset($_POST['username']) && isset($_POST['password'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$password_hash = md5($password);
if (!empty($username) && !empty($password)) {
$query = "SELECT `id` FROM `users` WHERE `username` ='" . mysqli_real_escape_string($con, $username) .
"' AND `password` = '" .mysqli_real_escape_string($con, $password_hash )."'";
if ($query_run = mysqli_query($con, $query)) {
$query_num_rows = mysqli_num_rows($query_run);
if ($query_num_rows == 0) {
echo 'invalid username/password combination';
} else if ($query_num_rows == 1) {
//treba nam $user_id
$row = mysqli_fetch_assoc($query_run);
$user_id = $row['id'];
$_SESSION['user_id'] = $user_id;
header('Location: index.php');
}
} else {
}
} else {
echo 'You must suply username or password';
}
}
?>
<form action="<?php $current_file; ?>" method="POST">
Username: <input type="text" name="username"> Password: <input type="password" name="password">
<input type="submit" value="Submit">
</form>

8
exam135/logout.php Normal file
View File

@@ -0,0 +1,8 @@
<?php
require 'core.inc.php';
session_destroy();
header('Location: '. $http_referer);
?>

69
exam135/register.php Normal file
View File

@@ -0,0 +1,69 @@
<?php
require '/var/www/nikola/practice/exam110/connect.inc.php';
require 'core.inc.php';
// Nece da doda id !!! to pogledaj u ponedeljak
if (!loggedin()) {
if (
isset($_POST['username']) && isset($_POST['password']) && isset($_POST['password_again']) &&
isset($_POST['firstname']) && isset($_POST['surname'])
) {
$username = $_POST['username'];
$password = $_POST['password'];
$password_again = $_POST['password_again'];
$password_hash = md5($password);
$firstname = $_POST['firstname'];
$surname = $_POST['surname'];
if (
!empty($username) && !empty($password) && !empty($password_again) &&
!empty($firstname) && !empty($surname)
) {
if(strlen($username) > 30 || strlen($firstname) > 40 || strlen($surname) > 40){
echo 'Please ahear to maxlength of fields';
}else{
if ($password != $password_again) {
echo 'Passwords do not match';
} else {
$query = "SELECT `username` FROM `users` WHERE `username` ='$username'";
$query_run = mysqli_query($con, $query);
if (mysqli_num_rows($query_run) == 1) {
echo 'The username ' . $username . 'already exists';
} else {
$query = "INSERT INTO `users` VALUES(NULL ,'" . mysqli_real_escape_string($con, $username) .
"','" . mysqli_real_escape_string($con, $password_hash) . "','" . mysqli_real_escape_string($con, $firstname) .
"','" . mysqli_real_escape_string($con, $surname) . "')";
if($query_run = mysqli_query($con,$query)){
header('Location: register_success.php');
} else {
echo 'We could not register you!';
}
}
}
}
} else {
echo 'All fields are required';
}
}
?>
<form action="register.php" method="POST">
Username: <br> <input type="text" name="username" maxlength="30" value="<?php if(isset($username)) {echo $username; } ?>"><br><br>
Password: <br> <input type="password" name="password"><br><br>
Password again: <br> <input type="password" name="password_again"><br><br>
Firstname: <br> <input type="text" name="firstname" maxlength="40" value="<?php if(isset($firstname)) {echo $firstname; } ?>"><br><br>
Surname: <br> <input type="text" name="surname" maxlength="40" value="<?php if(isset($surname)) {echo $surname; } ?>"><br><br>
<input type="submit" value="Register">
</form>
<?php
} else if (loggedin()) {
echo 'You are already registered and logged in !';
}
?>

View File

@@ -0,0 +1 @@
<h1>You are registered ! </h1>