Re: Assigning unique form names...

From: Date: Mon, 08 Apr 2002 17:45:35 +0000
Subject: Re: Assigning unique form names...
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-92093@lists.php.net to get a copy of this message
I understand what you're saying. You like the convenience of having the entire thing kept in a neat variable called $file_list, which you can add to your page in any place that you like, but you need a unique name for each <select> input tag so that on the "receiving" PHP script, you can access the contents of each time that you use $file_list. Unfortunately, I can't think of a good way for you to make these input names unique. The best thing I can suggest is that you turn this into a function/subroutine, and pass the string you wish to use as a unique name to the function as its argument (and you can make this a reuaseable function by also passing the $dir_name as an argument, and the target of the form tag). Like this: // $dir_name = name of directory to list // $form_target_page = name of page to receive this form's input // $input_name = unique name for this <select> input function file_list($dir_name, $form_target_page, $input_name) { if (!$dir = opendir($dir_name)) {
    return "Could not open directory $dir_name";
} else {
    $file_start = "<p><form method=\"post\" action=\"$form_target_page\">
                   <select name=\"$input_name\">\n";
    while ($file_name = readdir($dir)) {
      if ($file_name != '.' && $file_name != '..') {
        $file_list .= "<option value=\"$file_name\">$file_name</option>\n";
      }
    }
    closedir($dir);
    $file_finish = "</select><br /><br />
                    <input type=\"submit\" name=\"submit\" value=\"select\">
                  </form></p>\n";
    // this function prints the form as its return value
    return $file_start . $file_list . $file_finish;
} } On Monday, April 8, 2002, at 12:58 PM, Jas wrote:
Here is what I need some information about, the script below opens a directory on the server, reads the files and places them into select boxes within a form, now I have this echoed multiple times on the page like so...<? echo "$file_list"; ?> Now I have tried to assign a form name based on the $file_name varibable but because the $file_name variable is created after the form has been created I cannot assign a unique form name each time I call <? echo "$file_list"; ?>. If someone could point out another way to do this or point out a good function for this I would greatly appreciate it. <?php $dir_name = "/path/to/images/directory/"; $dir = opendir($dir_name); $file_list .= "<p><FORM METHOD=\"post\" ACTION=\"index_done.php3\"> <SELECT NAME=\"files\">"; while ($file_name = readdir($dir)) { if (($file_name != ".") && ($file_name !="..")) { $file_list .= "<OPTION VALUE=\"$file_name\" NAME=\"$file_name\">$file_name</OPTION>"; } } $file_list .= "</SELECT><br><br><INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\"select\"></FORM></p>"; closedir($dir); ?> Thanks in advance, Jas -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
---- Erik Price Web Developer Temp Media Lab, H.H. Brown pricee@hhbrown.com

« previous php.general (#92093) next »