Web Development Exercise 6-1

timer Asked: Feb 13th, 2015

Question Description

I’m working on a Computer Science exercise and need support.

 Exercise 6-1
Create a Song Organizer script that stores songs in a text file. Include
functionality that allows users to view the song list and prevents the
same song name from being entered twice. Also, include code that
sorts the songs by name, deletes duplicate entries, and randomizes
the song list with the shuffle() function.
   1.   Create a new document in your text editor.
   2.   Type the  declaration,  element, header
        information, and  element. Use the strict DTD and
        “Song Organizer” as the content of the  element.
   3.   Add the following XHTML code and script section to the
        document body:
        Song Organizer
4.   Add the following code to the script section to handle any
                        parameters in the URL:
                        if (isset($_GET['action'])) {
                             if ((file_exists("SongOrganizer/songs.txt"))
                                  && (filesize("SongOrganizer/songs.txt")
                                  != 0)) {
                              $SongArray = file(
                                  switch ($_GET['action']) {
                                  } // End of the switch statement
5.   Add the following code to the body of the switch statement
                        to handle the three options (Sort Ascending, Remove
                        Duplicates, and Shuffle):
                        case 'Remove Duplicates':
                             $SongArray = array_unique(
                             $SongArray = array_values(
                        case 'Sort Ascending':
                        case 'Shuffle':
6.   Add the following code immediately after the switch state-
                        ment to save the song list after it has been modified:
                        if (count($SongArray)>0) {
                             $NewSongs = implode($SongArray);
                             $SongStore = fopen(
                             if ($SongStore === false)
                                  echo "There was an error
                                       updating the song file\n";
                             else {
                                  fwrite($SongStore, $NewSongs);
7.   Add the following code to the end of the script section to
     handle any data submitted from the Web form:
     if (isset($_POST['submit'])) {
          $SongToAdd = stripslashes(
               $_POST['SongName']) . "\n";
          $ExistingSongs = array();
          if (file_exists("SongOrganizer/songs.txt")                                                  
               && filesize("SongOrganizer/songs.txt")
               > 0) {
               $ExistingSongs = file(
8.   Add the following if statement immediately after the block                   Although this
     where the song file data was read into the $ExistingSongs                     form does not
                                                                                  allow for dupli-
     array. This if statement checks to see if the song name
                                                                                  cate entries,
     entered is already in the song list, and displays a message if               you still need
     the song already exists.                                         to be able to remove
     if (in_array($SongToAdd, $ExistingSongs)) {                      them if necessary. There
          echo "The song you entered already                       may be other methods of
               exists!\n";                                      adding songs to the list,
          echo "Your song was not added to the                        and the other methods
               list.";                                            may allow duplicate
     }                                                                entries.
9.   Add the following else clause to the preceding if statement.
     This else clause adds the new song to the song list file.
     else {
          $SongFile = fopen(
               "SongOrganizer/songs.txt", "ab");
          if ($SongFile === false)
               echo "There was an error saving
                    your message!\n";
          else {
               fwrite($SongFile, $SongToAdd);
               echo "Your song has been added to
                    the list.\n";
10. Add the following code to the end of the script section to dis-
                      play the song list, or a message that there are no songs in the
                      list if the list is empty:
                       if ((!file_exists("SongOrganizer/songs.txt"))
                            || (filesize("SongOrganizer/songs.txt")
                            == 0))
                       echo "There are no songs in the
                       else {
                            $SongArray = file(
                            echo "\n";
                            foreach ($SongArray as $Song) {
                                 echo "\n";
                                 echo "" . htmlentities($Song) .
                                 echo "\n";
                            echo "\n";
11. Add the following XHTML code immediately after the PHP
                      script section to display hyperlinks for the three functions in
                      the switch statement (Sort Ascending, Remove Duplicates,
                      and Shuffle):
                            Sort Song List
                            Remove Duplicate Songs
                            Randomize Song list
12. Next, add the following XHTML code to create a Web form
                      for entering new song names into the song list:
                       Add a New Song
                       Song Name: 
13. Save the document as SongOrganizer.php in the Projects
                      directory for Chapter 6 and upload the file to the server.
14. Open the SongOrganizer.php file in your Web browser by
      entering the following URL: http:///PHP_
  15. Close your Web browser window.

Student has agreed that all tutoring, explanations, and answers provided by the tutor will be used to help in the learning process and in accordance with Studypool's honor code & terms of service.

This question has not been answered.

Create a free account to get help with this and any other question!

Brown University

1271 Tutors

California Institute of Technology

2131 Tutors

Carnegie Mellon University

982 Tutors

Columbia University

1256 Tutors

Dartmouth University

2113 Tutors

Emory University

2279 Tutors

Harvard University

599 Tutors

Massachusetts Institute of Technology

2319 Tutors

New York University

1645 Tutors

Notre Dam University

1911 Tutors

Oklahoma University

2122 Tutors

Pennsylvania State University

932 Tutors

Princeton University

1211 Tutors

Stanford University

983 Tutors

University of California

1282 Tutors

Oxford University

123 Tutors

Yale University

2325 Tutors