wjlfernando

Active member
  • Aug 13, 2007
    2,423
    0
    38
    validation

    The first three fields simply identify the student, while the Course Type field asks the
    student to choose the type of degree they are studying. After this is 30 rows of records,
    each recording a unitcode, the credit points that unit is worth (15 or 20), the semester it
    was studied (Semester 2, 2008 would be 082) and the mark received for the unit. The
    reason for 30 fields instead of a maximum of 22 is that a student may not have passed all
    units on the first attempt.

    Your job is to write each of your scripts according to the following business logic;
    All units that have a mark of 50 or higher have their Credit Points added to a grand total,
    this total then being subtracted from the Credit Points required for each of the four listed
    degrees. The total credit points required for each degree is;
    Undergraduate - 360
    Graduate Diploma - 120
    Masters by Coursework - 180
    Masters by Research - 240
    Thus, if a student fills in 10 rows on the form with units, each unit being worth 15 Credit
    Points, but has only passed 8 of those units, then the Total Passed Credit Points will be
    120, leaving 240 Credit Points Required if they are studying an Undergraduate degree.
    Your job is to output the Total Passed Credit Points, the Credit Points Required, along
    with the students name, student id and Course type. You need to also indicate how many
    units have been attempted and how many have been successfully completed, as well as
    the student’s course average (indicated as a mark and a grade, such as 65 Cr).
    If the student has obtained or gone over their required Credit Points for their course a
    Course Completed indicator needs to appear on screen.

    The minimum validation you need to perform includes;
    • None of the input fields (rows with data) have blank fields
    • The Unitcode data is not less than 7 characters in length
    • That the Credit Points field contains only 15 or 20, nothing else
    • That the Year/Semester field contains only 3 digits
    • That the Mark field is numeric, and not less than zero or greater than 100
    • The student id field is numeric and not less than 8 characters in length
     
    Last edited:

    wjlfernando

    Active member
  • Aug 13, 2007
    2,423
    0
    38
    html page

    HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>CPA</title>
    </head>
    
    <body>
    <h1>Course Progession Analyser</h1>
    <hr />
    <table width="509" border="1">
    <form method="post" action="form_p.php">
      <tr>
        <td width="98">Firstname</td>
    
        <td width="185"><input name="Firstname" type="text" id="Firstname" size="20" maxlength="50" /></td>
        <td width="99"> </td>
        <td width="99"> </td>
      </tr>
      <tr>
        <td>Surname</td>
        <td><input name="Surname" type="text" id="Surname" size="20" maxlength="50" /></td>
        <td> </td>
    
        <td> </td>
      </tr>
      <tr>
        <td>Student ID </td>
        <td><input name="StudentID" type="text" id="StudentID" size="8" maxlength="8" /></td>
        <td> </td>
        <td> </td>
      </tr>
    
      <tr>
        <td>Course Type </td>
        <td><select name="CourseType" id="CourseType">
          <option value="1" selected="selected">Undergraduate Degree</option>
          <option value="2">Graduate Diploma</option>
          <option value="3">Masters by Coursework</option>
          <option value="4">Masters by Research</option>
    
        </select>    </td>
        <td> </td>
        <td> </td>
      </tr>
      <tr>
        <td> </td>
        <td> </td>
        <td> </td>
    
        <td> </td>
      </tr>
      <tr>
        <td><p align="center"><em><strong>Unit Code </strong></em></p></td>
        <td><p align="center"><em><strong>Credit Points </strong></em></p></td>
        <td><p align="center"><em><strong>Year / Semester</strong></em></p></td>
        <td><em><strong>Mark ( / 100) </strong></em></td>
    
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_1" type="text" id="UnitCode_1" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_1" type="text" id="CP_1" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
    
            <input name="YS_1" type="text" id="YS_1" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_1" type="text" id="UM_1" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_2" type="text" id="UnitCode_2" size="7" maxlength="7" />
    
        </div></td>
        <td><div align="center">
          <input name="CP_2" type="text" id="CP_2" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_2" type="text" id="YS_2" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_2" type="text" id="UM_2" size="3" maxlength="3" />
    
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_3" type="text" id="UnitCode_3" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_3" type="text" id="CP_3" size="2" maxlength="2" />
        </div></td>
    
        <td><div align="center">
            <input name="YS_3" type="text" id="YS_3" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_3" type="text" id="UM_3" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
    
          <input name="UnitCode_4" type="text" id="UnitCode_4" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_4" type="text" id="CP_4" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_4" type="text" id="YS_4" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
    
            <input name="UM_4" type="text" id="UM_4" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_5" type="text" id="UnitCode_5" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_5" type="text" id="CP_5" size="2" maxlength="2" />
    
        </div></td>
        <td><div align="center">
            <input name="YS_5" type="text" id="YS_5" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_5" type="text" id="UM_5" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
    
        <td><div align="center">
          <input name="UnitCode_6" type="text" id="UnitCode_6" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_6" type="text" id="CP_6" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_6" type="text" id="YS_6" size="3" maxlength="3" />
        </div></td>
    
        <td><div align="center">
            <input name="UM_6" type="text" id="UM_6" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_7" type="text" id="UnitCode_7" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
    
          <input name="CP_7" type="text" id="CP_7" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_7" type="text" id="YS_7" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_7" type="text" id="UM_7" size="3" maxlength="3" />
        </div></td>
      </tr>
    
      <tr>
        <td><div align="center">
          <input name="UnitCode_8" type="text" id="UnitCode_8" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_8" type="text" id="CP_8" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_8" type="text" id="YS_8" size="3" maxlength="3" />
    
        </div></td>
        <td><div align="center">
            <input name="UM_8" type="text" id="UM_8" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_9" type="text" id="UnitCode_9" size="7" maxlength="7" />
        </div></td>
    
        <td><div align="center">
          <input name="CP_9" type="text" id="CP_9" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_9" type="text" id="YS_9" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_9" type="text" id="UM_9" size="3" maxlength="3" />
        </div></td>
    
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_10" type="text" id="UnitCode_10" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_10" type="text" id="CP_10" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
    
            <input name="YS_10" type="text" id="YS_10" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_10" type="text" id="UM_10" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_11" type="text" id="UnitCode_11" size="7" maxlength="7" />
    
        </div></td>
        <td><div align="center">
          <input name="CP_11" type="text" id="CP_11" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_11" type="text" id="YS_11" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_11" type="text" id="UM_11" size="3" maxlength="3" />
    
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_12" type="text" id="UnitCode_12" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_12" type="text" id="CP_12" size="2" maxlength="2" />
        </div></td>
    
        <td><div align="center">
            <input name="YS_12" type="text" id="YS_12" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_12" type="text" id="UM_12" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
    
          <input name="UnitCode_13" type="text" id="UnitCode_13" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_13" type="text" id="CP_13" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_13" type="text" id="YS_13" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
    
            <input name="UM_13" type="text" id="UM_13" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_14" type="text" id="UnitCode_14" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_14" type="text" id="CP_14" size="2" maxlength="2" />
    
        </div></td>
        <td><div align="center">
            <input name="YS_14" type="text" id="YS_14" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_14" type="text" id="UM_14" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
    
        <td><div align="center">
          <input name="UnitCode_15" type="text" id="UnitCode_15" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_15" type="text" id="CP_15" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_15" type="text" id="YS_15" size="3" maxlength="3" />
        </div></td>
    
        <td><div align="center">
            <input name="UM_15" type="text" id="UM_15" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_16" type="text" id="UnitCode_16" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
    
          <input name="CP_16" type="text" id="CP_16" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_16" type="text" id="YS_16" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_16" type="text" id="UM_16" size="3" maxlength="3" />
        </div></td>
      </tr>
    
      <tr>
        <td><div align="center">
          <input name="UnitCode_17" type="text" id="UnitCode_17" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_17" type="text" id="CP_17" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_17" type="text" id="YS_17" size="3" maxlength="3" />
    
        </div></td>
        <td><div align="center">
            <input name="UM_17" type="text" id="UM_17" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_18" type="text" id="UnitCode_18" size="7" maxlength="7" />
        </div></td>
    
        <td><div align="center">
          <input name="CP_18" type="text" id="CP_18" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_18" type="text" id="YS_18" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_18" type="text" id="UM_18" size="3" maxlength="3" />
        </div></td>
    
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_19" type="text" id="UnitCode_19" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_19" type="text" id="CP_19" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
    
            <input name="YS_19" type="text" id="YS_19" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_19" type="text" id="UM_19" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_20" type="text" id="UnitCode_20" size="7" maxlength="7" />
    
        </div></td>
        <td><div align="center">
          <input name="CP_20" type="text" id="CP_20" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_20" type="text" id="YS_20" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_20" type="text" id="UM_20" size="3" maxlength="3" />
    
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_21" type="text" id="UnitCode_21" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_21" type="text" id="CP_21" size="2" maxlength="2" />
        </div></td>
    
        <td><div align="center">
            <input name="YS_21" type="text" id="YS_21" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_21" type="text" id="UM_21" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
    
          <input name="UnitCode_22" type="text" id="UnitCode_22" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_22" type="text" id="CP_22" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_22" type="text" id="YS_22" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
    
            <input name="UM_22" type="text" id="UM_22" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_23" type="text" id="UnitCode_23" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_23" type="text" id="CP_23" size="2" maxlength="2" />
    
        </div></td>
        <td><div align="center">
            <input name="YS_23" type="text" id="YS_23" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_23" type="text" id="UM_23" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
    
        <td><div align="center">
          <input name="UnitCode_24" type="text" id="UnitCode_24" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_24" type="text" id="CP_24" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_24" type="text" id="YS_24" size="3" maxlength="3" />
        </div></td>
    
        <td><div align="center">
            <input name="UM_24" type="text" id="UM_24" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_25" type="text" id="UnitCode_25" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
    
          <input name="CP_25" type="text" id="CP_25" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_25" type="text" id="YS_25" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_25" type="text" id="UM_25" size="3" maxlength="3" />
        </div></td>
      </tr>
    
      <tr>
        <td><div align="center">
          <input name="UnitCode_26" type="text" id="UnitCode_26" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_26" type="text" id="CP_26" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_26" type="text" id="YS_26" size="3" maxlength="3" />
    
        </div></td>
        <td><div align="center">
            <input name="UM_26" type="text" id="UM_26" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_27" type="text" id="UnitCode_27" size="7" maxlength="7" />
        </div></td>
    
        <td><div align="center">
          <input name="CP_27" type="text" id="CP_27" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_27" type="text" id="YS_27" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_27" type="text" id="UM_27" size="3" maxlength="3" />
        </div></td>
    
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_28" type="text" id="UnitCode_28" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_28" type="text" id="CP_28" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
    
            <input name="YS_28" type="text" id="YS_28" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_28" type="text" id="UM_28" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_29" type="text" id="UnitCode_29" size="7" maxlength="7" />
    
        </div></td>
        <td><div align="center">
          <input name="CP_29" type="text" id="CP_29" size="2" maxlength="2" />
        </div></td>
        <td><div align="center">
            <input name="YS_29" type="text" id="YS_29" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_29" type="text" id="UM_29" size="3" maxlength="3" />
    
        </div></td>
      </tr>
      <tr>
        <td><div align="center">
          <input name="UnitCode_30" type="text" id="UnitCode_30" size="7" maxlength="7" />
        </div></td>
        <td><div align="center">
          <input name="CP_30" type="text" id="CP_30" size="2" maxlength="2" />
        </div></td>
    
        <td><div align="center">
            <input name="YS_30" type="text" id="YS_30" size="3" maxlength="3" />
        </div></td>
        <td><div align="center">
            <input name="UM_30" type="text" id="UM_30" size="3" maxlength="3" />
        </div></td>
      </tr>
      <tr>
        <td colspan="4"><input type="submit" name="Submit" value="Submit" /> <input name="Reset" type="reset" id="Reset" value="Reset" /></td>
    
      </tr>
      </form>
    </table>
    
    
    <p> </p>
    </body>
    </html>
     

    sri_lion

    Member
    Sep 14, 2006
    12,908
    102
    0
    Kuala Lumpur
    Here are some hints..

    For checking blank fields you can use "isset" function, for calculating how many strings being passed you can use "strlen", to check for certain type of input like numbers use "ereg" function...

    to check for combination of these... well... use combined with operators like OR- "||" and "&&"

    Please go through PHP Documentation for examples of the functions I mentioned just now...