• ¿Documento equivocado? Cámbialo gratis
  • Escrito por estudiantes que aprobaron
  • Inmediatamente disponible después del pago
  • Leer en línea o como PDF
Vender
¿Dónde estudias?
Tu idioma
Document preview thumbnail
Vista previa 6 fuera de 35 páginas
Examen

ICT2613 Assignment 3 Due 3 August 2026 |Internet Programming|

Document preview thumbnail
Vista previa 6 fuera de 35 páginas

Comprehensive Study Material; Expert Verified & Exam-Ready This assignment package has been carefully developed to support serious academic preparation. Each solution is thoroughly researched, clearly explained, and backed by credible references giving you not just the answers, but a genuine understanding of the underlying concepts. The material is structured for clarity, making even complex topics approachable without sacrificing depth or accuracy. Whether you're consolidating your knowledge or preparing under time pressure, these resources are designed to help you walk into any exam with confidence.

Vista previa del contenido

UNIVERSITY OF SOUTH AFRICA
School of Computing


⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄⋄


ICT2613: Internet Programming

Assignment 3 — Year Module, 2026

⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄⋄




ICT2613
Module Code:
Internet Programming
Module Name:
Assignment 3
Assignment Number:
03 August 2026
Due Date:
135
Total Marks:




Submitted in partial fulfilment of the require-
ments for Internet Programming — UNISA 2026

, UNISA | ICT2613 Assignment 3 — Internet Programming



Task 1: Learner Extracurricular Registration Form

File: task1.php Chapter: 7 Marks: 25


1.1 What does Task 1 require?


Task 1 requires building a PHP web form that collects learner registration data for extracurric-
ular activities, validates that all required fields are completed, and then displays a formatted
registration summary with a calculated total cost.


1.2 What files are involved?


Two files are needed: task1.php (the form and processing logic) and task1.txt (the plain-
text version of the PHP code displayed in an iframe at the bottom of the page). The shared
navigation menu is included via menu.inc.


1.3 What is the complete PHP solution?


The solution below covers the full form structure (GET method), server-side validation, and
the formatted output paragraph with cost calculation.

1 <? php include ’ menu . inc ’; ? >
2 <! DOCTYPE html >
3 < html lang = " en " >
4 < head >
5 < meta charset = " UTF -8 " >
6 < title > Task 1 - Learner Registration </ title >
7 < style >
8 body { font - family : Arial , sans - serif ; margin : 30 px ; }
9 h1 { color : # 003366; }
10 label { display : block ; margin - top : 10 px ; font - weight : bold ; }
11 . error { color : red ; font - weight : bold ; }
12 . result { background : # eef6ff ; border - left : 4 px solid #003366;
13 padding : 14 px ; margin - top : 20 px ; border - radius : 4 px ; }
14 iframe { display : block ; margin : 30 px auto ; }
15 </ style >
16 </ head >
17 < body >


Page 2 of 35

, UNISA | ICT2613 Assignment 3 — Internet Programming



18 <h1 > Task 1: Extracurricular Activity Registration </ h1 >
19


20 <? php
21 // / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Task 1 - Form Processing
// // // /// // // /// //
22


23 // Define activities : name = > cost (0 = free )
24 $activities = [
25 ’ Soccer ’ => 0,
26 ’ Netball ’ => 0,
27 ’ Choir ’ => 0,
28 ’ Chess ’ = > 150 ,
29 ’ Pottery ’ = > 200 ,
30 ’ Golf ’ = > 350 ,
31 ];
32


33 $error = ’ ’;
34 $success = false ;
35

36 // Only process when form is submitted
37 if ( isset ( $_GET [ ’ submitted ’ ]) ) {
38 $name = trim ( $_GET [ ’ learner_name ’] ?? ’ ’) ;
39 $grade = $_GET [ ’ grade ’] ?? ’ ’;
40 $chosen = $_GET [ ’ activities ’] ?? [];
41


42 // Validation
43 if ( empty ( $name ) ) {
44 $error = ’ Please enter the learner \ ’ s full name . ’;
45 } elseif ( empty ( $grade ) ) {
46 $error = ’ Please select a grade . ’;
47 } elseif ( count ( $chosen ) < 2) {
48 $error = ’ Please select at least two extracurricular activities . ’
;
49 } else {
50 $success = true ;
51 }
52


53 if ( $success ) {
54 // Calculate total cost


Page 3 of 35

, UNISA | ICT2613 Assignment 3 — Internet Programming



55 $total = 0;
56 foreach ( $chosen as $act ) {
57 if ( array_key_exists ( $act , $activities ) ) {
58 $total += $activities [ $act ];
59 }
60 }
61

62 // Display registration summary
63 echo ’ < div class =" result " > ’;
64 echo ’ <h2 > Registration Confirmation </ h2 > ’;
65 echo ’ <p > < strong > Learner Name : </ strong > ’ . htmlspecialchars (
$name ) . ’ </p > ’;
66 echo ’ <p > < strong > Grade : </ strong > ’ . htmlspecialchars ( $grade ) . ’
</p > ’;
67 echo ’ <p > < strong > Registered Activities : </ strong > </p > < ul > ’;
68 foreach ( $chosen as $act ) {
69 $cost = $activities [ $act ] > 0
70 ? ’R ’ . $activities [ $act ] . ’/ term ’
71 : ’ Free ’;
72 echo ’ <li > ’ . htmlspecialchars ( $act ) . ’ ( ’ . $cost . ’) </ li > ’;
73 }
74 echo ’ </ ul > ’;
75 echo ’ <p > < strong > Total Amount Payable per Term : </ strong > R ’ .
$total . ’ </p > ’;
76 echo ’ </ div > ’;
77 }
78

79 if ( $error ) {
80 echo ’ <p class =" error " > Form Incomplete : ’ . htmlspecialchars (
$error ) . ’ </p > ’;
81 }
82 }
83 ?>
84


85 <! - - Registration Form ( GET method ) -->
86 < form method = " get " action = " task1 . php " >
87 < input type = " hidden " name = " submitted " value = " 1 " >
88


89 < label for = " learner_name " > Full Name of Learner : </ label >


Page 4 of 35

, UNISA | ICT2613 Assignment 3 — Internet Programming



90 < input type = " text " id = " learner_name " name = " learner_name "
91 value = " <? php echo htmlspecialchars ( $_GET [ ’ learner_name ’] ??
’ ’) ; ? > "
92 size = " 40 " >
93


