Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Su type='hidden' e form di selezione

    Salve a tutti, da un po' sto sbattendo la testa su una cosa. Ho un file
    che si chiama admin.php
    l'obbiettivo di questo file quando richiamato è di proporre all'utente
    le seguenti possibilità

    1- upload file testo
    2- visualizza database files importati
    3- cancella dal database un record

    Ora il mio problema è questo e scusatemi ma sono un principiante in
    questo senso. Leggevo su un manuale dell'utilizzo dei campi hidden per
    gestire queste situazioni ma sto incontrando qualche difficoltà a
    riguardo.

    dunque ho fatto il mio form sulla pagina con 3 radio botton e lo ho
    chiamato MENUADMIN
    quindi a inizio pagina faccio un controllo se $_post['MENUADMIN'] +
    settato procedo con gli altri controlli altrimenti ripropongo il form.
    Il problema sta dopo .....
    Passato questo controllo dovrei analizzare cosa succede se viene
    selezionato per MENUADMIN, upload, view o delete e qui mi incarto. O
    meglio non riesco a gestire bene la cosa in un unica pagina.
    Io uso le istruzioni html in echo " "; ma sui manuali ho visto che
    fanno diversamente voi cosa ne pensate ???
    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    Direi che con quello che vuoi fare tu gli hidden field non c'azzeccano molto... in pratica sono come dei normali campi ti input, solo che sono invisibili all'utente (ma cmq non nell'html) e posso essere usati per salvarci dentro dei valori che vuoi memorizzare o passare da una pagina all'altra.

    Per quello che vuoi fare tu basta che esegui un controllo sul valore dei radiobutton (con un if..else o con uno switch), che si comportano come normali campi con un valore però che è già predefinito. Il valore che l'utente ha scelto è quindi memorizzato normalmente in $_GET['nomeradio'] o in $_GET['nomeradio'] a seconda del metodo usato nel form.

  3. #3
    Si capisco cosa intendi, comunque usavo il POST più che il GET. Il mio problema è un altro, forse mi sono spiegato male.

    Allora ho admin.php

    la prima pagina è composta da un radio botton a 3 selezioni
    poi da questo radio botton il valore viene ripassato di nuovo a se stesso e quindi mi dovrebbe saltare il controllo sul primo menù e passare al menù corrispondente alla scelta fatta dall'utente. Se però l'utente è tonto e mi clicca su submit senza passarmi nessun valore deve ritornarmi nel menù di prima non nel menù principale.
    E' qui che sbaglio io e non riesco a fare in modo di fare andare questo script

  4. #4
    Utente di HTML.it L'avatar di Leo15
    Registrato dal
    Sep 2005
    Messaggi
    307
    Originariamente inviato da garlick
    memorizzato normalmente in $_GET['nomeradio'] o in $_GET['nomeradio'] a seconda del metodo usato nel form.
    Suppongo sia $_GET e $_POST
    Cmq ha ragione garlick, devi verificare quale è stato il radiobutton selezionato (tramite le variabili sopra citate)
    La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
    Isaac Asimov

  5. #5
    Utente di HTML.it L'avatar di Leo15
    Registrato dal
    Sep 2005
    Messaggi
    307
    Originariamente inviato da Violence77
    Si capisco cosa intendi, comunque usavo il POST più che il GET. Il mio problema è un altro, forse mi sono spiegato male.

    Allora ho admin.php

    la prima pagina è composta da un radio botton a 3 selezioni
    poi da questo radio botton il valore viene ripassato di nuovo a se stesso e quindi mi dovrebbe saltare il controllo sul primo menù e passare al menù corrispondente alla scelta fatta dall'utente. Se però l'utente è tonto e mi clicca su submit senza passarmi nessun valore deve ritornarmi nel menù di prima non nel menù principale.
    E' qui che sbaglio io e non riesco a fare in modo di fare andare questo script
    Potresti fare un controllo con javascript, in modo che al click su submit controlla se almeno un radiobutton è stato selezionato.
    Altrimenti puoi fare come hai pensato tu. Fai un controllo su $_POST['menuadmin'], se contiene un valore sarà sicuramente uno fra i 3 che tu hai messo nei radiobutton.
    Quindi devi fare uno switch tipo
    Codice PHP:
    switch($_POST['menuadmin']) {
      case 
    "view":
        
    //Visualizzi l'elenco dei file
        
    break;
      case 
    "upload":
        
    //Visualizzi il form per l'upload
        
    break;
      case 
    "delete":
        
    //Visualizzi l'elenco dei file per cancellarne qualcuno
        
    break;

    Spero di essere stato chiaro
    La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
    Isaac Asimov

  6. #6
    Allo switch non ci avevo pensato, sono sempre molto testardo e volevo risolverlo con gli if ma mi sa che la soluzione migliore è quella che mi hai fornito tu. questa sera me lo studio un po'
    Una domanda a bruciapelo. In molti manuali ho visto che separano il codice php dall'html, io invece per fare i form sbatto tutto in un echo".."; c'è qualche controindicazione utilizzando questo metodo ????
    Grazie a tutti

  7. #7
    Utente di HTML.it L'avatar di Leo15
    Registrato dal
    Sep 2005
    Messaggi
    307
    Originariamente inviato da Violence77
    Una domanda a bruciapelo. In molti manuali ho visto che separano il codice php dall'html, io invece per fare i form sbatto tutto in un echo".."; c'è qualche controindicazione utilizzando questo metodo ????
    Grazie a tutti
    È buona norma separare il codice php da quello html. Ti rende la vita più facile.
    Ovviamente funziona in tutti e due i modi, non ci sono controindicazioni particolari.
    La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
    Isaac Asimov

  8. #8
    Eccomi ancora a rompere, allora ho fatto un po' di prove ma non ne vengo fuori, posto il codice, non è completo ma vi fa vedere il mio problema

    Codice PHP:

    switch ($_POST['menuadmin']):         
      case 
    "UPLOAD":
       if (isset(
    $_FILES['filelistino']) && ($_FILES['filelistino']['type']=="application/vnd.ms-excel")){
         die (
    "Procedo con upload dei files !!");    
       }else{
         echo
    "c'è la parola UPLOAD e viene passato il file temporaneo alla funzione"
         
    //  Form per upload listino in database  
         
    echo "<form enctype='multipart/form-data' method='POST' action='$_SERVER[PHP_SELF]'>"
         echo 
    "

    [b]File da trasferire:[/b]
    "
    ;
         echo 
    "<input type='file' name='filelistino' size='30'></p>";
         echo 
    "

    <input type='submit' name='submit'></p></form>"
    ;
        }   
       break;

      case 
    "VIEW":
           
      break;

      case 
    "DELETE":
           
      break;
            
      default:
        echo 
    "<form  method='GET' action='$_SERVER[PHP_SELF]'>";
        echo 
    "<input name='menuadmin' type='radio' value='UPLOAD'> UPLOAD NUOVO LISTINO.
    "
    ;
        echo 
    "<input name='menuadmin' type='radio' value='VIEW'> VISUALIZZA TUTTI I LISTINI.
    "
    ;
        echo 
    "<input name='menuadmin' type='radio' value='DELETE'> CANCELLA LISTINO.
    "
    ;
        echo 
    "<input name='Invia' type='submit'>";
        echo 
    "</form>";    
       break;
    endswitch; 
    In sostanza quello che voglio fare io è: selezionare una delle 3 opzioni del menù, poi ad esempio seleziono UPLOAD e vado nell'altro form per passare il file che voglio uppare sul server, se l'utente però mi preme sul campo vuoto non mi ritorna li dove era ma mi ritorna nel primo menù. Scusatemi ma sono fresco di programmazione e non ci capisco ancora molto e grazie a chi ha avuto la pazienza di rispondermi.

  9. #9
    up

  10. #10
    ho messo sopra al ciclo un
    echo $_POST['menuadmin'];

    e in pratica ho capito che se io inserisco la scelta nel menù e poi mi entra nel switch e mi effettua una selezione, al successivo caricamento della pagina la variabile non mi rimane UPLOAD ma si azzera, come mai ????

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 © 2024 vBulletin Solutions, Inc. All rights reserved.