Witam, mam do napisania skrypt, który będzie czymś na wzór menadżera ciasteczek w php. Użytkownik ma mieć możliwość:
- Dodania nowego ciasteczka (z podaną nazwą, wartością i opcjonalnie datą),
- Wyświetlenie wszystkich ciasteczek,
- Edytowanie ciasteczka (w osobnym oknie),
- Usunięcie ciasteczka,
- Wyszukanie ciasteczka po nazwie lub wartości.
Nie ukrywam, że jest to dla mnie dosyć trudne zadanie. Mam już formularz, dzięki któremu można dodać nowe ciasteczko, lecz nie jestem pewien, czy podawanie daty i czasu przez pole "datatime local" to dobry sposób, ponieważ po przesłaniu wyświetla mi błąd dotyczący header'a. Do tego nie za bardzo wiem jak się zabrać za wyświetlanie i wyszukiwanie ciasteczek. Chciałem po prostu użyć pętli foreach, która wyświetlała by zawartość tablicy $_COOKIE, lecz nie mam pojęcia jak "wyjąć" z takiego ciastka nazwę oraz wartość. Byłbym bardzo wdzięczny, gdyby ktoś choć trochę mógłby pomóc mi w tym zadaniu. Z góry dziękuję. Mój dotychczasowy kod:
<!DOCTYPE html>
<html lang="pl-PL">
<head>
<meta charset="UTF-8">
<title>Ankieta</title>
</head>
<body>
<form action="Zad5.7.2.php" method="post">
<h3>Dodaj nowe ciasteczko:</h3>
Nazwa: <input type="text" name="new_cookie_name"> <br> <br>
Wartość: <input type="text" name="new_cookie_value"> <br> <br>
Data wygaśnięcia (opcjonalnie): <input type="datetime-local" name="new_cookie_expired"> <br> <br>
<input type="submit" name="add_new_cookie" value="Dodaj ciasteczko">
<br> <br>
<input type="submit" name="display_all_cookies" value="Wyświetl wszystkie ciasteczka">
</form>
<?php
if(isset($_POST['add_new_cookie'])){
if (isset($_POST['new_cookie_name']) && isset($_POST['new_cookie_value'])) {
setcookie($_POST['new_cookie_name'], $_POST['new_cookie_value']);
} elseif (isset($_POST['new_cookie_name']) && isset($_POST['new_cookie_value']) && isset($_POST['new_cookie_expired'])) {
$data = strtotime($_POST['new_cookie_expired']);
setcookie($_POST['new_cookie_name'], $_POST['new_cookie_value'], $data);
} else {
echo "<p style='color: red'>Brak danych dla nowego ciasteczka</p>";
}
}
if(isset($_POST['display_all_cookies'])){
foreach ($_COOKIE as $i) {
echo $i . "\n";
}
}
?>
</body>
</html>