www.webdeveloper.com
Results 1 to 12 of 12

Thread: search box to open links

  1. #1
    Join Date
    Mar 2011
    Posts
    24

    search box to open links

    Hi everyone.
    I need to put a search bar into a website that opens a new link dependant on what is typed into the search bar.

    Users will be entering 1 of 50 keywords into this search bar and I want a different url to open depending on what has been entered.
    Ie. If 'one' is input, I want the page 'one.htm' to open, if 'two' is entered then 'two.htm' opens and so on.

    I know that this can be down easily from a dropdown list, but space is an issue so I need to complete this selection by a typeable search bar!

    Can anyone point me in the right direction to get this started?

    Thanks in advance.
    Glen

  2. #2
    Join Date
    Mar 2010
    Posts
    60
    Will your search bar have a search button?

  3. #3
    Join Date
    Mar 2011
    Posts
    24
    HI jimmyg. Yes it should.

  4. #4
    Join Date
    Mar 2010
    Posts
    60
    Ok cool, I have an idea for a way to do this put it involves using php and is a little unwieldy.

    Would php be ok?

  5. #5
    Join Date
    Mar 2011
    Posts
    24
    Yes, any help to get it to work would be greatly appreciated.

  6. #6
    Join Date
    Mar 2010
    Posts
    60
    Ok,
    First of all you need to set up a HTML form which will call a PHP script when search is clicked. Say something like
    Code:
     <form enctype="multipart/form-data" action="link.php" method="POST">
    <input type="text" name="text" />
    <input type="submit" value="Search" />
                   
    </form>
    This will call a script called link.php when Search is clicked.

    As for the php script it'll be something like this,
    Code:
    //Turn the content from text box into variable
    $page=$_POST['text'];
    
    //set up a redirect to that page
    header("location: $page.html");
    This code should read the variable from the text box e.g. "one" and then use the redirect to open the page using that variable i.e $page.html = one.html.

    There are probably better ways to do it but this might help to get you started

  7. #7
    Join Date
    Mar 2011
    Posts
    24
    hi jimmyg,

    Thanks for your help!

    I am a total newbie and have never used php before so have tried what you posted below, but when i enter text into the searchbar and click search, it opens/downloads the php script.

    Dont know whether im doing it wrong!

    Is there any chance you can type out what the script would look like if i wanted the searchbar to open the following links as an example?

    ie. if i type 'one' it opens www.google.com
    'two' opens bing.com

    Thanks again for your help.
    Glen

  8. #8
    Join Date
    Mar 2010
    Posts
    60
    ok heres what I have so far
    link.html
    Code:
    <!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=utf-8" />
    <title>Untitled Document</title>
    </head>
    
    <body>
    <form enctype="multipart/form-data" action="link.php" method="POST">
    <input type="text" name="text" />
    <input type="submit" value="Search" />
                   
    </form>
    
    
    </body>
    </html>
    This is just a simple html page I set up on my wamp server. When someone types google into the search box it will call this script
    link.php (this is a seperate page)
    Code:
    <?php
    //Turn the content from text box into variable
    $page=$_POST['text'];
    
    //set up a redirect to that page
    header("location: http://$page.com");
    ?>
    Typing google or bing into the search box will open google.com or bing.com.

    or if you want the user to type in "one" or "two" for a specific site try this
    Code:
    <?php
    //Turn the content from text box into variable
    $page=$_POST['text'];
    
    if($_POST['text']=='one') {
    //set up a redirect to that page
    echo "<meta http-equiv=\"refresh\" content=\"0;URL=http://www.google.com\">";
    
    }
    
    else if($_POST['text']=='two') {
    	
    echo "<meta http-equiv=\"refresh\" content=\"0;URL=http://www.bing.com.\">";
    
    }
    
    
    
    ?>
    That should work. bear in mind link.php is an entirely seperate page.

  9. #9
    Join Date
    Mar 2011
    Posts
    24
    hi jimmyg

    thanks for your help. I do appreciate it.
    When i use the bottom script and type 'one' or 'two', im faced with the option of opening or saving link.php instead of directing to google or bing

    Am i doing something badly wrong?

    Glen

  10. #10
    Join Date
    Mar 2010
    Posts
    60
    Ok do you have the site online anywhere or are you just using it on your home machine?

  11. #11
    Join Date
    Mar 2011
    Posts
    24
    Sorry, its on my home pc.

    Should the searchbar try and open or download the php file or just reference it?

    I copied exactly what you had sent.

    Do you have any other suggestions as i sense what i need is so close?

    Thanks
    Glen

  12. #12
    Join Date
    Mar 2010
    Posts
    60
    It sounds to me that you need to install php on your pc. I recommend WAMP server. This will set your PC up as a local server. Its what I use whenever im doing webwork. Its also open source so its free
    HTML Code:
    http://www.wampserver.com/en/
    . Very easy to use as well

Thread Information

Users Browsing this Thread

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

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