Ci sono due problemi nel listato.
1° PROBLEMA: Selezione file
Tu dici di selezionare tutti i file tranne quelli che iniziano per "." o per ".."
Ma la riga di codice che pensi si occupi di ciò, fa tutt'altra cosa!
Dire:
Codice:
if ( $file == ".." || $file == ".") {
significa: se il nome del file è ".." oppure "."
Invece per dire: se inizia per ".." o per "." devi fare:
Codice:
if( $file[0]=="." || ($file[0]=="." && $file[1]==".") ){
2° PROBLEMA: Uso degli apici
Quando usi l'echo, e devi includere una variabile php, devi spezzare gli apici!
Invece di scrivere:
Codice:
echo "<tr><td>$file</td";
devi scrivere:
Codice:
echo "<tr><td>".$file."</td>";
In questo modo fai un'opera di concatenamento. Cioè dici: concatena il testo <tr><td> + la variabile $file + il testo </td>
In più, devi inserire anche gli apici che serviranno a javascript.
Cioè, appreso quello che ti ho appena spiegato il tuo script diventerebbe:
Codice:
echo "<tr>
<td>
".$file."
</td>
<script> var nome=".$file."; alert(nome);</script>
<td><button onclick='redirect(nome)'>Apri</button></td>
<td><button>Modifica</button></td>
<td><button>Elimina</button></td>
</tr>";
Però sai che in js per inserire ua variabile devi fare:
Codice:
var nome_variabile = 'testo';
Perciò devi inserire gli apici singoli prima e dopo la variabile $file.
E cioè:
Codice:
echo "<tr>
<td>
".$file."
</td>
<script> var nome='".$file."'; alert(nome);</script>
<td><button onclick='redirect(nome)'>Apri</button></td>
<td><button>Modifica</button></td>
<td><button>Elimina</button></td>
</tr>";
Spero tu abbia capito tutto.
Il listato completo non te lo ho postato appositamente per obbligarti a leggere tutto, farti capire, e far sì che sia tu a sistemarlo, non io. Solo così si impara.
Ciao