Visualizzazione risultati 1 fino 21 di 21

Discussione: PHP: if $1 diverso da $2

  1. #1
    L'avatar di ilmiocaos
    ilmiocaos non è connesso Utente
    Data registrazione
    03-06-2009
    Residenza
    Terra
    Messaggi
    226

    Predefinito PHP: if $1 diverso da $2

    Avrei bisogno di un'aiuto, ho un problema legato al settaggio delle sessioni e dei cookie: I cookie e le sessioni non vengono settati se c'è stato un qualunque output prima quindi io volevo fare in modo che lo script che esegue il login verifichi prima se certe condizioni sono false, come posso fare?

    Io prima usavo questo script:

    Codice PHP:
    if ($row['password'] == $password {

    fai questo

    }
    COme dovrei modificarlo per far si che verifichi se sono diverse?
    Quando il saggio indica la luna, lo sciocco guarda il dito - Proverbio Cinese



    Fatti Pubblicità sul mio sito Gratuitamente!: PageYou

  2. #2
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    L'operatore necessario è !=

    E qui trovi la lista completa: http://php.net/manual/en/language.op...comparison.php

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da ilmiocaos Visualizza messaggio
    I cookie e le sessioni non vengono settati se c'è stato un qualunque output prima
    Davvero? non lo sapevo...

    mmm

    se usi questo non le te le setta le sessioni?

    Codice PHP:
    if ($row['password'] != $password {

    //contnuo il codice

    }else{

    print
    "Passwoed password errata...";

    }
    Ultima modifica di zomer : 23-01-2010 alle ore 16.11.01

  4. #4
    L'avatar di darkwolf
    darkwolf non è connesso Super Moderatore
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,552

    Predefinito

    C'è anche un errore di sintassi (la parentesi finale)
    Codice PHP:
    if ($row['password'] !== $password) {
    ...
    }
    ?
    Ultima modifica di darkwolf : 23-01-2010 alle ore 16.12.49
    » Salvatore Noschese - L'AltroWeb | Seguimi su: facebook | twitter | Google+
    # Che aspetti? Unisciti alla community! Tanti nuovi gruppi ti aspettano


  5. #5
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Citazione Originalmente inviato da zomer Visualizza messaggio
    Davvero? non lo sapevo...

    mmm

    se usi questo non le te le setta le sessioni?
    Infatti i cookie non vengono settati se è stato inviato un output prima

  6. #6
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da mycarlo Visualizza messaggio
    Infatti i cookie non vengono settati se è stato inviato un output prima
    se entra nel ramo else no.
    Dai un occhiata qui: http://php.html.it/articoli/leggi/84...lo-delloutput/

    ciao

    edit:
    Citazione Originalmente inviato da darkwolf Visualizza messaggio
    C'è anche un errore di sintassi (la parentesi finale)
    Codice PHP:
    if ($row['password'] !== $password) {
    ...
    }
    ?
    anche un = in più
    Ultima modifica di Xsescott : 23-01-2010 alle ore 16.51.13
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  7. #7
    L'avatar di darkwolf
    darkwolf non è connesso Super Moderatore
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,552

    Predefinito

    Citazione Originalmente inviato da Xsescott Visualizza messaggio
    più
    Veramente l'uguale in più l'ho messo di proposito (identical) :/

    Codice PHP:
    $row['password'] = "7";
    $password = "000000000007";
    if (
    $row['password'] != $password) {
    echo
    "errata";
    }else{
    echo
    "ok";
    }
    darà ok;
    Codice PHP:
    $row['password'] = "7";
    $password = "000000000007";
    if (
    $row['password'] !== $password) {
    echo
    "errata";
    }else{
    echo
    "ok";
    }
    darà errata.
    -
    Trattandosi di password direi che è praticamente impossibile che con "uguale" (=) ci siano dei problemi ma... credo che con "identical" sia più corretto :P
    -
    Edit: http://www.php.net/manual/en/languag...ison.php#43754
    Ultima modifica di darkwolf : 23-01-2010 alle ore 17.02.02
    » Salvatore Noschese - L'AltroWeb | Seguimi su: facebook | twitter | Google+
    # Che aspetti? Unisciti alla community! Tanti nuovi gruppi ti aspettano


  8. #8
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Da premettere che non conoscevo questo operatore, però mi sorge una domanda:
    se io metto un numero tra doppi apici, l'inteprete php dovrebbe memorizzarlo come stringa giusto??
    quindi sei sicuro che sia esattamente come dici tu? lo vedo più sensato senza i doppi apici, quindi interpetandolo come un intero a n bit :) bho però posso sbagliarmi!:P
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  9. #9
    L'avatar di darkwolf
    darkwolf non è connesso Super Moderatore
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,552

    Predefinito

    Leggi "credo" :)
    Insomma, no, non ne sono sicuro e visto che ci siamo non mi dispiacerebbe sentire un terzo parere
    » Salvatore Noschese - L'AltroWeb | Seguimi su: facebook | twitter | Google+
    # Che aspetti? Unisciti alla community! Tanti nuovi gruppi ti aspettano


  10. #10
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da darkwolf Visualizza messaggio
    Leggi "credo" :)
    Insomma, no, non ne sono sicuro e visto che ci siamo non mi dispiacerebbe sentire un terzo parere
    ho letto, effettivamente è come dici tu.
    il problema reale è che io ho sempre pensato che per php tutto quello che stà tra i doppi apici è interpretato come stringa indi per cui un numero messo tra doppi apici risulta comunque di tipo stringa per l'interprete e quindi su due stringhe di lunghezza diversa sarebbe potuto bastare un !=, ma non è cosi, quindi mi chiedo se è proprio il fatto che comunque php un numero senza lettere messo tra doppi apici lo interpreta con un numero intero vero e proprio alla fine
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  11. #11
    L'avatar di ilmiocaos
    ilmiocaos non è connesso Utente
    Data registrazione
    03-06-2009
    Residenza
    Terra
    Messaggi
    226

    Predefinito

    Grazie mille a tutti per l'aiuto, ma qualcuno di voi ha mai fatto una sessione di login, se si come ha risolto questo problema?
    Quando il saggio indica la luna, lo sciocco guarda il dito - Proverbio Cinese



    Fatti Pubblicità sul mio sito Gratuitamente!: PageYou

  12. #12
    Guest

    Predefinito

    io lo fatta ma non uso i cookie uso solo le sessioni...

  13. #13
    L'avatar di ilmiocaos
    ilmiocaos non è connesso Utente
    Data registrazione
    03-06-2009
    Residenza
    Terra
    Messaggi
    226

    Predefinito

    le metti prima di ogni cosa e verifichi che le condizioni siano vere?
    Quando il saggio indica la luna, lo sciocco guarda il dito - Proverbio Cinese



    Fatti Pubblicità sul mio sito Gratuitamente!: PageYou

  14. #14
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Citazione Originalmente inviato da ilmiocaos Visualizza messaggio
    le metti prima di ogni cosa e verifichi che le condizioni siano vere?
    Per quanto riguarda le sessioni l'unica cosa di cui devi preoccuparti è avviarle prima di qualsiasi output (session_start()), poi puoi usarle come vuoi (mentre i cookie sono diversi).

    Codice PHP:
    <?php
    session_start
    ();

    echo
    "output";

    $_SESSION["sessione"] = "valore"; // funziona
    ?>
    Se session_start() si trova dopo un output le sessioni non funzioneranno
    Ultima modifica di mycarlo : 24-01-2010 alle ore 00.19.08

  15. #15
    L'avatar di ilmiocaos
    ilmiocaos non è connesso Utente
    Data registrazione
    03-06-2009
    Residenza
    Terra
    Messaggi
    226

    Predefinito

    Ma sbaglio o non posso desettarle dopo un output?
    Quando il saggio indica la luna, lo sciocco guarda il dito - Proverbio Cinese



    Fatti Pubblicità sul mio sito Gratuitamente!: PageYou

  16. #16
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,184

    Predefinito

    si, puoi settarle; l'importante è che metti il session_start() prima di pogni altra cosa; perché infatti agisce sugli header della pagina e non sul contenuto.

    Ciao!

    EDIT: avevo perso una D

    Cosa indenti con desettarle?

    EDIT2:

    Intendi Resettarle? ..ovvero DISTRUGGERE una sessione?

    Usa session_unset();
    oppure session_destroy(); per eliminare tutte le variabili di sessione.
    Leggi qui.
    Ultima modifica di alemoppo : 24-01-2010 alle ore 00.36.17

  17. #17
    L'avatar di ilmiocaos
    ilmiocaos non è connesso Utente
    Data registrazione
    03-06-2009
    Residenza
    Terra
    Messaggi
    226

    Predefinito

    Intendo l'utilizzo della funzione unset() su una sessione
    Quando il saggio indica la luna, lo sciocco guarda il dito - Proverbio Cinese



    Fatti Pubblicità sul mio sito Gratuitamente!: PageYou

  18. #18
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,184

    Predefinito

    appunto guarda sopra. Comunque ricordo che mi funzionava anche unset() sulle sessioni, ma quelle che ti ho scritto sopra sono specifiche, anche se session_unset() è obsoleta.

    Ciao!
    Ultima modifica di alemoppo : 24-01-2010 alle ore 01.04.50

  19. #19
    L'avatar di ilmiocaos
    ilmiocaos non è connesso Utente
    Data registrazione
    03-06-2009
    Residenza
    Terra
    Messaggi
    226

    Predefinito

    Ma anche questi comandi vanno espressi prima di un output?
    Quando il saggio indica la luna, lo sciocco guarda il dito - Proverbio Cinese



    Fatti Pubblicità sul mio sito Gratuitamente!: PageYou

  20. #20
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,184

    Predefinito

    no!... anche dopo

  21. #21
    Guest

    Predefinito

    Comunque mi sento di fare una piccola correzione. I cookie e le sessioni non sono due sistemi che si devono sostituire, ma complementari. Infatti le sessioni funzionano comunque grazie ai cookie. Che poi le prime siano più sicure dei secondi è semplicemente dovuto al fatto che le sessioni sono dei file di testo che vengono modificati sul sistema ospitante PHP, e non sul computer del visitatore, che quindi non può modificarli.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •