2012-03-20 43 views
1

Я пытаюсь создать файл php, который будет сканировать каталог, составить список динамических переключателей и выбрать пользователя и отправить его, и он должен передать его в другой файл php, который отправит его, но у меня возникают проблемы с кнопкой отправки. Интересно, могу ли я получить ответы, оглядывался по сети и не мог ничего найти. Вот мой код:PHP Динамические кнопки радио и кнопка отправки

<?php 

ini_set('display_errors',true); 
//Scan directory (ripped from another site) 
$directory = opendir("download"); 
while($entry = readdir($directory)) { 
    $dirArray[] = $entry; 
} 
closedir($directory); 
$indexCount = count($dirArray); 
sort($dirArray); 

//Make the Radio Button list 
$RList = ""; 
for($i=2; $i<count($dirArray); $i++) { 
    $value = $dirArray[$i]; 
    $RList .= "<input type=\"radio\" name=\"Files\" value=".$value." />".$value."<br />"; 
} 
//Submit button 
$RButton = '<input type="button" value="Submit" 
onclick="location.href=\'http://localhost/appClient/load.php?file='.$value.'\'">'; 
echo $RList.$RButton; 
#echo $_POST["Files"]; 

?> 

Благодаря

+0

Какая у вас проблема? Что не работает с вашим текущим кодом? Пожалуйста, будьте более конкретными. – Bojangles

+0

У вас слишком много радиокнопки и кнопок отправки! – hjpotter92

+0

@JamWaffles Он не получает нужный файл, когда я нажимаю кнопку «Отправить», поэтому возникает проблема с значением $, не передающим правильные данные. Итак, как бы вы пропустили выбранное пользователем имя файла для загрузки.php на кнопку отправки? –

ответ

1

Похоже, вы передаете $value на событие OnClick. Поскольку это вне цикла PHP, оно будет всегда оставаться последним $value.

Чтобы исправить это, используйте javascript для получения выбранного значения из радио и добавьте его в перенаправление onclick.

Еще лучше, ваш файл load.php должен просто проверить ключ «Файлы» в вашем $_POST и использовать его вместо использования GET. В конце концов, это пункт отправки переключателя.

+0

О, я этого не заметил. Я довольно новичок в этом, но есть ли способ сделать это через php? и если бы я не смог использовать javascript внутри блока программирования php? или я бы назвал внешнюю функцию javascript из php? –

+0

Чтобы сделать это через PHP, используйте правильный тег формы с методом POST, и он будет доступен в '$ _POST ['Files']' при его отправке. Нет необходимости в onclick. – jeremyharris

+0

Удивительный! Наконец, он работает! Спасибо, ребята, за вашу помощь! @ jeremyharris & alvariux –

-1

Я не вижу <form> тега, попробуйте добавить его, так как все кнопки и входы должны быть в пределах <form>

ли ваш сценарий вызов файл load.php уже или кнопка просто не работает ?

+0

Я не думаю, что ему нужно использовать тег формы. Он передает ссылку в своем необработанном коде: '$ RButton = '';' – hjpotter92

+0

Я не знаю, как правильно передать значение $ для load.php. Он всегда будет передавать один и тот же файл. даже если выбрана другая. и да, я жестко закодировал его, потому что я пытался сделать это в чистом php, если это возможно. –

+0

как @jeremyharris sugest, попробуйте с формой сообщения '

', тогда вы меняете кнопку только на ', вам нужно будет искать переменную' $ _POST ['Files'] ' – alvariux

Смежные вопросы