- Home
- Categorie
- Coding e Sistemistica
- Coding
- Dare la possibilità agli utenti registrati di mandarsi dei messaggi
-
@carlitos1982 said:
Ecco la pagina invio.php
[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...
?>
<?//recupero i valori dal form precedente
$cdestinatario = $_POST['destinatario'];
$coggetto = $_POST['oggetto'];
$cmessaggio = $_POST['messaggio'];//mi connetto al database
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
//seleziono la tabella
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());$strsql="INSERT INTO messaggi (nome_inviante,oggetto,messaggio) VALUES ('$cdestinatario','$coggetto','$cmessaggio')";
@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
echo "Messaggio inviato";
header("Location: leggimessaggi.php");
?>
[/PHP]
Antonio nn va:(praticamente mi da un errore di sintassiParse error: syntax error, unexpected $end in /membri/italiawebchat/invio.php on line 28
Ok risolto..era una parentesi maledetta
x
Funziona si....ma nn forse come dovrebbe:?:?????...cioè la cosa piu chiara che mi fa questo form e recupere il messaggio e scriverlo nel database nel campo messaggi...gli altri 2 campi che mi hai fatto aggiungere nel form destinatario e oggetto nn ho capito cosa servono e cosa dovrebbe scrivere un eventuale utente nei campi oggetto e destinatario..piu che altro il ca,mpo destinatario non mi e chiaro......e nn ho capito cosa servono i campi nome_inviante ,nome_ricevente,oggetto, :?:?:?:?
Mi sto di nuovo confondendo le ideex:x
-
impossibile che funzioni
una cosa che devi imparare è la logica, se non hai quella non andrai da nessuna partedevi ragionare....
[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...//recupero i valori dal form precedente
$cdestinatario = $_POST['destinatario'];
$coggetto = $_POST['oggetto'];
$cmessaggio = $_POST['messaggio'];
$cmittente = $_SESSION['nome'];//mi connetto al database
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
//seleziono la tabella
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());$strsql="INSERT INTO messaggi (nome_inviante,nome_destinatario,oggetto,messaggio,date) VALUES ('$mittente','$cdestinatario','$coggetto','$cmessaggio',NOW())";
@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
echo "Messaggio inviato";
header("Location: leggimessaggi.php");
}
else {
//altrimenti...
echo "Non sei loggato...";
//annullo tutte le chiavi di sessioni se esistono
session_unset();
session_destroy();
header("Location: login.htm");
}
?>
[/php]quando apri una parentesi graffa { và sempre chiusa finita l'istruzione altrimenti sarà sempre un'errore di sintassi
la funzione NOW() che vedi nell'insert serve ad assegnare data ed orario senza utilizzare i soliti comandi date(); di php
penso che ora sia più chiara anche la tabella come vedrai il mittente è l'utente che invia il messaggio mentre il ricevente è il "DESTINATARIO" l'oggetto come in tutte le messaggistiche è una piccola anteprima del testo del messaggio.
ed ora prova un leggimessaggi... questo sarà abbastanza complicato
-
@massimux said:
impossibile che funzioni
una cosa che devi imparare è la logica, se non hai quella non andrai da nessuna partedevi ragionare....
[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...//recupero i valori dal form precedente
$cdestinatario = $_POST['destinatario'];
$coggetto = $_POST['oggetto'];
$cmessaggio = $_POST['messaggio'];
$cmittente = $_SESSION['nome'];//mi connetto al database
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
//seleziono la tabella
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());$strsql="INSERT INTO messaggi (nome_inviante,nome_destinatario,oggetto,messaggio,date) VALUES ('$mittente','$cdestinatario','$coggetto','$cmessaggio',NOW())";
@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
echo "Messaggio inviato";
header("Location: leggimessaggi.php");
}
else {
//altrimenti...
echo "Non sei loggato...";
//annullo tutte le chiavi di sessioni se esistono
session_unset();
session_destroy();
header("Location: login.htm");
}
?>
[/php]quando apri una parentesi graffa { và sempre chiusa finita l'istruzione altrimenti sarà sempre un'errore di sintassi
la funzione NOW() che vedi nell'insert serve ad assegnare data ed orario senza utilizzare i soliti comandi date(); di php
penso che ora sia più chiara anche la tabella come vedrai il mittente è l'utente che invia il messaggio mentre il ricevente è il "DESTINATARIO" l'oggetto come in tutte le messaggistiche è una piccola anteprima del testo del messaggio.
ed ora prova un leggimessaggi... questo sarà abbastanza complicato
Antonio nel campo nome_inviante non viene scritto il nome di chi invia il messaggio....:?rimane vuota...mi scrive solo nei campi oggetto,data,e messaggio...O_o
Vabe...nel frattempo cerco di immaginare la pagina leggimessaggi.php
credo debba essere fatta cosi'....
1)controllo se l utente che riceve il messaggio è loggato
2)Mostrare a video i campi presenti nella tabella messaggi
3)rendere la pagina leggimessaggi univoca per ogni utente
...:?:?
-
la variabile è $cmittente e non mittente.... sorry
per leggimessaggi.php non ti auterò fino a quando tu stesso non capirai
io ti leggerò e ogni tanto dirò qualcosa
devi muovere il tuo primo passo
-
@massimux said:
la variabile è $cmittente e non mittente.... sorry
per leggimessaggi.php non ti auterò fino a quando tu stesso non capirai
io ti leggerò e ogni tanto dirò qualcosa
devi muovere il tuo primo passo
Ecco il mio primo passo...:) leggimessaggi.php[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... ?><? // creo la tabella
<html>
<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]
ORRORE di sintassi che nn riesco a trovare
o
x
x
o
-
html e php vanno divisi a meno che non utilizzi print ed echo
esempi
[php]
<? echo"<html>"; ?>
[/php]
oppure
[php]
<?
//codice
?>
<html>
<? //codice ?>
[/php]
-
@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 41o:o
-
echo "I tuoi messaggi";
.. // connessione al db
-
@massimux said:
echo "I tuoi messaggi";
.. // connessione al dbChe 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....
-
[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]
-
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
-
@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 scrittaErrore query database: Unknown column 'marcus' in 'where clause'
marcus sarebbe il nik che ho usato per fare il login
-
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
-
@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 scrittaErrore query database: Unknown column 'marcus' in 'where clause'
nel ciclo while..manca qualcosa...:?:? nome_ricevente?
-
mi copi ed incolli la tua pagina? grazie!!!
-
@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]
-
[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
-
@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
-
nome_ricevente='".$_SESSION['nome']."'
le stringhe vanno messe tra apici altrimenti diventano un oggetto mysql.
-
@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