94 < label for = " grade " > Grade : </ label >
95 < select id = " grade " name = " grade " >
96 < option value = " " >-- Select Grade - - </ option >
97 <? php for ( $g = 1; $g <= 7; $g ++) : ? >
98 < option value = " Grade <? php echo $g ; ? > "
99 <? php echo (( $_GET [ ’ grade ’] ?? ’ ’) === " Grade $g " ) ? ’
selected ’ : ’ ’; ? > >
100 Grade <? php echo $g ; ? >
101 </ option >
102 <? php endfor ; ? >
103 </ select >
104


105 < label > Extracurricular Activities ( select at least 2) : </ label >
106 <? php foreach ( $activities as $name = > $cost ) : ? >
107 <? php
108 $label = $cost > 0 ? " $name ( R$cost / term ) " : " $name ( Free ) " ;
109 $checked = in_array ( $name , $_GET [ ’ activities ’] ?? []) ? ’
checked ’ : ’ ’;
110 ?>
111 < label style = " font - weight : normal ; " >
112 < input type = " checkbox " name = " activities [] "
113 value = " <? php echo $name ; ? > " <? php echo $checked ; ? > >
114 <? php echo $label ; ? >
115 </ label >
116 <? php endforeach ; ? >
117

118 <br >
119 < button type = " submit " > Register Learner </ button >
120 </ form >
121

122 <! - - Code display iframe ( required by assignment ) -->
123 < iframe src = " task1 . txt " height = " 400 " width = " 1200 " >
124 Your browser does not support iframes .
125 </ iframe >


Page 5 of 35

, UNISA | ICT2613 Assignment 3 — Internet Programming



126


127 </ body >
128 </ html >

Listing 1: task1.php — Extracurricular Registration Form



1.4 How does the validation logic work?


The form uses the HTTP GET method so all submitted values appear in the $_GET super-
global. Three conditions are checked before displaying results:


1. The learner_name field must not be empty after trimming whitespace.
2. The grade dropdown must have a selection other than the placeholder.
3. The activities checkbox array must contain at least two elements.


If any condition fails, an error message is shown. If all pass, the registration summary is
echoed using a loop that also accumulates the total payable amount.

Implementation Insight
Free vs Paid Activities: The $activities associative array stores each activity
name as a key and its per-term cost as the value. A cost of zero represents a free activ-
ity. This makes adding or removing activities straightforward because only the array
definition needs updating.



1.5 What does menu.inc contain?

1 < nav style = " background :#003366; padding :10 px ; text - align : center ; " >
2 <a href = " index . php " style = " color :# fff ; margin :0 12 px ; " > Home </ a > |
3 <a href = " task1 . php " style = " color :# fff ; margin :0 12 px ; " > Task 1 </ a > |
4 <a href = " task2 . php " style = " color :# fff ; margin :0 12 px ; " > Task 2 </ a > |
5 <a href = " task3 . php " style = " color :# fff ; margin :0 12 px ; " > Task 3 </ a > |
6 <a href = " task4 . php " style = " color :# fff ; margin :0 12 px ; " > Task 4 </ a >
7 </ nav >

Listing 2: menu.inc — Horizontal navigation menu




Page 6 of 35

Libro relacionado
 image
Anuradha A. Puntambekar Internet Programming
Editorial: 2020 ISBN: 9789333223805 Edición: Desconocido

Información del documento

Subido en
19 de mayo de 2026
Número de páginas
35
Escrito en
2025/2026
Tipo
Examen
Contiene
Preguntas y respuestas
$4.91

¿Documento equivocado? Cámbialo gratis Dentro de los 14 días posteriores a la compra y antes de descargarlo, puedes elegir otro documento. Puedes gastar el importe de nuevo.
Escrito por estudiantes que aprobaron
Inmediatamente disponible después del pago
Leer en línea o como PDF

Seller avatar
Los indicadores de reputación están sujetos a la cantidad de artículos vendidos por una tarifa y las reseñas que ha recibido por esos documentos. Hay tres niveles: Bronce, Plata y Oro. Cuanto mayor reputación, más podrás confiar en la calidad del trabajo del vendedor.
BeeNotes
4.1
(40)
Vendido
352
Seguidores
0
Artículos
1012
Última venta
1 semana hace



Por qué los estudiantes eligen Stuvia

Creado por compañeros estudiantes, verificado por reseñas

Calidad en la que puedes confiar: escrito por estudiantes que aprobaron y evaluado por otros que han usado estos resúmenes.

¿No estás satisfecho? Elige otro documento

¡No te preocupes! Puedes elegir directamente otro documento que se ajuste mejor a lo que buscas.

Paga como quieras, empieza a estudiar al instante

Sin suscripción, sin compromisos. Paga como estés acostumbrado con tarjeta de crédito y descarga tu documento PDF inmediatamente.

Student with book image

“Comprado, descargado y aprobado. Así de fácil puede ser.”

Alisha Student

Preguntas frecuentes