jquery — передает раскрывающееся значение php другому php-сайту.

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

Выпадающий PHP (перечисляет все файлы в каталоге, хотя я хотел бы опустить папки и «.» & «..»):

 <?php
$currentdir = 'data/';
$dir = opendir($currentdir);
echo 'Files are as follows:<br>';
echo '<form action="SelectedDate.php" method="POST">';
echo '<select name="selectedfile" onchange="this.form.submit()">';
while($file = readdir($dir))
{
echo '<option value="'.$file.'">'.$file.'</option>';
}
echo '</select>';
echo '</form>';
closedir($dir);
?>

Создание таблицы php, где я также хотел бы передать имя файла, чтобы он мог получить выбранный файл CSV, отформатированный в таблицу. :

<?php
$var=$_REQUEST['selectedfile'];
$row = 1;
if (($handle = fopen('"data/"'$var'"', "r")) !== FALSE) {
echo '<head>';
echo '<script src="js/sorttable.js"></script>';
echo '</head>';
echo '<table class="sortable" border="1">';
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
if ($row == 1) {
echo '<thead><tr>';
}else{
echo '<tr>';
}
for ($c=0; $c < $num; $c++) {
//echo $data[$c] . "<br />\n";
if(empty($data[$c])) {
$value = "&nbsp;";
}else{
$value = $data[$c];
}
if ($row == 1) {
echo '<th>'.$value.'</th>';
}else{
echo '<td>'.$value.'</td>';
}
}

if ($row == 1) {
echo '</tr></thead><tbody>';
}else{
echo '</tr>';
}
$row++;
}

echo '</tbody></table>';
fclose($handle);
}
?>

Я не могу получить выпадающее значение для передачи в функцию fopen () …

Любая помощь и критика будут великолепны!

0

Решение

Для удобства чтения я бы предпочел $ _POST вместо $ _REQUEST, кроме того, у вас есть ошибка:

(($handle = fopen('"data/"'$var'"', "r"))
//SHOULD BE:
(($handle = fopen("data/".$var.", "r"))

======

Обновленный ответ:

Убедитесь, что ваши файлы сохранены с расширением .php. Кроме того, добавьте следующие строки кода в начало вашего второго файла:

<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">

В качестве завершающей попытки используйте этот код в if

(($handle = fopen("data/{$var}", "r"))
0

Другие решения

Измените эту строку:

if (($handle = fopen('"data/"'$var'"', "r")) !== FALSE) {

В

if (($handle = fopen('"data/"'.$var.'"', "r")) !== FALSE) {

Обратите внимание на точки!

0

По вопросам рекламы [email protected]