Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    54

    <?=$link?> A cosa serve?

    Ciao a tutti!
    leggendo il sorgente di una guida sulla gestione utenti trovata su www.html.it sono arrivato a una parte di codice che ora vi scrivo:
    codice:
    	
    <tr>
    <td>Home Page</td>
    <td>Prima Pagina (pubblica)</td>
    <td>Seconda Pagina (privata)</td>
    <td>Terza Pagina (privata)</td>
    <td>Quarta Pagina (privata)</td>
    </tr>
    Quello che non capisco è il comando che ho scritto nel titolo del posto, ho visto che la variabile $link prende il valore del user id dal database se l'utente è già loggato altrimenti prende ="";
    MA non riesco a capire il suo utilizzo. mi poitete aiutare?

  2. #2

    Re: <?=$link?> A cosa serve?

    Originariamente inviato da SaM_ITA
    <?=$link?> A cosa serve?
    A scrivere codice non più supportato nelle versioni attuali di PHP ... ma tecnicamente è simile a questo:
    codice:
    <?php echo $link; ?>
    Il fatto del "vuoto" se la variabile non è settata, è un'altra assurdità nell'attualità del php, sia perchè non è mai stato vero, sia perchè implica che non hai controllo sulle variabili, ti affidi al fato o al munnezzum, sperando di ottenere il risultato sperato.

    Se sviluppi infatti con error_reporting attivo, noterai quanto le variabili vadano giustamente controllate ... non farlo, significa avere la curva di apprendimento più alta e la più alta percentuale di non programmatori ad utilizzare questo bel linguaggio di programmazione (colmo o paradosso?).


    P.S. l'articolo è in buona fede, ma è evidentemente datato ... anni fa, parecchi, scrivevano codice così, oggi è sconsigliabile per decine di motivi validi
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    54
    Grazie per la risposta. è possibile che per il fatto che non sia più supportato quel collegamento mi riportasse a una pagina di errore giusto? Un ultima cosa... sostituendo quella sinntassi con <?php echo($link); ?> ottengo lo stesso risultato?
    Grazie ancora

  4. #4
    se sei certo che $link sia stata settata precedentemente, sia come stringa vuota, che come quello che vuoi, puoi usare questa sintassi:
    codice:
    <tr>
    <td>Home Page</td>
    <td>Prima Pagina (pubblica)</td>
    <td>Seconda Pagina (privata)</td>
    <td>Terza Pagina (privata)</td>
    <td>Quarta Pagina (privata)</td>
    </tr>
    se non sei certo invece, puoi usare questa:
    codice:
    <?php $link = isset($link) ? $link : ''; ?>
    prima di tutto il resto
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    54
    penso che sia come ti scrivevo prima perchè la variabile conserva il valore della sessione dell'utente loggato, quindi risulta vuota se ancora il login non è stato effettuato. Provo a cambiare la sintassi e vedo che succede! Grazie mille

  6. #6
    Originariamente inviato da SaM_ITA
    penso che sia come ti scrivevo prima perchè la variabile conserva il valore della sessione dell'utente loggato, quindi risulta vuota se ancora il login non è stato effettuato
    risulta vuota ? ... cosa intendi per vuota ? è settata, non è settata, è null, è false, è empty("" | "0" | 0 | null | false | array()) ?

    Penso che i login siano la parte più delicata di un applicativo, affidarsi con poca esperienza ad un login datato è un suicidio, fidati ... chiedi aiuto a qualcuno esperto, o cambia script di gestione login e links ... è solo un consiglio
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    54
    ora funziona tutto alla perfezione, l'unico problema è che visto che la variabile non viene definita se non viene effettuato il login all'inizio mi da giustamente l'avviso che l'indice della variabile non è stato definito. Come posso nasconderlo?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    54
    ti scrivo il codice:
    codice:
    list($status, $user) = auth_get_status();
    
    if($status == AUTH_LOGGED & auth_get_option("TRANSICTION METHOD") == AUTH_USE_LINK){
    	$link = "?uid=".$_GET['uid'];
    }else	$link = '';
    è la prima guida che ho trovato sul sito e sto imparando da quella, poi ovviamente mi aggiornerò in base alle richieste che il mio sito avrà.
    Grazie per l'attenzione
    p.s. Se hai qualche link o qualche libro da consigliarmi sulla gestione delle sessioni e degli utenti te ne sarei grato

  9. #9
    Originariamente inviato da andr3a
    se non sei certo invece, puoi usare questa:
    codice:
    <?php $link = isset($link) ? $link : ''; ?>
    Originariamente inviato da andr3a
    ... Penso che i login siano la parte più delicata di un applicativo, affidarsi con poca esperienza ad un login datato è un suicidio, fidati ... chiedi aiuto a qualcuno esperto, o cambia script di gestione login e links ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.