[PHP] Invio messaggio a tutti gli iscritti

Andrea_2017

Utente Attivo
17 Set 2017
26
0
1
39
Ciao a tutti!Ho un piccolo quesito da sottoporvi e al quale non riesco a trovare risposta da solo..forse per molti di voi sarà una cavolata,ma per me sta diventando un tormento.
Dunque vado al sodo,ho un sito web con database sql e codice scritto in php, all'interno del sito viene utilizzato un sistema di messaggistica tra iscritti. Io come gestore del sito ho un pannello dove pubblicare su di una bacheca le varie news,io vorrei riuscire a far inviare un messaggio (tramite la messaggistica interna) a tutti gli iscritti quando pubblico qualcosa di nuovo su di questa bacheca,di modo tale che tutti siano avvisati della pubblicazione.

Sul database ho una tabella denominata "personaggi" con i vari campi, tra cui id e nome dell'utente iscritto e poi un'altra tabella denominata "messaggi" con il campo mittente,destinatario,testo ecc

e questo è il codice che ho scritto:
PHP:
$rs=query("SELECT * FROM personaggi WHERE  id LIKE '%' ");
    $user_id=$rs['id'];
  
if (isset ($_POST['testo_news']))
    {
      
        $testo_news=$_POST["testo_news"];
        $testo_news=str_replace("'","''", $testo_news);
        $testo_news = mysql_real_escape_string($testo_news);
            $testo_news = filter_var($testo_news, FILTER_SANITIZE_STRING);
      
        $titolo_news=$_POST["titolo_news"];
        $titolo_news=str_replace("'","''", $titolo_news);
        $titolo_news = mysql_real_escape_string($titolo_news);
            $titolo_news = filter_var($titolo_news, FILTER_SANITIZE_STRING);
      
        $data_news=$_POST["data_news"];
        $data_news=str_replace("'","''", $data_news);
      
        $autore=$_POST["autore"];
        $autore=str_replace("'","''", $autore);
      
        $tipo=$_POST["tipo"];
        $tipo=str_replace("'","''", $tipo);
      
  

      
      
        #inseriso i dati
        $rs = "INSERT INTO news (testo_news, titolo_news, data, autore, tipo) VALUES('$testo_news', '$titolo_news', NOW() , '$_SESSION[nome_pg]', '$tipo')";
        $Result = mysql_query($rs);
      
        #iinvio missiva a tutti gli iscritti
        $rs = "INSERT INTO messaggi_on (mittente_nome, mittente, destinatario, data, titolo, testo) VALUES('Gestione','$_SESSION[id_pg]', '$user_id', NOW() , 'Notizie della Land-$titolo_news', '$testo_news')";
        $Result = mysql_query($rs);

di per se il codice funziona,il problema è che il messaggio viene inviato solo al primo utente che si è iscritto e a nessun altro.
Suppongo e sicuramente sbaglio qualcosa,qualcuno riuscirebbe ad aiutarmi a correggere l'errore?
grazie in anticipo e chi mi salverà da questa croce!
 
Ultima modifica di un moderatore:

Andrea_2017

Utente Attivo
17 Set 2017
26
0
1
39
Ho fatto una prova modificando il codice nel modo seguente:
PHP:
$db=dbconnect();

$rs = query("SELECT * FROM personaggi WHERE id = " . $_SESSION['id_pg']);
$admin = $rs['admin'];
$master = $rs['master'];



if (($admin == 1) || ($master == 1)) {


if (isset ($_GET['cancella']))
    {
  
        #cancello la razza
        $cancella = "DELETE FROM news WHERE id_news =" . $_GET['cancella'];
        $Result = mysql_query($cancella);

    }
  
    $utenti = array(
  1 => '370',
  2 => '369',

);

foreach ($utenti as $personaggi => $user) {
 $user=$rs['id'];
}
  

  
  
if (isset ($_POST['testo_news']))
    {
      
        $testo_news=$_POST["testo_news"];
        $testo_news=str_replace("'","''", $testo_news);
        $testo_news = mysql_real_escape_string($testo_news);
            $testo_news = filter_var($testo_news, FILTER_SANITIZE_STRING);
      
        $titolo_news=$_POST["titolo_news"];
        $titolo_news=str_replace("'","''", $titolo_news);
        $titolo_news = mysql_real_escape_string($titolo_news);
            $titolo_news = filter_var($titolo_news, FILTER_SANITIZE_STRING);
      
        $data_news=$_POST["data_news"];
        $data_news=str_replace("'","''", $data_news);
      
        $autore=$_POST["autore"];
        $autore=str_replace("'","''", $autore);
      
        $tipo=$_POST["tipo"];
        $tipo=str_replace("'","''", $tipo);
      
  

      
      
        #inseriso i dati
        $rs = "INSERT INTO news (testo_news, titolo_news, data, autore, tipo) VALUES('$testo_news', '$titolo_news', NOW() , '$_SESSION[nome_pg]', '$tipo')";
        $Result = mysql_query($rs);
      
      
        #iinvio missiva a tutti gli iscritti
        $rs = "INSERT INTO messaggi_on (mittente_nome, mittente, destinatario_nome, data, titolo, testo) VALUES('Gestione','$_SESSION[id_pg]', '$user', NOW() , 'Notizie della Land-$titolo_news', '$testo_news')";
        $Result = mysql_query($rs);
      
      
                header("Location: news.php", true);
  
    }

#elenco le razze
$lista_news=array();
$result = query ("QUERY SELECT id_news, titolo_news, data FROM news ORDER BY data DESC");
while ($rs=query('while',$result))
    {
        $lista_news[] = array(  
      
                                    'id_news'=> $rs['id_news'],
                                    'titolo_news'=> $rs['titolo_news']

                                );
    }
query('free', $result);
?>

volevo provare ad inviare il messaggio a due utenti definiti con id 369 e 370

PHP:
$utenti = array(
  1 => '370',
  2 => '369',

);

foreach ($utenti as $personaggi => $user) {
 $user=$rs['id'];
}

il problema è che lo invia solo al 370
dove sbaglio?mi sto interfacciando alla programmazione da poco e quindi non sono espertissimo... mi sapete aiutare a scrivere il pezzo mancante?o a correggerlo...grazie
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
G Invio form con PHP PHP 3
A invio massivo dati a file php Javascript 4
P Funzione jQuery Ajax invio file a php jQuery 1
G creazione menu a tendina e invio a pagina php PHP 1
U PHP bottone per invio mail o ritorno al form PHP 15
G Invio mail con php da dati prelevati da un database PHP 9
L [PHP] Invio Immagini PHP 1
AC1 [PHP] Invio Mail PHP 18
I [PHP] Invio sms multipli PHP 4
A [PHP] Invio automatico dati da form PHP 6
ANDREA20 [PHP] Modulo email invio PHP 5
Shyson [PHP] Codice iscrizione e invio avviso nuovi articoli PHP 3
Tommy03 Errore invio email con PHP PHP 1
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
A [PHP] errore 404 e invio mai path pagina con link interrotto PHP 2
M [PHP] Problema script ricezione e invio posta... PHP 1
C [PHP] Problema Invio Email Elseif PHP 2
A [PHP] Problema invio mail con funzione mail() PHP 3
Tommy03 Invio email con PHP PHP 3
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
A [PHP] Invio MP a destinatari multipli PHP 6
paloppa [PHP] Invio mail da form dubbio PHP 17
bubino8 [PHP] Recupero input senza invio PHP 1
G [PHP] FORM INVIO VALORI A QUERY CON TRE CONDIZIONI PHP 2
S Problema in PHP per invio file XML - RISOLTO- PHP 8
O invio dati suddiviso in con php PHP 2
F Form mail php errore invio PHP 5
K [PHP] Invio dati tramite url PHP 2
Punix [PHP] problema script invio e-mail PHP 2
A [PHP] Invio email quando viene visitata una pagina PHP 7
cobra_72 [PHP] problema invio multiplo allegati mail PHP 21
Z Limite invio newsletter con PHP - mail() PHP 4
S Problema invio form php/html PHP 3
Samuele Ronzani [PHP] Validazione e invio campi form. PHP 7
Matteo Lorenzon [PHP][WORDPRESS] Form in Wordpress, creazione PDF con dati del form ed invio tramite email WordPress 1
E Rimuovere "dati in memoria" dopo invio mail [PHP] PHP 18
ComfortablyNumb [PHP] Invio sms automatici PHP 1
ANDREA20 [MySQL] [PHP] Invio email ordine MySQL 12
ANDREA20 [PHP] Non riesco ad impostare reset password invio via email PHP 6
Y INVIO AUTOMATICO EMAIL CON PHP PHP 4
ANDREA20 [PHP] Invio ordine via email PHP 14
asevenx [PHP] Errore tasto submit per invio dati non funziona PHP 5
R [PHP] [HTML] Creare script invio modulo contatti PHP 2
F Invio automatico mail php PHP 0
Francesco Polese Errore form invio mail+php PHP 22
R Errore invio mail in php PHP 1

Discussioni simili