- Home
- Categorie
- Coding e Sistemistica
- PHP
- invio e-mail ai sottoscritti
-
Se quella lista è su un file devi fare:
$indirizzi = file("lista.txt"); foreach ($indirizzi AS $indirizzo) // QUI LANCI LO SCRIPT DI INVIO EMAIL A $indirizzo
-
@Senamion said:
Se quella lista è su un file devi fare:
> $indirizzi = file("lista.txt"); foreach ($indirizzi AS $indirizzo) // QUI LANCI LO SCRIPT DI INVIO EMAIL A $indirizzo >``` posso fare anche una cosa del genere? file.dat nome1-nome2 nome3-nome4 nome5-nome6 $indirizzi = file("file.dat"); foreach ($indirizzi AS $indirizzo){ // QUI LANCI LO SCRIPT DI INVIO EMAIL A $indirizzo $pieces = explode("-", $indirizzo); print "$pieces[0] and $pieces[1]"; } ottengo però solo l'ultimo risultato...se io volessi ottenerli su ogni riga sempre con due risultati, il primo diviso da - che il secondo sempre della stessa riga ogni volta?
-
Non ho ben capito cosa intendi, intanto ti consiglio (per chiarezza di codice, di usare CODE e /CODE (tra quadre).
Poi se questa riga:$pieces = explode("-", $indirizzo); print "$pieces[0] and $pieces[1]";
la trasformi così:
list($primo, $secondo) = explode("-", $indirizzo); print "$primo and $secondo";
Riesci a capire meglio i tuoi campi (ma questo è un consiglio generale).
Venendo al tuo problema non ho capito come mai ottieni solo l'ultimo risultato, in realtà la print la fai nel ciclo quindi dovrebbe stampartela 3 volte.
Semmai dopo la lettura del file prova a mettere:print_r($indirizzi);
per vedere cosa hai dentro l'array!
-
si possono mettere constanti dentro foreach?
del tipo:
[PHP]$indirizzi = file("lista.txt");
foreach ($indirizzi AS $indirizzo){
if ($indirizzo == 'parola'){
echo "si bravo è uguale a parola";
}else{
//non viene visualizzato nulla
}
}[/PHP]lo chiedo perchè a me non funziona....forze sbaglio qualcosa
cioè se per esempio faccio una constante specificando una parola che troverò in un solo record la cosa funziona
ma se io specifico in una constante un carattere che poi lo trova su due o più record allora non funziona più niente....
è un mistero :():
volevo fare un controllo se su quel record c'era yes allora inviare un e-mail se c'era no niente....boh mentre aspetto qualche risposta controllo quello script della scorsa volta se riesce a funzionarmi all'interno di un altro foreach
-
Nel txt c'è una riga dove c'è scritto 'parola'?
Può anche essere che fallisce il controllo di uguale perchè c'è qualche spazio, prova a fare trim($indirizzo)
-
@Senamion said:
Nel txt c'è una riga dove c'è scritto 'parola'?
Può anche essere che fallisce il controllo di uguale perchè c'è qualche spazio, prova a fare trim($indirizzo)ho editato sopra
comunque nel txt ho tipo questo:
[email][email protected][/email]<~>Alessiofbt<~>yes
[email][email protected][/email]<~>Ciaos<~>no
[email][email protected][/email]<~>Alessiofbt2<~>no
-
uhm....domanda che mi è utile per completare il sistema di invio
restando sempre sulla stessa lista
[PHP][email protected]
[email protected]
[email protected]
[email protected] [/PHP]se io volessi inviare l'e-mail a tutti questi...ma tranne che [email][email protected][/email] che quindi viene specificato...come posso fare?
-
@alessiofbt said:
uhm....domanda che mi è utile per completare il sistema di invio
restando sempre sulla stessa lista
[php][email protected]
[email protected]
[email protected]
[email protected] [/php]se io volessi inviare l'e-mail a tutti questi...ma tranne che [EMAIL="[email protected]"][email protected][/EMAIL] che quindi viene specificato...come posso fare?
Pottresti mettere un controllo..
Nella lista email crei una divisione..
[php][email protected]|1
[email protected]|0
[email protected]|1
[email protected]|1[/php]Nel codice fai:
$arrIndirizzi = file("lista.txt"); foreach ($arrIndirizzi AS $strIndirizzo) { $arrTmp = explode('|', $strIndirizzo); if (intval($arrTmp[1]) == 1) { mail($arrTmp[0], "Oggetto dell E-Mail", "Messaggio dell E-Mail", "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\nFrom: nome-sito.com <[email protected]>\r\nReply-To: [email protected]\r\nX-Mailer: PHP/".phpversion()"); } }
Non ho testato il script, quindi può essere che ci sia qualche errore...
-
[PHP]if (intval($arrTmp[1]) == 1) {[/PHP]
e se io anzichè usare un informazione contenuta dentro il file divisa con | volessi usare una variabile esterna?
del tipo
[PHP]if (intval($variabile) == 1) {[/PHP]
$variabile che specifico righe prima...posso farlo? ho visto che ci sono problemi nel farlo...
-
@alessiofbt said:
[PHP]if (intval($arrTmp[1]) == 1) {[/PHP]
e se io anzichè usare un informazione contenuta dentro il file divisa con | volessi usare una variabile esterna?
del tipo
[PHP]if (intval($variabile) == 1) {[/PHP]
$variabile che specifico righe prima...posso farlo? ho visto che ci sono problemi nel farlo...
up
-
@alessiofbt said:
[php]if (intval($arrTmp[1]) == 1) {[/php]
e se io anzichè usare un informazione contenuta dentro il file divisa con | volessi usare una variabile esterna?
del tipo
[php]if (intval($variabile) == 1) {[/php]
$variabile che specifico righe prima...posso farlo? ho visto che ci sono problemi nel farlo...
spiegati meglio...
-
@Andriy said:
spiegati meglio...
praticamente tutto questo script lo sto facendo per le notifiche via e-mail in una piattaforma forum, cosi che quando uno risponde tutti quelli iscritti alla discussione ricevono la notifica.... però non voglio che poi che se risponde lo stesso che ha sottoscritto la discussione riceve le notifiche dei messaggi che ha scritto lui.... capito?
l'utente ha questa variabile fissa $user_env e viene riconosciuto con tale