• Moderatore

    html e php vanno divisi a meno che non utilizzi print ed echo
    esempi
    [php]
    <? echo"<html>"; ?>
    [/php]
    oppure
    [php]
    <?
    //codice
    ?>
    <html>
    <? //codice ?>
    [/php]


  • User Attivo

    @massimux said:

    html e php vanno divisi a meno che non utilizzi print ed echo
    esempi
    [php]
    <? echo"<html>"; ?>
    [/php]
    oppure
    [php]
    <?
    //codice
    ?>
    <html>
    <? //codice ?>
    [/php]
    ok..ho capito....stava alla riga 10 l errore...

    ecco
    [PHP]
    <?
    //Apro la sessione e...
    session_start();
    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1){
    //se si... ?> [/PHP]

    [PHP]
    <html>
    <head>
    <body>
    <table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
    <tr>
    <td colspan="4">
    <div align="center"><font color="#0000FF"><b>Lettura dei messaggi ricevuti</b></font></div>
    </td>
    </tr>
    <tr>
    <td>
    <div align="center"><b>Nome</b></div>
    </td>
    <td>
    <div align="center"><b>Oggetto</b></div>
    </td>
    <td>
    <div align="center"><b>Messaggio</b></div>
    </td>
    <td>
    <div align="center"><b>Data</b></div>
    </td>
    //mi connetto al datase
    $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    //seleziono il database
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
    //seleziono dalla tabella messaggi i 4 campi da visualizzare
    $strsql="SELECT (nome_inviante,oggetto,messaggio,data) FROM messaggi";

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    echo "I tuoi messaggi";
    .. // connessione al db
    //faccio un ciclo while
    while ($riga = mysql_fetch_array($rs)) {
    $str_nome = $riga['nome_inviante'];
    $str_oggetto= $riga['oggetto'];
    $str_messaggio = $riga['messaggio'];
    $str_data = $riga['data'];
    echo "<tr><td>$str_nome</td><td>$str_oggetto</td><td>$str_messaggio</td><td>$str_data</td>";
    }
    else {
    //altrimenti...
    echo "Non sei loggato...";
    //annullo tutte le chiavi di sessioni se esistono
    session_unset();
    session_destroy();
    header("Location: login.htm");
    }
    ?>
    [/PHP]
    tanto per cambiare....
    Parse error: syntax error, unexpected '.' in /membri/italiawebchat/leggimessaggi.php on line 41⭕o:o


  • Moderatore

    echo "I tuoi messaggi";
    .. // connessione al db


  • User Attivo

    @massimux said:

    echo "I tuoi messaggi";
    .. // connessione al db

    Che orrori stupidi che faccio ⭕o❌x:x a posto holto i 2 puntini.. ma ne
    è uscito un altro...

    Parse error: syntax error, unexpected T_ELSE in /membri/italiawebchat/leggimessaggi.php on line 48

    ❌x❌o:o sto facendo mille cambiamenti ma nulla....


  • Moderatore

    [PHP]
    <?
    //Apro la sessione e...
    session_start();
    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1){
    //se si...
    ?>
    <html>
    <head>
    <body>
    <table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
    <tr>
    <td colspan="4">
    <div align="center"><font color="#0000FF"><b>Lettura dei messaggi ricevuti</b></font></div>
    </td>
    </tr>
    <tr>
    <td>
    <div align="center"><b>Nome</b></div>
    </td>
    <td>
    <div align="center"><b>Oggetto</b></div>
    </td>
    <td>
    <div align="center"><b>Messaggio</b></div>
    </td>
    <td>
    <div align="center"><b>Data</b></div>
    </td>
    <?
    //mi connetto al datase
    $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    //seleziono il database
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
    //seleziono dalla tabella messaggi i 4 campi da visualizzare
    $strsql="SELECT (nome_inviante,oggetto,messaggio,data) FROM messaggi";

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    echo "I tuoi messaggi";
    // connessione al db
    //faccio un ciclo while
    while ($riga = mysql_fetch_array($rs)) {
    $str_nome = $riga['nome_inviante'];
    $str_oggetto= $riga['oggetto'];
    $str_messaggio = $riga['messaggio'];
    $str_data = $riga['data'];
    echo "<tr><td>$str_nome</td><td>$str_oggetto</td><td>$str_messaggio</td><td>$str_data</td>";
    }//qui chiudi il while
    }//qui chiudi l'IF
    else {
    //altrimenti...
    echo "Non sei loggato...";
    //annullo tutte le chiavi di sessioni se esistono
    session_unset();
    session_destroy();
    header("Location: login.htm");
    }
    ?>
    [/PHP]


  • Moderatore

    questa è una cosa che ti dico io 😉

    [php]
    //seleziono dalla tabella messaggi i 4 campi da visualizzare
    $strsql="SELECT nome_inviante,oggetto,messaggio,data FROM messaggi WHERE nome_destinatario = $_SESSION[nome] ORDER BY data";
    [/php]

    utilizza questa query 🙂


  • User Attivo

    @massimux said:

    questa è una cosa che ti dico io 😉

    [php]
    //seleziono dalla tabella messaggi i 4 campi da visualizzare
    $strsql="SELECT nome_inviante,oggetto,messaggio,data FROM messaggi WHERE nome_destinatario = $_SESSION[nome] ORDER BY data";
    [/php]

    utilizza questa query 🙂
    Grazie Antonio....ora mi e chiaro anche il campo nome_destinatario...praticamente li va il nome di chi invia il messaggio..recuperato con la variabile dis essione $_SESSION[nome] grazie:)

    Ora succede ciò ti spiego....effettuo il login e dentro nella pagina pannellodicontrollo.html da li' se clikko su leggi i miei messaggi
    mi esce laseguente scritta

    Errore query database: Unknown column 'marcus' in 'where clause'

    marcus sarebbe il nik che ho usato per fare il login


  • Moderatore

    cavolo che errore che ho fatto... 🙂

    scusami....

    [PHP]
    //seleziono dalla tabella messaggi i 4 campi da visualizzare
    $strsql="SELECT nome_destinatario,nome_inviante,oggetto,messaggio,data FROM messaggi WHERE nome_destinatario=$_SESSION[nome] ORDER BY data";
    [/php]

    il campo nome_destinatario ti dice solo per chi è il messaggio tutto qui 🙂


  • User Attivo

    @massimux said:

    cavolo che errore che ho fatto... 🙂

    scusami....

    [PHP]
    //seleziono dalla tabella messaggi i 4 campi da visualizzare
    $strsql="SELECT nome_destinatario,nome_inviante,oggetto,messaggio,data FROM messaggi WHERE nome_destinatario=$_SESSION[nome] ORDER BY data";
    [/php]

    il campo nome_destinatario ti dice solo per chi è il messaggio tutto qui 🙂

    [php]
    //seleziono dalla tabella messaggi i 4 campi da visualizzare
    $strsql="SELECT nome_ricevente,nome_inviante,oggetto,messaggio,data FROM messaggi WHERE nome_ricevente=$_SESSION[nome] ORDER BY data";
    [/PHP]
    al posto di nome_destinatario ho messo nome_ricevente perche sulla mia tabella ho nome_ricevente come campo....ma nulla mi da sempre quella scritta

    Errore query database: Unknown column 'marcus' in 'where clause'

    nel ciclo while..manca qualcosa...:?:? nome_ricevente?


  • Moderatore

    mi copi ed incolli la tua pagina? grazie!!!


  • User Attivo

    @massimux said:

    mi copi ed incolli la tua pagina? grazie!!!

    [PHP]
    <?
    //Apro la sessione e...
    session_start();
    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1){
    //se si...
    ?>
    <html>
    <head>
    <body>
    <table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
    <tr>
    <td colspan="4">
    <div align="center"><font color="#0000FF"><b>Lettura dei messaggi ricevuti</b></font></div>
    </td>
    </tr>
    <tr>
    <td>
    <div align="center"><b>Nome inviante</b></div>
    </td>
    <td>
    <div align="center"><b>Nome ricevente</b></div>
    </td>
    <td>
    <div align="center"><b>Oggetto</b></div>
    </td>
    <td>
    <div align="center"><b>Messaggio</b></div>
    </td>
    <td>
    <div align="center"><b>Data</b></div>
    </td>
    <?
    //mi connetto al datase
    $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    //seleziono il database
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
    //seleziono dalla tabella messaggi i 4 campi da visualizzare
    //seleziono dalla tabella messaggi i 4 campi da visualizzare
    $strsql="SELECT nome_ricevente,nome_inviante,oggetto,messaggio,data FROM messaggi WHERE nome_ricevente=$_SESSION[destinatario] ORDER BY data";

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    echo "I tuoi messaggi";
    // connessione al db
    //faccio un ciclo while
    while ($riga = mysql_fetch_array($rs)) {
    $str_nome = $riga['nome_inviante'];
    $str_oggetto= $riga['oggetto'];
    $str_messaggio = $riga['messaggio'];
    $str_data = $riga['data'];
    $str_ricevente = $riga['destinatario'];
    echo "<tr><td>$str_nome</td><td>$str_oggetto</td><td>$str_messaggio</td><td>$str_data</td><td>$str_ricevente</td>";
    }//qui chiudi il while
    }//qui chiudi l'IF
    else {
    //altrimenti...
    echo "Non sei loggato...";
    //annullo tutte le chiavi di sessioni se esistono
    session_unset();
    session_destroy();
    header("Location: login.htm");
    }
    ?>[/PHP]


  • Moderatore

    [PHP]
    <?
    //Apro la sessione e...
    session_start();
    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1){
    //se si...
    ?>
    <html>
    <head>
    <body>
    <table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
    <tr>
    <td colspan="4">
    <div align="center"><font color="#0000FF"><b>Lettura dei messaggi ricevuti</b></font></div>
    </td>
    </tr>
    <tr>
    <td>
    <div align="center"><b>Nome inviante</b></div>
    </td>
    <td>
    <div align="center"><b>Nome ricevente</b></div>
    </td>
    <td>
    <div align="center"><b>Oggetto</b></div>
    </td>
    <td>
    <div align="center"><b>Messaggio</b></div>
    </td>
    <td>
    <div align="center"><b>Data</b></div>
    </td>
    <?
    //mi connetto al datase
    $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    //seleziono il database
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
    //seleziono dalla tabella messaggi i 4 campi da visualizzare
    $strsql="SELECT nome_ricevente,nome_inviante,oggetto,messaggio,data FROM messaggi WHERE nome_ricevente=".$_SESSION['nome']." ORDER BY data";

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    //faccio un ciclo while
    while ($riga = mysql_fetch_array($rs)) {
    $str_nome = $riga['nome_inviante'];
    $str_oggetto= $riga['oggetto'];
    $str_messaggio = $riga['messaggio'];
    $str_data = $riga['data'];
    $str_ricevente = $riga['nome_ricevente'];
    echo "<tr><td>$str_nome</td><td>$str_oggetto</td><td>$str_messaggio</td><td>$str_data</td><td>$str_ricevente</td>";
    }//qui chiudi il while
    }//qui chiudi l'IF
    else {
    //altrimenti...
    echo "Non sei loggato...";
    //annullo tutte le chiavi di sessioni se esistono
    session_unset();
    session_destroy();
    header("Location: login.htm");
    }
    ?>[/PHP]

    controlla bene quando modifichi qualcosa va modificata da entrambe le parti.... parlo delle query 🙂

    dimmi se ora va


  • User Attivo

    @massimux said:

    [PHP]
    <?
    //Apro la sessione e...
    session_start();
    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1){
    //se si...
    ?>
    <html>
    <head>
    <body>
    <table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
    <tr>
    <td colspan="4">
    <div align="center"><font color="#0000FF"><b>Lettura dei messaggi ricevuti</b></font></div>
    </td>
    </tr>
    <tr>
    <td>
    <div align="center"><b>Nome inviante</b></div>
    </td>
    <td>
    <div align="center"><b>Nome ricevente</b></div>
    </td>
    <td>
    <div align="center"><b>Oggetto</b></div>
    </td>
    <td>
    <div align="center"><b>Messaggio</b></div>
    </td>
    <td>
    <div align="center"><b>Data</b></div>
    </td>
    <?
    //mi connetto al datase
    $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    //seleziono il database
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
    //seleziono dalla tabella messaggi i 4 campi da visualizzare
    $strsql="SELECT nome_ricevente,nome_inviante,oggetto,messaggio,data FROM messaggi WHERE nome_ricevente=".$_SESSION['nome']." ORDER BY data";

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    //faccio un ciclo while
    while ($riga = mysql_fetch_array($rs)) {
    $str_nome = $riga['nome_inviante'];
    $str_oggetto= $riga['oggetto'];
    $str_messaggio = $riga['messaggio'];
    $str_data = $riga['data'];
    $str_ricevente = $riga['nome_ricevente'];
    echo "<tr><td>$str_nome</td><td>$str_oggetto</td><td>$str_messaggio</td><td>$str_data</td><td>$str_ricevente</td>";
    }//qui chiudi il while
    }//qui chiudi l'IF
    else {
    //altrimenti...
    echo "Non sei loggato...";
    //annullo tutte le chiavi di sessioni se esistono
    session_unset();
    session_destroy();
    header("Location: login.htm");
    }
    ?>[/PHP]

    controlla bene quando modifichi qualcosa va modificata da entrambe le parti.... parlo delle query 🙂

    dimmi se ora va
    no e sempre lo stesso messaggio...:(
    Errore query database: Unknown column 'marcus' in 'where clause'

    marcus asarebbe il nik con cui fatto il login

    ❌x❌x


  • Bannato User Attivo

    nome_ricevente='".$_SESSION['nome']."'

    le stringhe vanno messe tra apici altrimenti diventano un oggetto mysql.


  • User Attivo

    @saro78 said:

    nome_ricevente='".$_SESSION['nome']."'

    le stringhe vanno messe tra apici altrimenti diventano un oggetto mysql.

    Grazie saro78 ..ora funziona...nessun errore grande..siete fantastici su questo forum...in pokissimo tempo sto apprendendo tantissimo etutto ciò grazie a voi..e a massimux in particolare:wink3:


  • User Attivo

    @carlitos1982 said:

    Grazie saro78 ..ora funziona...nessun errore grande..siete fantastici su questo forum...in pokissimo tempo sto apprendendo tantissimo etutto ciò grazie a voi..e a massimux in particolare:wink3:

    praticamente ora ci sarebbe da fare una modifica...mi spiego...la pagina invio.php (che sarebbe il form per l invio dei messaggi)
    [PHP]
    <?
    //Apro la sessione e...
    session_start();
    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1){
    //se si...
    ?>
    <html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Pannello di controllo utente</title>
    </head>

    <body>
    <?
    //facciamo una stampata a video!
    echo "Ciao " . $_SESSION[nome] . "Scrivi il messaggio che vuoi inviare";
    ?>
    <form method="post" action="invio.php">
    <p>Destinatario</p>
    <p><input type="text" name="destinatario" value=""</p>
    <p>Oggetto</p>
    <p><input type="text" name="oggetto" value="" size="20"</p>
    <textarea name="messaggio"></textarea>
    <input type="submit" value="Invia messaggio">
    </form>
    <?
    } else {
    //altrimenti...
    echo "Non sei loggato...";
    //annullo tutte le chiavi di sessioni se esistono
    session_unset();
    session_destroy();
    header("Location: login.htm");
    }
    ?>
    [/PHP]
    prevede che io per spedire il messaggio all utente desiderato debba inserire manualmente il nome del destinatario nel seguente campo
    [PHP]<p>Destinatario</p>
    <p><input type="text" name="destinatario" value=""</p> [/PHP]
    ora voglio fare la seguente cosa... facendo un esempio..io o un altro utente del sito decide di mandare un messaggio ad un altro utente semplicemente andando sulla pagin del suo profilo..quindi inserire un link nella pagina di ogni utente "INVIA MESSAGGIO".....cio però deve esser pssibile senza che io scriva manualmente nel campo destinatario il nome dell utente a cui voglio mandare il messaggio....
    Ho pensato di fare una cosa simile....
    Io ad ogni utente iscritto una volta che esegue il login faccio si che venga rimandato sulla pagina PANNELLODICONTROLLO.PHP che nel corpo della pagina prevede già di suo i seguente link
    logout.php per effettuare il logout
    leggimessaggi.php che permette di leggere i messaggi ricevuti
    inviamessaggio.php che permette di mandare un messaggio ad un utente...con la pecca però di di dovere scrivere ne campo destinatario il nome a cui si vuole mandare il messaggio...
    Sarebbe iil caso di creare una pagina listaiscritti con tutti gli iscritti e da li poi
    dare modo di mandare il messaggio a chi si vuole...giusto?


  • Moderatore

    si, si può fare anche così 🙂

    ps. grazie Saro dimenticavo gli apici

    tanto poi basta modificare, velocemente, inviamessaggio.php e abbiamo risolto 🙂

    allora invece di chiedere tu scripta e posta 🙂


  • User Attivo

    @massimux said:

    si, si può fare anche così 🙂

    ps. grazie Saro dimenticavo gli apici

    tanto poi basta modificare, velocemente, inviamessaggio.php e abbiamo risolto 🙂

    allora invece di chiedere tu scripta e posta 🙂
    allora...ho immaginato la pagina listaiscritti piu o meno cosi'...se voglio renderla accessibile solo agli utenti iscritti mi basta fare un controllo sul login...se invece la voglio fare accessibbile a chiunque nn faccio nessun controllo sul login..e fin qui ci ono...per mostrare a video gli iscritti mi basta fare una query al database alla tabella iscritti e decidere poi qual campi mostrare dell iscritto....e anche fin qui ci sono...:)l unica cosa sulla quale nn ci sono affatto e come rendere linkabile in modo univoco ogni utente iscritto....cioè quando mostro a video gli iscritti come faccio a fars si' che clikkando sul nome dell utente desiderato posso accedere al suo profilo?Premetto che nella pagina listaiscritti mostrerò a video soltanto il campo nome della tabella iscritti....questo campo nome però che mostroa video deve essere linkabile...in modo che clikkandoci sopra possa accedere al profilo completo...da cui mostrare poi tutti i campi relativi all utente...cioè email...data iscrizione....descrizione...età...ect:?:?:?


  • Moderatore

    imposta la pagina e fai tutto io ti farò vedere 🙂


  • User Attivo

    @massimux said:

    imposta la pagina e fai tutto io ti farò vedere 🙂

    eccol la pagina listaiscritti:)
    [PHP]
    <?
    //Apro la sessione e...
    session_start();
    // opto quindi per la visualizzazione ai solo iscritti
    if($_SESSION['logged']==1){
    //se si...
    ?>
    <html>
    <head>
    <body>
    <table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
    <tr>
    <td colspan="4">
    <div align="center"><font color="#0000FF"><b>Lista iscritti</b></font></div>
    </td>
    </tr>
    <tr>
    <td>
    <div align="center"><b>UTENTE</b></div>
    </td>

    <?
    //mi connetto al datase
    $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    //seleziono il database
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
    //seleziono solo il campo nome dalla tabella iscritti
    $strsql="SELECT nome FROM iscritti";

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    //faccio un ciclo while
    while ($riga = mysql_fetch_array($rs)) {
    $str_nome = $riga['nome'];

    echo "<tr><td>$str_nome</td><td>";
    }//qui chiudi il while
    }//qui chiudi l'IF
    else {
    //altrimenti...
    echo "Non sei loggato...";
    //annullo tutte le chiavi di sessioni se esistono
    session_unset();
    session_destroy();
    header("Location: login.htm");
    }
    ?>[/PHP]