Iets wat ik een tijdje geleden gemaakt had. Een eenvoudige reservatie tracker.
demo: http://www.parhasard.be/tutorials/demo/track-reservations/index.php
HTML
Het eerste deel is een formulier.
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="POST" id="reservations">
<div>
<label for="charactername">Select your name, plz</label>
<br>
<select name="charactername">
<option value=""></option>
<option value="Name1">Name 1</option>
<option value="Name2">Name 2</option>
<option value="Name3">Name 3</option>
</select>
</div>
<br>
<div>
<label for="howmanytickets">How many tickets did you sell?</label>
<br>
<input type="text" name="howmanytickets">
</div>
<input type="submit" name="submit">
</form>
Het 2de deel is een tabel dat de voortgang visualiseert.
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"><h2>Is it party time already?</h2>Maximum # of tickets: 1200<br><em>Total # sold tickets: <?php echo $CountAllSoldTickets; ?></em></td>
</tr>
<tr>
<td width="<?php echo $CountAllSoldTickets / 2; ?>" bgcolor="#FF0000" height="50"></td>
<td width="<?php echo 600-($CountAllSoldTickets / 2); ?>" bgcolor="#336600"></td>
</tr>
</table>
PHP
Een klein beetje security 😉
// Strip unnecessary characters
// Remove backslashes
// Convert special characters to HTML entities
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
// Define variables and set to empty values $character_name = $how_many_tickets = "";
En dan nu de magie:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Sanitize form values $character_name = test_input($_POST["charactername"]); $how_many_tickets = test_input($_POST["howmanytickets"]);
// Write form values to a CSV-file
$fp = fopen('sold_tickets.csv', 'a');
fwrite($fp, time().";");
fwrite($fp, $character_name.";");
fwrite($fp, $how_many_tickets);
fwrite($fp, PHP_EOL);
fclose($fp);
}
// Read CSV-file into an array
$GetCSV = 'sold_tickets.csv';
if (($handle = fopen($GetCSV, "r")) !== FALSE) {
while (($line = fgetcsv($handle, 1000, ";")) !== FALSE) {
$ArrayCSV[] = $line;
}
fclose($handle);
}
// Make the sum of all sold tickets
if (!empty($ArrayCSV)) {
foreach ($ArrayCSV as $value) {
$GetAllSoldTickets[] = $value[2];
}
$CountAllSoldTickets = array_sum($GetAllSoldTickets);
}
Par Hasard
Ik ben 40+, met een gezonde internet verslaving. Gelukkig getrouwd en fiere vader van 2 dochters. Wil een kat in huis, maar mag niet. 🙁
Latest posts by Par Hasard (see all)
- jQuery.ScrollTo werkt niet meer in Chrome - 25 oktober 2017
- Easter egg Google Chrome: T-Rex runner game - 7 augustus 2015
- Hoe input en select form element even breed maken? - 21 mei 2015
