Visualizzazione dei risultati da 1 a 1 su 1

Discussione: form dentro while loop

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    158

    form dentro while loop

    Salve gente, provo a chiedere un aiutino.

    Ho delle cartelle sul mio server locale e sto provando a leggerne il contenuto.



    una volta aver recuperato la lista di tutte le cartelle presenti in una determinata locazione di cui mi interessa leggerne il contenuto:

    recupera_cartelle.php

    Codice PHP:
    <?php
    function dir_list($directory FALSE) {
      
    $dirs= array();
      
      if (
    $handle opendir("./" $directory))
      {
        while (
    $file readdir($handle))
        {
          if (
    is_dir("./{$directory}/{$file}"))
          {
            if (
    $file != "." $file != ".."$dirs[] = $file;
          }

        }
      }
      
    closedir($handle);



    echo 
    "<strong>Lista delle cartelle:</strong><br>
    <div class='container'>
    <form method='post' id='myForm' action='leggi_cartella.php'>
    <ul id='myList'>"
    ;
      while(list(
    $key$value) = each($dirs))
      {
         echo 
    "<li> <a href='#'  onclick='myForm.submit();'>{$value}</a> <input type='hidden'  name='nome_cartella' value='{$value}'> </li>";
      }
      echo 
    "
      </ul> 
      </form>
      </div>"
    ;

    }
    dir_list("formazione/files_vari/");

    ?>


    l'idea era, al click sul nome della cartella nella lista, tramite un form, di inviare il nome della cartella su leggi_cartella.php dove poi andrò a leggerne il contenuto... il problema è che non riesco proprio a inviare sto nome della cartella .

    sono bloccato qui:


    su leggi_cartella.php

    $nome_cartella = $_POST['nome_cartella']; // Ottieni il nome della cartella
    echo "$nome_cartella";

    qualsiasi cartella io scelga , per leggerne il contenuto , mi arriva sempre e soltanto il nome dell'ultima cartella "7u" .. come faccio a impostare sto form dentro sto while loop?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Guarda (nel browser) il sorgente HTML della pagina generata e capirai: ti ritroverai con N campi "hidden" tutti con nome "nome_cartella". Ovviamente così non va bene.

    Devi avere un solo campo hidden con nome "nome_cartella", che inizialmente avrà come valore una stringa vuota e che dovrà essere valorizzato dal clic. Quindi questo campo va creato FUORI dal while.

    Quindi, spannometricamente, dovrai generare un link fatto in questo modo:

    codice:
    <a href="#" onclick="myForm.nome_cartella = 'blabla'; myForm.submit()">blabla</a>

    Ciao.
    Ultima modifica di LeleFT; 26-09-2025 a 11:31
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.