The web page is supposed to follow this rules:
Every time the form is submitted:
- If the activity name is empty, a warning will be displayed.
- If the activity name that was entered does not exist in the calendar, and the time/hour field is completed, it will be added to the calendar.
- If the name entered already exists in the calendar and a new time is specified, the previous start time will be replaced.
- If the name of the activity that is entered already exists in the calendar and the start time is not indicated, the entry corresponding to that activity will be removed from the calendar.
<html>
<body>
<h1> Schedule/Calendar </h1>
<?php
$arr = array(); // creation of the array
// gets the GET / conditions
if (isset($_GET['Add activity'])) {
if (isset($_GET['activity'])) {
if (array_key_exists($_GET['activity'], $arr)) {
if (isset($_GET['hour'])) {
$arr[$_GET['activity']]=$_GET['hour'];
}
else {
unset ($arr[$_GET['activity']]);
}
}
else {
if (isset($_GET['hour'])) {
$arr[$_GET['activity']]=$_GET['hour'];
}
else {
echo "You didn't introduce an hour";
}
}
}
else {
echo "You didn't introduce an activity";
}
}
// shows the array
foreach ($arr as $clave=>$valor) {
print "- ".$clave.": ".$valor;
print "<br/>";
}
?>
<br />
<h1> New activity </h1>
<!-- Creating the GET / form -->
<form name="input" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<label for="Activity">Activity</label>
<input name="activity" type="text">
<br />
<label for="Hour">Hour</label>
<input name="hour" type="time">
<br />
<input type="submit" value="Add activity" name="Addactivity"/>
</form>
</body>
</html>
The problem is:
- When I enter an activity, it is displayed no matter what
- When I enter an hour, it is displayed no matter what
- The past activity and hour will disappear once I enter a new activity and/or hour
source https://stackoverflow.com/questions/69759085/php-error-with-an-array-and-the-get-request-method
Comments
Post a Comment