www.webdeveloper.com
Results 1 to 2 of 2

Thread: dropdown box to change <head> contents

  1. #1
    Join Date
    Oct 2009
    Posts
    10

    Exclamation dropdown box to change <head> contents

    Hey,
    I've basically made a photo gallery, and how the images for the photo gallery are decided for a specific album are by using different .xml coding.

    I was wondering how I could simply use a drop down box that would allow the user to select an album and then that would then reload the page and put the new details into the <head>

    so far I have something like this, I have named all the different .xml's photo1, photo2, photo3 etc etc

    and for the drop down box ive used the value for the albums 1, 2, 3, 4 etc

    and how ive done it is to put a php print in the script to where the script is loaded and put the value from the dropdown into the photo?.xml, so it would be like photo<?php print '$number'; ?>.xml

    I'm struggling with the form so that it will reload the php as soon as a different value is selected and also when i do select another album (im currently using a submit button) when the page reloads it just stays at the photo1.xml

    this is the <head> script
    var dsGallery = new Spry.Data.XMLDataSet("scripts/photos<?php print "$number"; ?>.xml", "/gallery/photos/photo");
    var dsData = new Spry.Data.XMLDataSet("scripts/photos<?php print "$number"; ?>.xml", "/gallery");


    This is the php script

    <?php
    $number = "1";

    if (isset ($_POST['album'])){
    $number = $_POST['album'];

    }

    ?>

    dropdown form

    <form action="photos.php" enctype="multipart/form-data" method="post" name="album">
    <select name="title" id="title" >
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    </select>
    <br />
    <span class="fill">
    <input name="send" type="submit" class="radio" value="Change"/>
    </span>
    </form>

  2. #2
    Join Date
    Apr 2007
    Posts
    1,664
    You were looking for the POST 'album' but had named the select 'title'. I added a is_numeric() check to the POST title check for good measure too. It's not a bad idea to validate anything that comes form a user especially if it is used to call files.

    In the head
    PHP Code:
    <?php
    $number
    =(isset($_POST['title']) && is_numeric($_POST['title'])?$_POST['title']:1);
    //a neater way to set the value or a default if there are only 2 options. 
    //If there are more things to consider then a switch() is the thing to use.
    ?>
    var dsGallery = new Spry.Data.XMLDataSet("scripts/photos<?php print $number?>.xml", "/gallery/photos/photo");
    var dsData = new Spry.Data.XMLDataSet("scripts/photos<?php print $number?>.xml", "/gallery");
    In the body
    PHP Code:
    <form action="<?php echo $_SERVER['SCRIPT_NAME']?>" enctype="multipart/form-data" method="post" name="album">
        <select name="title" id="title" >
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
        </select>
        <br />
        <span class="fill">
        <input name="send" type="submit" class="radio" value="Change"/>
        </span>
    </form>
    use <?php echo $_SERVER['SCRIPT_NAME']?> as the action to post a form to itself for portability.
    Last edited by SyCo; 11-25-2009 at 07:58 PM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles