81 lines
2.9 KiB
PHP
81 lines
2.9 KiB
PHP
<?php
|
|
session_start();
|
|
|
|
if (!isset($_SESSION['isStarted'])) {
|
|
$_SESSION['isStarted'] = false;
|
|
}
|
|
?>
|
|
<!doctype html>
|
|
<html lang="pl">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport"
|
|
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
<title>Z84 - Samochód</title>
|
|
<link rel="stylesheet" href="style.css">
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<h1>Zadanie Z84</h1>
|
|
<h2>Autor: Jakub Grzegorczyk</h2>
|
|
</header>
|
|
<div class="box">
|
|
<p>Napisz program, który symuluje auto sterowane za pomocą poleceń konsoli. Program powinien posiadać następujące komendy:</p>
|
|
<ul>
|
|
<li>Start — uruchamia auto</li>
|
|
<li>Stop — zatrzymuje auto</li>
|
|
<li>Koniec — kończy działanie programu</li>
|
|
<li>Pomoc — wyświetla pomoc z opisem poszczególnych komend</li>
|
|
</ul>
|
|
<p>Program powinien umieć reagować na sytuacje wyjątkowe. Ponowne użycie komendy „Start” jeśli auto jest uruchomione wyświetla komunikat w stylu: „przecież już jadę ;)”. W przypadku polecenia „Stop” jeśli samochód już stoi zobaczymy komunikat w stylu „O co chodzi? Przecież stoję???”. W przypadku wydania nieznanej komendy należy wyświetlić komunikat w stylu „Nie znam tej komendy”. Program powinien działać w pętli, aż do wydania komendy „Koniec”.</p>
|
|
</div>
|
|
<div class="box">
|
|
<form action="index.php" method="post">
|
|
<fieldset>
|
|
<label for="a">Wpisz komendę: Start, Stop, Koniec, Pomoc</label>
|
|
<input type="text" name="a" id="a">
|
|
</fieldset>
|
|
<button type="submit">Wyślij</button>
|
|
</form>
|
|
</div>
|
|
<?php
|
|
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
|
$a = strtolower(htmlspecialchars($_POST['a']));
|
|
echo '<div class="box">';
|
|
echo '<b>';
|
|
switch ($a) {
|
|
case 'start':
|
|
if (!$_SESSION['$isStarted']) {
|
|
$_SESSION['$isStarted'] = true;
|
|
echo 'Samochód uruchomiony!';
|
|
} else { echo 'Przecież już jadę :)'; }
|
|
break;
|
|
case 'stop':
|
|
if ($_SESSION['$isStarted']) {
|
|
$_SESSION['$isStarted'] = false;
|
|
echo 'Samochód zatrzymany!';
|
|
} else { echo 'O co chodzi? Przecież stoję???';}
|
|
break;
|
|
case 'pomoc':
|
|
echo 'Dostępne komendy: <br>' .
|
|
'Start - uruchamia auto <br>' .
|
|
'Stop - zatrzymuje auto <br>' .
|
|
'Koniec - kończy działanie programu <br>' .
|
|
'Pomoc - wyświetla tę wiadomość';
|
|
break;
|
|
case 'koniec':
|
|
echo 'Zamykanie programu...';
|
|
session_destroy();
|
|
session_start();
|
|
$_SESSION['isStarted'] = false;
|
|
break;
|
|
default:
|
|
echo 'Nie znam tej komendy';
|
|
}
|
|
echo '</b>';
|
|
}
|
|
?>
|
|
</body>
|
|
</html>
|