Jump to content

JAnders1410

New Members
  • Posts

    1
  • Joined

  • Last visited

    Never

Profile Information

  • Gender
    Not Telling

JAnders1410's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. Hi everyone! Below is a script that I have written to allow a user to imput song information into a database, but something is wrong with it. I'm new to PHP and this script is borrowed from a textbook that I've been using to teach myself. I have modified the script to fit my needs. Basically I think one of my data tests is not working since that is the error message I keep getting but I can't figure out how to resolve it. Any help that you can provide would be greatly appreciated! If you would like to see the script in action the address is [a href=\"http://www.college-rock.com/redhail/conrol/add_song.php\" target=\"_blank\"]www.college-rock.com/redhail/control/add_song.php[/a] [code]1<?php # Script 12. 5 - add_song.php 2    // This page allows users to add URLs to the database. 3     4    //Set the page title and include the HTML header. 5    $page_title = 'Add a Song'; 6    include ('./includes/header.html'); 7     8    require_once('./php/mysql_connect.php'); //Connect to the database. 9     10    if (isset($_POST['submitted'])) { // Handle the form 11     12        // Check for Genre 13        if (isset($_POST['genre']) && (is_array($_POST['genre']))) { 14            $genre = TRUE; 15        } else { 16            $genre = FALSE; 17            echo '<p><font color="red">Please select at least one genre!</font></p>'; 18        } 19         20        // Check for a Composer Name. 21        if (!empty($_POST['composer'])) { 22            $c = escape_data($_POST['composer']); 23        } else { 24            $c = FALSE; 25            echo '<p><font color="red">Please enter the composerĀ“s name!</font></p>'; 26        } 27         28        // Check for a Artist Name. 29        if (!empty($_POST['artist'])) { 30            $a = escape_data($_POST['artist']); 31        } else { 32            $a = FALSE; 33            echo '<p><font color="red">Please enter an artistĀ“s name!</font></p>'; 34        } 35         36        // Check for a Album Name. 37        if (!empty($_POST['album'])) { 38            $r = escape_data($_POST['album']); 39        } else { 40            $r = FALSE; 41            echo '<p><font color="red">Please enter the album name or list as "Self Titled"!</font></p>'; 42        } 43         44        // Check for Song Title. 45        if (!empty($_POST['song'])) { 46            $s = escape_data($_POST['song']); 47        } else { 48            $s = FALSE; 49            echo '<p><font color="red">Please enter the title of the song!</font></p>'; 50        } 51         52        // Check for a BPM. 53        if (isset($_POST['BPM']) && (is_array($_POST['BPM']))) { 54            $BPM = TRUE; 55        } else { 56            $BPM = FALSE; 57            echo '<p><font color="red">Please select one BPM category!</font></p>'; 58        } 59         60        // Check for lyrics. 61        if (!empty($_POST['lyrics'])) { 62            $l = escape_data($_POST['lyrics']); 63        } else { 64            $l = FALSE; 65            echo '<p><font color="red">Please enter the lyrics of the song! If there are no lyrics please write "Instrumental".</font></p>'; 66        } 67         68        // Check for keywords. 69        if (!empty($_POST['keywords'])) { 70            $k = escape_data($_POST['keywords']); 71        } else { 72            $k = FALSE; 73            echo '<p><font color="red">Please enter the searchable keywords for the song! This will assist in more efficient searching for our customers.</font></p>'; 74        } 75         76        // Check for image. 77        if (!empty($_POST['image'])) { 78            $i = escape_data($_POST['image']); 79        } else { 80            $i = FALSE; 81            echo '<p><font color="red">Please enter the image file path of the song! All images should be uploaded seperately to the /art/ folder.</font></p>'; 82        } 83         84        // Check for Song File. 85        if (!empty($_POST['sound'])) { 86            $sound = escape_data($_POST['sound']); 87        } else { 88            $sound = FALSE; 89            echo '<p><font color="red">Please enter the song file path of the song! All song files should be uploaded sperately to the /sound/ folder.</font></p>'; 90        } 91        if ($genre && $c && $a && $r && $s && $BMP && $l && $k && $i && $sound) { // If everything is Okay... 92         93            // Add the Song to the Song table. 94            $query = "INSERT INTO song (genre, composer, artist, album, song, BPM, lyrics, keywords, image, sound) VALUES ('$genre', '$c', '$a', '$r', '$s', '$BMP', '$l', '$k', '$i', '$sound')"; 95            $result = @mysql_query ($query);  // Run the query. 96            $uid = @mysql_insert_id(); // Get the song ID. 97             98            if($uid > 0) { //New Song has been added. 99             100                // Make the Song associations. 101                 102                // Build the query 103                $query = 'INSERT INTO song_associations (song_id, song_category_id, approved) VALUES '; 104                foreach ($_POST['types'] as $v) { 105                    $query .= "($uid, $v, 'Y'), "; 106                } 107                $query = substr ($query, 0, -2); //Chop off the last comma and space. 108                 109                $result = @mysql_query ($query); //Run the query 110                 111                if (mysql_affected_rows() == count($_POST['types'])) { //Query ran OK 112                 113                    echo '<p><b>This song has been successfully added!</p></b>'; 114                    $_POST = array(); // Reset values 115                     116                } else { // If second query did not run OK 117                 118                    echo '<p><font color="red">Your submission could not be processed due to a system error.  We apologize for any inconvenience. Either try again or contact John with the following error:</font></p>'; //Public message 119                    echo '<p><font color="red">' .mysql_error() . '<br /><br />Query: ' .$query .'</font></p>'; // Debugging Message 120             121                    // Delete the URL from the urls table. 122                    $query = "DELETE FROM song WHERE song_id=$uid"; 123                    @mysql_query ($query); //Run the query 124                     125                } // End of mysql_affected_rows() If. 126                 127            } else { //If first query did not run OK 128                echo '<p><font color="red">Your submission could not be processed to a system error. We apologize for any inconvenience.</font></p>'; //Public Message 129                echo '<p><font color="red">' .mysql_error() . '<br /><br />Query: ' .$query . '</font></p>'; // Debugging message 130            } 131             132        } else { // If one of the data tests failed. 133            echo '<p><font color="red">Please try again. A data test failed!</font></p>'; 134        } 135         136    } //End of the main submitted conditional. 137    // ---------------- DISPLAY THE FORM ------------------- 138    ?> 139<style type="text/css"> 140<!-- 141.style1 { 142    font-size: medium; 143    font-weight: bold; 144} 145--> 146</style> 147 148 149 150    <form action="add_song.php" method="post"> 151        <fieldset> 152        <legend class="style1">Add a song to Redhail Media Database:</legend> 153        <p><b>Genre:</b><br> 154           155          <select name="genre[]" multiple="multiple" size="5"> 156           <?php // Create the pull-down menu information 157        $query = "SELECT * FROM genre ORDER BY genre ASC"; 158        $result = @mysql_query ($query); 159        while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 160            echo "<option value=\"$row[0]\""; 161            // Make sticky, if necessary. 162            if (isset($_POST['types']) && (in_array($row[0], $_POST['types']))) { 163                echo ' selected="selected"'; 164            } 165            echo ">$row[1]</option>\n"; 166        } 167        ?> 168          </select> 169          <br> 170          <br> 171          <b>Composer Name(s): </b> 172          <input type="text" name="composer" size="60" maxlength="60" value="<?php if (isset($_POST['composer'])) echo $_POST['composer']; ?>" /> 173        </p> 174        <p><b>Artist's Name: </b> 175          <input type="text" name="artist" size="60" maxlength="60" value="<?php if (isset($_POST['artist'])) echo $_POST['artist']; ?>" /> 176          <br /> 177          <br> 178             <b>Album Name: </b>             <input type="text" name="album" size="60" maxlength="60" value="<?php if (isset($_POST['album'])) echo $_POST['album']; ?>" /> 179          <br> 180          <em>For albums with no name please list as "Self Titled" </em></p> 181        <p><b>Song Title: </b> 182          <input type="text" name="song" size="60" maxlength="60" value="<?php if (isset($_POST['song'])) echo $_POST['song']; ?>" /> 183        </p> 184        <p><b>BPM: </b> 185          <select name="BPM[]" size="2" multiple="multiple" id="BPM[]"> 186            <?php // Create the pull-down menu information 187        $query = "SELECT * FROM BPM ORDER BY BPM ASC"; 188        $result = @mysql_query ($query); 189        while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 190            echo "<option value=\"$row[0]\""; 191            // Make sticky, if necessary. 192            if (isset($_POST['types']) && (in_array($row[0], $_POST['types']))) { 193                echo ' selected="selected"'; 194            } 195            echo ">$row[1]</option>\n"; 196        } 197        ?> 198          </select> 199</p> 200        <b>Lyrics: </b> 201          <textarea name="lyrics" cols="40" rows="5"><?PHP if (isset($_POST['lyrics'])) echo $_POST ['lyrics']; ?> 202          </textarea> 203<br> 204        <em>For songs without lyrics please write "Instrumental" 205        </em> 206        <p><b>Keywords/Mood: </b>           207          <textarea type="text" name="keywords" cols="40" rows="5"><?PHP if (isset($_POST['keywords'])) echo $_POST ['keywords']; ?> 208          </textarea> 209        </p> 210        <p><b>HTML Image Path: </b> 211              <input type="text" name="image" size="60" maxlength="60" value="<?php if (isset($_POST['image'])) echo $_POST['image']; ?>" /> 212         213          <br> 214              <em>Format like "/art/{Album Name Here}" 215</em></p> 216        <p><b>HTML Song Path: </b> 217          <input type="text" name="sound" size="60" maxlength="60" value="<?php if (isset($_POST['sound'])) echo $_POST['sound']; ?>" /> 218          <br> 219          <em>Format like "/sound/{Song Title Here}" </em> 220        </p> 221        </fieldset> 222        <input type="hidden" name="submitted" value="TRUE" /> 223         224        <div align="center"><input type="submit" name="submit" value="Submit" /></div> 225         226</form> 227        <?php 228        mysql_close(); //Close the database connection. 229        include ('./includes/footer.html'); 230        ?>[/code]
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.