Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    49

    Abilitare e disabilitare link

    Ciao a tutti, sto creando una pagina web (che dovrà far parte di un sito web) di login. Vorrei avere un informazione: una volta autenticatosi, di fianco al nome dell'utente ho inserito un link che permette di fare il logout dalla pagina. Volevo però rendere il link attivo solo nel caso in cui un utente è effettivamente loggato (avevo pensato ad una funzione di login che restituisse dei valori booleani per confermare l'autenticazione). Esiste un modo per fare ciò che ho descritto (quindi disabilitare temporaneamente un link)?

    Grazie a tutti per l'aiuto

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Come fai a decidere se un utente ha o no accesso ad una pagina riservata agli utenti loggati?
    All'atto del login non metti una qualche variabile in sessione che definisce il login effettuato?

    Ecco, per decidere se far apparire il link o no usa tale variabile.

  3. #3
    nella pagina che fa l'action del form di login dovrai inserire una sessione così: $_SESSIOON['ID'] = $ID.

    E per verificare che sia loggato basta fare così:

    if ( $_SESSION['ID'] != "" ) { echo "Logout"; }

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    49
    L'uso delle variabili di sessione era già previsto per tenere traccia di chi effettua il login ma pensavo esistesse anche qualche tag che permette di disabilitare i link. Comunque grazie per avermi schiarito le idee

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da cwk28
    L'uso delle variabili di sessione era già previsto per tenere traccia di chi effettua il login ma pensavo esistesse anche qualche tag che permette di disabilitare i link. Comunque grazie per avermi schiarito le idee
    Attenzione. Disabilitare significa che il tag esiste nella pagina ma non è attivo. Il php crea le pagine html ma non ne gestisce il contenuto. Questo è il compito del browser. Se vuoi disabilitare un tag devi usare javascript. Se non vuoi crearlo (come è meglio fare) puoi usare php.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da badaze
    Attenzione. Disabilitare significa che il tag esiste nella pagina ma non è attivo. Il php crea le pagine html ma non ne gestisce il contenuto. Questo è il compito del browser. Se vuoi disabilitare un tag devi usare javascript. Se non vuoi crearlo (come è meglio fare) puoi usare php.
    Ho qualche dubbio
    Codice PHP:
    if ( $_SESSION['ID'] != "" ) { echo "[url='logout.php']Logout[/url]"; }else{echo "Logout"; } 
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    49
    Effettivamente il fatto di disabilitare il link era quello che avrei voluto fare. Dovessi usare Javascript, nel caso in cui qualche utente avesse sul browser il javascript disabilitato, i link sarebbero però attivi entrambi, giusto? Inoltre quale sarebbe il codice da scrivere in JS per disabilitare il link??? Grazie ancora a tutti!!!

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Premesso che "servire" al browser un link attivo per poi disabilitarlo lo trovo ridondante, e potrebbe avere ragione d'esistere nel caso di navigazione con ajax.
    Per disattivare un link come prima cosa lo devi identificare con un id (univoco) poi usi removeAttribute
    Codice PHP:
    if ( $_SESSION['ID'] != "" ) { 
    echo 
    "[url='logout.php']Logout[/url]
    <script>
    document.getElementById('logoutlink').removeAttribute('href');
    </script>"
    ;

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da cavicchiandrea
    Ho qualche dubbio
    Codice PHP:
    if ( $_SESSION['ID'] != "" ) { echo "[url='logout.php']Logout[/url]"; }else{echo "Logout"; } 
    Nel tuo esempio o lo crei o non lo crei. In ogni caso non viene disabilitato.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da badaze
    Nel tuo esempio o lo crei o non lo crei. In ogni caso non viene disabilitato.
    Nel caso di un link la "disabilitazione" è eliminare il href non supportando attributo disabled come hanno altri tag e comunque il risultato sarebbe identico sia eseguendolo con php che con js, i miei dubbi erano che il php non gestisce i contenuti ma che li gestisce js, affermazione inesatta fino a poco tempo fa (prima di jquery) un corretto sviluppo della pagina doveva avvenire a js disattivato (perché certi browser sopratutto per mobile e tablet non lo prevedevano) con lo svantaggio che dovevi ricaricare la pagina
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.