Witam,
mam taki problem. W bazie danych mam 2 tabelki, jedna to userzy, a druga to mailing. Problem polega na tym, że chcę aby po klinknięciu w opcję masowy mailing można było wysyłać wiadomości do wybranych lub wszystkich osób z tabelki userzy.
W tabeli userzy są dane takie jak:
id, unick, upass, ulevel, uaktywny, uemail, uklucz i udata_dodania.
W tabeli mailing mam dane:
id, tytul, data_dodania, tekst.
Teraz 2 pliki odpowiadają za masowy mailing:
mailing.php:
<?
$akcja2 = $_GET['akcja2'] ;
$lang_id = $_SESSION['lang_id'] ;
if( $lang_id == 0 ) $lang_id = 1 ;
$javascript[] = 'js/common.js' ;
$javascript[] = 'js/tiny_mce/tiny_mce.js' ;
$javascript[] = 'js/tiny.js' ;
'js' => $javascript,
'js_before_load' => 'tinymce_set( '.$lang_id.', 1 ) ; ',
'js_onload' => 'ustaw_tiny() ;'
)) ;
$submenu2[] = array( 'url' => 'index.php?adm_id='.$adm_id.'&akcja2=new', 'mtekst' => 'Nowy element', 'opis' => 'Nowa wiadomość dla użytkowników' ) ;
$smarty->assign( 'submenu2', $submenu2 ) ;
$modul = new Module( 'mailing', $smarty ) ;
$page = $_GET['page'] + 0 ;
$smarty->Assign( 'page', $page ) ;
$params['order'] = ' order by id desc ' ;
$modul->limit( 10 ) ;
$modul->list_el( $params ) ;
}
elseif( $akcja2 == 'new' ) {
$modul->new_el() ;
}
elseif( $akcja2 == 'edit' ) {
$id = $_GET['id'] + 0 ;
$modul->edit_el( $id ) ;
}
elseif( $akcja2 == 'show' ) {
$id = $_GET['id'] + 0 ;
$baza->Query( "select * from ".$prefix."mailing where id = '$id'" ) ;
$row = $baza->get_array() ;
$smarty->assign( $row ) ;
$smarty->assign( 'tresc', $smarty->fetch( 'admin/modules/mailing/show_mailing.tpl') ) ;
}
elseif( $akcja2 == 'save' ) {
$do = $_POST['do'] ;
if( empty( $_POST['id'] )) $_POST['data_dodania'] = date( 'Y-m-d H:i:s' ) ; $modul->save_el() ;
if( $do == 'inside' )
$baza->query( "select uemail from ".$prefix."userzy where ulevel = 'firma'" ) ;
else
$baza->query( "select email as uemail from ".$prefix."newsletter" ) ;
include( '../engine/class.phpmailer.php' ) ;
while( $row = $baza->get_array() ) {
if( empty( $row['uemail'] )) continue
; $email = $row['uemail'] ;
$subject = $_POST['tytul'] ;
$body = $_POST['tekst'] ;
wyslij_maila( $email, $subject, $body ) ;
}
// echo mysql_error() ;
header( "Location: index.php?adm_id=$adm_id" ) ; }
elseif( $akcja2 == 'del' ) {
$id = $_GET['id'] + 0 ;
$modul->del_el( $id ) ;
header( "Location: index.php?adm_id=$adm_id" ) ; }
elseif( $akcja2 == 'widoczny' ) {
$id = $_GET['id'] + 0 ;
$baza->query( "update ".$prefix."aktualnosci set widoczny = 1 - widoczny where id = '$id'" ) ;
header( "Location: index.php?adm_id=$adm_id" ) ; }
?>
oraz edit_mailing.tpl:
<h3>Edycja mailingu</h3>
<form class="edit" action="index.php?adm_id={$adm_id}&akcja2=save" method="post">
<input type="hidden" name="id" value="{$id}" />
<label for="tnazwa">Tytuł:</label><input size="45" type="text" name="tytul" value="{$tytul}" /><br/>
<label for="do">Do:</label><select name="do"><option value="inside">wszystkich użytkowników</option><option value="outside">zapisanych do newslettera</option></select>
<label for="tnazwa">Treść wiadomości:</label><textarea cols="80" rows="8" id="textar" name="tekst">{$tekst}</textarea><br/>
<input type="submit" value="zapisz" />
<input type="submit" value="wyślij" />
<br style="clear: both;"/>
</form>
Teraz moje pytanie jak mam to połączyć, aby wysyłało także do wybranych osób bo próbowałam już wielu rzeczy nic nie wychodzi. Proszę bardzo o pomoc.
I jeszcze treść wysyła się bez obrazków. Czy z tym też coś można zrobić?
Ten post edytował jadzia999222 12.12.2013, 12:48:16