Visualizzazione risultati 1 fino 15 di 15

Discussione: Bloccare lettura messaggi a "estranei"

  1. #1
    Guest

    Predefinito Bloccare lettura messaggi a "estranei"

    E rieccomi a chiedere aiuto...
    Oggi ho composto il seguente codice :

    Codice PHP:
    <?php


    $sql
    = "SELECT nome FROM utenti WHERE id = '".$_SESSION['user_id']."'";
    $result = mysql_query($sql);
    $array = mysql_fetch_array($result);


    $query = mysql_query('SELECT * FROM messaggi WHERE ricevente="'.$array['nome'].'" ORDER BY id DESC');
    if(
    mysql_num_rows($query))
    {
    while(
    $row = mysql_fetch_array($query)){
    echo
    "
    $row[titolo] da: $row[mittente]

    [<a href='messaggi.php?id=
    $row[id]'>Leggi</a>]

    <hr>"
    ;
    }
    }else{
    echo
    'Non possiedi messaggi!<hr>';
    }
    ?>
    [<a href="invia.php">Invia Messaggio</a>]
    <?php } ?>

    E non ci sono errori! ( ho tagliato il pezzo sopra, era un else sulla visualizzazione messaggi... ma non ci riguarda )

    Ora io vorrei imporre che solo chi è il ricevente può leggere il messaggio, cosa faccio?
    Dove metto l'if? ( se è un if... )

    Pensavo di usare $_SESSION['nome'], ma in effetti non saprei dove metterlo

    Grazie in anticipo a tutti!
    Ultima modifica di ageofvic : 26-09-2011 alle ore 22.13.13

  2. #2
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Prova a modificare
    Codice PHP:
    if(mysql_num_rows($query))
    con
    Codice PHP:
    if(mysql_num_rows($query)!=0)
    Poi, sei sicuro che la sessione è settata?
    Ciao!

  3. #3
    Guest

    Predefinito

    Sì la sessione è settatissima!
    Se non sono connesso con un utente a caso non mi fa vedere i messaggi...

    Però se cerco di leggere il messaggio 9 indirizzato a Tizio, io Caio posso leggerlo.
    Modificare come hai detto tu non serve a molto in questi casi!

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

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Hai messo la session_start() ?

    Ciao!
    Ok che sono scemo, ma non così tanto!

    Codice PHP:
    session_start(); // avvio il sesso

    if(empty($_SESSION['user_id'])) {
    die(
    'non ti è consentito l'accesso');
    }
    Queste sono le righe subito dopo la connessione

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

    Predefinito

    Scusami se ho tentato di aiutarti. Molti utenti avevano fatto quell'errore.

    Codice PHP:
    die('non ti è consentito l'accesso');
    Come puoi vedere dal colore, quella sintassi è errata.

    Comunque, dal tuo script iniziale, credo ci siano altri errorini. Prima però:
    cosa da in output lo script?
    (se non da niente), hai provato con degli echo a scopo di debug a verificare la correttezza delle variabili, ed (eventualmente), dove si blocca lo script?

    Ciao!

  7. #7
    Guest

    Predefinito

    Codice PHP:
    session_start(); // avvio il sesso

    if(empty($_SESSION['user_id'])) {
    die(
    'non ti è consentito l'accesso');
    }
    Se questo è esattamente il codice che usi dovresti avere almeno un messaggio di errore dovuto all'apice singolo in "l'accesso".

    La sintassi corretta è


    Codice PHP:
    session_start(); // avvio il sesso

    if(empty($_SESSION['user_id'])) {
    die(
    'non ti è consentito l\'accesso');
    }

  8. #8
    Guest

    Predefinito

    Non è quello il problema, il codice l'ho scritto in Spagnolo per metà, quindi ho tradotto istantaneamente la stringa...

    Comunque sia, ripeto che non c'è nessun errore!


    Volevo solo sapere come bloccare la lettura messaggi a chi non è il ricevente... Ho provato alcuni modi, ma inutilmente... Su questo ambito sono negato

  9. #9
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Non vorrei sbagliarmi, ma credo che l'errore sia nella prima if, dove metti come condizione mysql_num_rows($query), ma none metti che valore dovrà restituire la funzione per essere eseguita, ora, non saprei se può essere fatto anche cosi, ma io metterei mysql_num_rows($query) > 0, visto che: se la funzione restituisce dei record li deve essere eseguita e passare ad eseguire il ciclo while.

    Sevenjeak
    Software developer and much more

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

    Predefinito

    Qualsiasi numero positivo è interpretato come true, mentre lo 0 è false.
    Quindi, quell'if apparentemente va bene.

    @ageofvic: puoi rispondere alla mia domanda? Hai fatto un minimo di debug? O hai ignorato le mie risposte?

    Ciao!
    Ultima modifica di alemoppo : 03-10-2011 alle ore 18.10.14

  11. #11
    Guest

    Predefinito

    Alemoppo :

    Comunque sia, ripeto che non c'è nessun errore!
    Ho tradotto la stringa dallo spagnolo dove era scritto " No puedes entrar aquì" per metterlo in forum e farvelo capire, quindi errori non ce n'è.

    Chiedo semplicemente aiuto su come si blocca la lettura messaggi agli estranei, siccome non so farlo

    Avevo aggiunto un if($_SESSION['nome']== $row['ricevente']) { } ma non mi va...
    Ultima modifica di ageofvic : 03-10-2011 alle ore 20.17.08

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

    Predefinito

    Quell'if, lo fai direttamente nella query:

    Codice:
     WHERE ricevente="'.$array['nome'].'

    Il fatto che non ci sia nessun errore sintattico, non implica che lo script funzioni!

    Ciao!
    Ultima modifica di alemoppo : 03-10-2011 alle ore 20.55.40

  13. #13
    Guest

    Predefinito

    Eh ok... e un aiutino per risolvere?
    Ultima modifica di ageofvic : 03-10-2011 alle ore 21.11.34

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

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    cosa da in output lo script?
    (se non da niente), hai provato con degli echo a scopo di debug a verificare la correttezza delle variabili, ed (eventualmente), dove si blocca lo script?
    Mi hai risposto? O mi son perso qualcosa?

    Ciao!

  15. #15
    Guest

    Predefinito

    Scusate, comunque mi sono ingegnato un attimo ed ho risolto... dopo l'id messaggio ho messo numeri random, in modo che ad ogni lettura cambino!

    Grazie comunque :)

Regole di scrittura

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