the html is wrong, option doesn't have an attribute of name, select has the name, 
option has the value.

try it like this, the result will be in $files

<?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\">$file_name</OPTION>";
  }
 }
 $file_list .= "</SELECT><br><br><INPUT TYPE=\"submit\" NAME=\"submit\"
VALUE=\"select\"></FORM></p>";
 closedir($dir);
 ?>

----- Original Message ----- 
From: "Erik Price" <[EMAIL PROTECTED]>
To: "Jas" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Monday, April 08, 2002 6:45 PM
Subject: Re: [PHP] Assigning unique form names...


> 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
> [EMAIL PROTECTED]
> 
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> 
> 


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to