<?php <?php
$opilased = simplexml_load_file('andmed.xml');
// Otsingufunktsioon, saab otsida õpilasi
function otsingNimeJargi($paring){
global $opilased;
$paringuVastus = array();
foreach($opilased->opilane as $opilane){
// Kontrollitakse, kas õpilase nimi algab antud paringuga
if(substr(strtolower($opilane->nimi), 0, strlen($paring)) ==
strtolower($paring)){
array_push($paringuVastus, $opilane);
}
}
return $paringuVastus;
}
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["uusNimi"])
&& isset($_POST["uusSugu"]) && isset($_POST["uusKoduleht"])) {
// Add a new student to the XML file
$uusOpilane = $opilased->addChild('opilane');
$uusOpilane->addChild('nimi', $_POST["uusNimi"]);
$uusOpilane->addChild('sugu', $_POST["uusSugu"]);
$uusOpilane->addChild('koduleht', $_POST["uusKoduleht"]);
$opilased->asXML('andmed.xml');
// Laeb XML uuesti peale õpilase lisamist
$opilased = simplexml_load_file('andmed.xml');
}
?>
<!doctype html>
<html lang="et">
<head>
<script src="https://code.jquery.com/jquery-3.7.1.min.js"
integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo="
crossorigin="anonymous"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<meta charset="UTF-8">
<link rel="stylesheet" href="styles.css">
<script type="text/javascript">
function punaseks() {
$('h1#ilus').css("color", "red");
}
function mustaks() {
$('h1#ilus').css("color", "black");
}
function liigutus(event, ui) {
var asukoht = ui.offset;
$("#vastusekiht").html(asukoht.top + " " + asukoht.left);
}
function tekstivarv() {
$('h1#ilus').mouseenter(punaseks);
$('h1#ilus').mouseleave(mustaks);
$("#ala").draggable();
$("#ala").bind("drag", liigutus);
}
function naitaPhpKoodi() {
$("#phpKoodi").toggle();
}
function naitaXmlKoodi() {
$("#xmlKoodi").toggle();
}
</script>
<title>Õpilased XML failist</title>
</head>
<body onload="tekstivarv()">
<h2>Kõik õpilased ja kodulehed</h2>
<form method="post" action="?">
<!-- Otsinguvorm, saadetakse POST meetodiga ja suunatakse sama lehele -->
<input type="text" id="otsing" name="otsing" placeholder="Nimi">
<input type="submit" value="Otsi">
</form>
<form method="post" action="?">
<h2>Lisa uus õpilane</h2>
<label for="uusNimi">Nimi:</label>
<input type="text" id="uusNimi" name="uusNimi" required>
<label for="uusSugu">Sugu:</label>
<input type="text" id="uusSugu" name="uusSugu" required>
<label for="uusKoduleht">Koduleht:</label>
<input type="text" id="uusKoduleht" name="uusKoduleht" required>
<input type="submit" value="Lisa uus õpilane">
</form>
<input type="submit" value="Näita php koodi" onclick="naitaPhpKoodi()">
<div id="phpKoodi" style="display:none;">
<pre>
<?php
// Display your PHP code here
highlight_string('<?php ' . implode("\n", file(__FILE__)) . ' ?>');
?>
</pre>
</div>
<input type="submit" value="Näita xml koodi" onclick="naitaXmlKoodi()">
<div id="xmlKoodi" style="display:none;">
<pre>
<?php
// Display your XML code here
$xmlCode = file_get_contents('andmed.xml');
echo htmlspecialchars($xmlCode);
?>
</pre>
</div>
<?php
// Kui otsinguvormi on täidetud
if(!empty($_POST["otsing"])){
// Teostatakse otsingNimeJargi funktsioon antud paringuga
$paringuVastus = otsingNimeJargi($_POST["otsing"]);
echo "<table>
<tr>
<th>Õpilase nimi</th>
<th>Sugu</th>
<th>Koduleht</th>
</tr>";
// Väljastatakse tabelis õpilaste andmed vastavalt otsingule
foreach ($paringuVastus as $opilane){
echo "<tr>";
echo "<td>".$opilane->nimi."</td>";
echo "<td>".$opilane->sugu."</td>";
echo "<td><a href='" . $opilane->koduleht . "'>" . $opilane->koduleht
. "</a></td>";
echo "</tr>";
}
echo "</table>";
} else {
// Kui otsinguvormi ei ole täidetud, väljastatakse kõik õpilased
echo "<table>
<tr>
<th>Õpilase nimi</th>
<th>Sugu</th>
<th>Koduleht</th>
</tr>";
// Väljastatakse tabelis kõik õpilaste andmed
foreach ($opilased->opilane as $opilane){
echo "<tr>";
echo "<td>".$opilane->nimi."</td>";
echo "<td>".$opilane->sugu."</td>";
echo "<td><a href='" . $opilane->koduleht . "'>" . $opilane->koduleht
. "</a></td>";
echo "</tr>";
}
echo "</table>";
}
?>
</body>
</html> ?>
<?xml version="1.0" encoding="utf-8"?>
<!-- Lisame andmed -->
<opilased>
<opilane>
<nimi>Robin</nimi>
<koduleht>https://robinaas22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Kiur</nimi>
<koduleht>https://kiurarbeiter22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Henri</nimi>
<koduleht>https://henrievert22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Kristjan</nimi>
<koduleht>https://kristjanjuht22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Rasmus</nimi>
<koduleht>https://rasmuskasemaa22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Kristo</nimi>
<koduleht>https://markenindreklemming22.thkit.ee/
</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Marken</nimi>
<koduleht>https://sten-patrickmeerits22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Sten</nimi>
<koduleht>https://sten-patrickmeerits22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Artur</nimi>
<koduleht>https://arturmuursepp22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Marcus</nimi>
<koduleht>https://marcusnirgi22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Jan</nimi>
<koduleht>https://jan-kenyonnoukas22.thkit.ee/
</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Karl</nimi>
<koduleht>https://karl-markuspress22.thkit.ee/
</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Ingmar</nimi>
<koduleht>https://ingmarhendrikrohusaar22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Patric</nimi>
<koduleht>https://patricksabul22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Simon</nimi>
<koduleht>https://simonsassian22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Joonas</nimi>
<koduleht>https://joonaskaurtahk22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Dorian</nimi>
<koduleht>https://doriantammeveski22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane>
<nimi>Sandra</nimi>
<koduleht>https://sandraveskimeister22.thkit.ee/</koduleht>
<sugu>Female</sugu>
</opilane>
<opilane>
<nimi>Markus</nimi>
<koduleht>https://markusvali22.thkit.ee/</koduleht>
<sugu>Male</sugu>
</opilane>
<opilane><nimi>ksheksbs</nimi><sugu>hdgs</sugu><koduleht>gshehe</koduleht></opilane><opilane><nimi>test</nimi><sugu>Female</sugu><koduleht>hdhd</koduleht></opilane><opilane><nimi>test</nimi><sugu>Female</sugu><koduleht>hdhd</koduleht></opilane></opilased>