Jump to content
GSForum - Segélyvonal

Hírlevél rendszer


Pozoki
 Share

Recommended Posts

Pozoki

Olyan hírlevél rendszert keresek ami nem mysql -es, és van benne admin felületl !

 

Remélem érthetõen fogalmaztam !

Link to comment
Share on other sites

Mezofi

És mit akarsz adminisztrálni az admin felületen?

:upsz:

Link to comment
Share on other sites

ocsi

Gondolom a feliratkozottak listáját, a küldéseket, az idõítéseket... :D

Link to comment
Share on other sites

Pozoki

Lehessen:

 

- kijelölteknek küldeni

- törölni (arra az esetre ha csak marhaságból irkálnak be minden félét)

- kiíratni hogy mennyi bejegyzés van

 

Van ilyen, csak nem ingyen

Link to comment
Share on other sites

Mezofi

Igen én is így gondoltam, esetleg rendezni öket névsor szerint, vagy belépés szerint, esetleg törölni, stb. :lol:

Link to comment
Share on other sites

Pozoki

Hülyeségnek tartjátok?

Link to comment
Share on other sites

web

Ez talán jó.

 

 

<?php 
$vars=explode(",","pw,send,subject,message,email,action"); 
foreach($vars as $v){ 
if ($HTTP_GET_VARS[$v]!=""){$$v=$HTTP_GET_VARS[$v];} 
if ($HTTP_POST_VARS[$v]!=""){$$v=$HTTP_POST_VARS[$v];} 
} 
$pass="abc123"; 
$newsletterlocation="http://elérési útvanal a hírlevéhet valami.php"; 
$filelocation="subscribers.txt"; 
$lettername="http://weboldalad címe"; 
$youremail="email címed"; 
$pattern = "weboldalad címe még1x"; 
$welcomemessage = ""; 
$sorrysignmessage = "<div class=\"warning\">Ezzel a címmel már van regisztrált felhasználó: $email</div>"; 
$sorryblankmailmessage = "<div class=\"warning\">Add meg a címed!</div>"; 
$sorryoddmailmessage = "<div class=\"warning\">Sajnos ez a cím: \"$email\" nem érvénes e-mail cím.</div>"; 
$sorryownmailmessage = "<div class=\"warning\">Bocs, de én nem akarom megkapni a saját hírlevelem!</div>"; 
$subscribemessage = "<div class=\"thanks\">Köszönöm a regisztrációd, a megerõsítést szolgáló e-mail úton van!</div>"; 
$subscribemail = "Köszönöm a regisztrációt.."; 
$unsubscribemessage = "<div class=\"thanks\">E-mail cím törölve.</div>"; 
$failedunsubscriptionmessage = "<div class=\"warning\">Bocs, de nem iratkozhatsz le, mert ilyen címmel: $email nem iratkoztak fel.</div>"; 

if (!file_exists($filelocation)) { 
  $newfile = fopen($filelocation,"w+"); 
  fclose($newfile); 
  } 
$newfile = fopen($filelocation,"r"); 
$content = fread($newfile, filesize($filelocation)); 
fclose($newfile); 
$content=stripslashes($content); 
$out=""; 
$lines = explode("%",$content); 
foreach($lines as $l){ 
  if ($l != $email){$out .= "%".$l;} 
  else{$found=1;} 
} 
if ($action=="sign"){          
  if ($found==1 or $email=="" or !checkmail($email) or preg_match("/".$pattern."/",$email)){ 
     if ($email==""){echo $sorryblankmailmessage;} 
     else if ($found==1){echo $sorrysignmessage;} 
     else if (!checkmail($email)){echo $sorryoddmailmessage;} 
     else if (preg_match("/".$pattern."/",$email)){echo $sorryownmailmessage;} 
     $disp="yes"; 
  } 
  else { 
     $disp="no"; 
     $newfile = fopen($filelocation,"a+"); 
     $add = "%".$email; 
     fwrite($newfile, $add); 
     fclose($newfile); 
     echo $subscribemessage; 
     mail ($youremail,"Új regisztráció.",$email."\nTörlöd? $newsletterlocation?action=delete&email=".$email,"From: Newsletter\nReply-To: $email\n"); 
     $submailheaders = "From: $lettername subscription form\n"; 
     $submailheaders .= "Reply-To: $youremail\n"; 
     mail ($email,$lettername." subscription",$subscribemail,$submailheaders); 
  } 
} 
if ($action=="delete"){       
  $disp="no"; 
  if ($found == 1){ 
     $newfile = fopen($filelocation,"w+"); 
     fwrite($newfile, $out); 
     fclose($newfile); 
     echo $unsubscribemessage; 
     $disp="no"; 
  } 
  if ($found != 1){ 
     echo $failedunsubscriptionmessage; 
     $disp="YES"; 
  } 
} 
if ($pw   == $pass){ 
  if ($send != "yes" && $send != "test"){ 
     print'<form method="post"><input type="hidden" name=pw value='.$pass.' /><input type="hidden" name="send" value="yes"> 
     <br /><b>Hírlevél szerkesztõ:</b><br /><br /> 
     Tárgy:<br /> 
     <input type="text" class="input" name="subject" size="20"><br /> 
     Üzenet:<br /> 
     <textarea cols="50" rows="10" class="input" wrap="virtual" name="message"></textarea>  
     <input type="submit" value="küldés" /> 
     </form>'; 
  } 
  $mailheaders = "From: $lettername\n"; 
  $mailheaders .= "Reply-To:$youremail\n"; 

//   $mailheaders .= "Content-Type: text/html; charset=iso-8859-1\n"; 
  if ($send == "yes"){ 
     $message="".stripslashes($message); 
     $subject=stripslashes($subject); 
     $lines = explode("%",$content); 
     foreach ($lines as $l){mail ($l,$subject,$message,$mailheaders);} 
     print "<b>Hírlevél elküldve!</b>"; 
     print "<pre>$mailheaders\n$subject\n$message</pre>"; 
  } 
} 
if ($pw != $pass && $disp != "no"){ 
  print $welcomemessage; 
  print' 
  <form method="post"> 
  Címed: <input type="text" name="email" class="inputsmall" value="" size="20" />  
  <input type="radio" name="action" value="sign" checked="checked" />feliratkozás 
  <input type="radio" name="action" value="delete" />leiratkozás  
  <input type="submit" value=" Mehet! " class="button" /> 
  </form> 
  '; 
} 
print ""; 

function checkmail($string){ 
  return preg_match("/^[^\s()<>@,;:\"\/\[\]?=]+@\w[\w-]*(\.\w[\w-]*)*\.[a-z]{2,}$/i",$string); 
} 
?>

 

Hát ennyi lenne ez a hírlevél küldõ, ennek van admin része is ahonnan tudsz küldeni üzenetet.

Az elérése ez: easyletter.php?pw=abc123

értelenszerûen az easyletter.php helyére azt írhatsz be amire kereszteled a kódot tartalmazó fáljt.

pl: valami.php?pw=abc123

Ha valami gond lenne a scripttel írj.

Link to comment
Share on other sites

Pozoki

Köszönöm, REMEK !

Link to comment
Share on other sites

Pozoki

Ja még annyit, nem szeretném minden oldalba beilleszteni az egyész scriptet, csak a fõoldalra, a többibe hogy kell szólnia a scriptnek ?

Link to comment
Share on other sites

Mezofi

Ha esetleg amit web küldött bonyolult, akkor összedobtam neked egy txt-s hírlevél küldö progit. Amely külön oldalon kéri a regisztrációt, és egy másik oldalon lehet megszerkeszteni a hírlevelet, amit elküld a txt-ben tárolt email címekre.

Egy txt fájlt könnyen lehet módosítani, tehát akár törölni belöle rossz email címeket.

 

Ja és amikor a szerveredre raksz egy txt fájlt akkor az attribútumokat módosítani kell, mert különben nem tud írni bele a progi!

Az én progim címe itt. ;)

Link to comment
Share on other sites

Pozoki

Oh, nagyon köszönöm Mezofi !

Nem is tudom hol tartana a forum nélküled ;)

Link to comment
Share on other sites

web

Amit mezőfi küldött az ugyan az mit amit én raktam be csak azzal a különbséggel, hogy Mezofié külön oldalakból áll, de ugyanaz mert 1 oldal tartalmazza a regizést meg a hírlevél küldést.

A regizéshes csak simán társítani kell az oldalt az íráshoz meg valami.php?pw=abc123 ez kell beírni.

A kérdésedre a válasz, hogy mindegyik oldalon meg akarod jeleníteni a regizést ahoz is vagn egyszerű megoldás.

Az index.php oldaladba írjad be, hogy <?php include("valami.php"); ?>

És ha bármilyen változás lenne a hírlavélben akkor nem kell mindegyik oldalont javítani hanem csak azt az egyet ez meg csak beilleszti oda a scriptet mikor a tárhelyen lesz az oldal.

Link to comment
Share on other sites

  • 1 year later...
XRV

Sziasztok!

 

Betettem a kódot egy külön php oldalba elmentettem .php formátumban és elindítotam F12 vel a Dreamweaverben (prewiev in browser) elindult, kért pár adatot, na mndom ezt majd késõbb megcsinálom. Nos, ez a késõbb már nem megy, ugyanis nem indul el, csak homokórázik egy ideig és leáll, semmi sem történik.

Sajnos nem vagyok nagyon járatos a php-ben.

 

Link to comment
Share on other sites

h.arpad

Mi volt az, amit kért?

Sajnos nem vagyok nagyon járatos a php-ben.

Ezt mit jelent?

Link to comment
Share on other sites

XRV

Konkrétan. Nem ismerem a php-t és a webszerkesztés is csak felszínesen megy.

 

Azt hiszem site name volt, amit kért (volna) és bezártam. Csak tudnám miért nem indul el újra.

Link to comment
Share on other sites

h.arpad

Ha MySQL adatbázist használ, törölni kéne az általa létrehozott táblákat (mondjuk phpMyAdmin-ban), ha fájlban tárolja, akkor a fájlt. Utána újra le kéne futtani. De elhet, hogy elég csak az admin oldalt lefuttatni újra. Mindezt csak akkort tudom meg pontosan, ha látom a kódot is. Meg ha van egy readme file mellette, az sem egy utolsó dolog, vagy ha megmondanád, hogy honnan szerezted a kódot. :hááát:

Link to comment
Share on other sites

XRV

A kód itt van feletted a #7 es hsz ;)

Link to comment
Share on other sites

h.arpad
Konkrétan. Nem ismerem a php-t és a webszerkesztés is csak felszínesen megy.

:!: A topic legtetején van egy figyelmeztetés.

 

Link to comment
Share on other sites

payskin

A kiírás a téma tetejére késõbb került ki, mint a kérdés, de tény, hogy a fenti két mondat ihlette. :hááát:

 

De legyünk konstruktívak! XRV: webkiszolgáló, PHP, MySQL fel van telepítve arra a gépre, ahol ezt a kódot a Dreamweaverben ki akarod próbálni? Mûködnek is? Az alábbi PHP program, ha berakod a Dreamweaver-be, lefut?

 

<?php phpinfo(); ?>

Link to comment
Share on other sites

XRV
Konkrétan. Nem ismerem a php-t és a webszerkesztés is csak felszínesen megy.

:!: A topic legtetején van egy figyelmeztetés.

 

Köszi, ha legalább becsületes lettél volna, és nem "van" hanem "lett" szócskát rakod, ki akkor tán még megértelek, de így sajnos sokat rontottál magadon.

 

De mivel próbáltál segíteni pár szóval, ezért nem vetlek meg. Harag niincs és nem is szeretnék.

 

Csak annyit kérek nézzél föl a fejlécre!

Link to comment
Share on other sites

XRV
De legyünk konstruktívak! XRV: webkiszolgáló, PHP, MySQL fel van telepítve arra a gépre, ahol ezt a kódot a Dreamweaverben ki akarod próbálni?

Nincsennek feltelepítve, és ebből kifolyólag nem is fut le, ugyanúgy homokórázik és semmi.

 

Igen, azt hiszem tényleg mélyebbre kell nyúlni, ilyen felszínes tudással nem fog menni. Mivel itt nem segítenek (nem lehet segíteni) és sajnos pénzem nincs tanfolyamra, kénytelen leszek másik fórumot keresni. (Ha már kitették az ominózus szöveget.)

 

Köszi a segítségedet, nehari, hogy feleslegesen raboltam az idődet.

 

További szép napokat, jó netszelet.

Link to comment
Share on other sites

payskin

Nem raboltad az időmet, és nem arról van szó, hogy itt nem lehet segíteni. Nem tudunk segíteni.

 

Egy másik témában leírtam, leírom még egyszer: ha egy 10 éves gyereket odaültetsz a számítógép elé, hogy a Wordben csináljon meg egy feladatot, és lépésről lépésre mondod neki, hogy csinálja, meg fogja tudni csinálni.

 

Ha ugyanezt a 10 éves gyereket arra kéred meg, hogy fordítson le egy kínai szöveget, nem fogja tudni megcsinálni, mert életében egy szót nem tanult kínaiul. Te pedig csak úgy tudsz neki "segíteni", ha megcsinálod helyette a fordítást. Ettől a fordítás kész lesz, azonban a 10 éves gyerek nem fog megtanulni kínaiul, és ha legközelebb megint fordítani kell, azt megint neked kell majd megcsinálni.

 

Ennél jobban nem tudom érzékeltetni, miért nem szeretnénk így foglalkozni a dologgal, ez ugyanis azt jelenti, hogy mindent megcsinálunk a kérdező helyett. Nem segítünk, megcsináljuk helyette. Nagyon nem ugyanaz.

 

Egyébként nem okvetlenül kell drága pénzen tanfolyamra járni (ami adott esetben semmit nem ér), remek könyveket lehet kapni a tanfolyam árának töredékéért, amiből össze lehet szedegetni az alapokat.

Link to comment
Share on other sites

meskete1
Nekem elkéne segítség. Egyszerûen nem tudom beilleszteni az oldalamra a hírlevélsrcipetet... Edited by h.arpad
Link to comment
Share on other sites

Ricsi1984

Szisztok, az lenne nekem a problémám, hogy a mostani php hirlevélküldõ rendszerem megadja magát, ha 1000 levélnél többet kellene kiküldenie. Errõl a fórumról szedtem le a mostani hirlevél küldömet. Mi lehet a probléma, és hogyan tudnám ezt megoldani? Eddig a egy ingyenes hirlevél kezelõt használtam a cjb tárhelyszolgáltatonál, de nem vált be. 30-40 ezer levelet szeretnék kiküldeni hetente. Akinek van ötlete azt megkérném, hogy irja le nekem.

 

Ezt a kódot használtam eddig: Az lzd.hu szerverérõl küldöm ki a leveleket

 

 

<?php 
$vars=explode(",","pw,send,subject,message,email,action"); 
foreach($vars as $v){ 
if ($HTTP_GET_VARS[$v]!=""){$$v=$HTTP_GET_VARS[$v];} 
if ($HTTP_POST_VARS[$v]!=""){$$v=$HTTP_POST_VARS[$v];} 
} 
$pass="abc123"; 
$newsletterlocation="http://elérési útvanal a hírlevéhet valami.php"; 
$filelocation="subscribers.txt"; 
$lettername="http://weboldalad címe"; 
$youremail="email címed"; 
$pattern = "weboldalad címe még1x"; 
$welcomemessage = ""; 
$sorrysignmessage = "<div class=\"warning\">Ezzel a címmel már van regisztrált felhasználó: $email</div>"; 
$sorryblankmailmessage = "<div class=\"warning\">Add meg a címed!</div>"; 
$sorryoddmailmessage = "<div class=\"warning\">Sajnos ez a cím: \"$email\" nem érvénes e-mail cím.</div>"; 
$sorryownmailmessage = "<div class=\"warning\">Bocs, de én nem akarom megkapni a saját hírlevelem!</div>"; 
$subscribemessage = "<div class=\"thanks\">Köszönöm a regisztrációd, a megerõsítést szolgáló e-mail úton van!</div>"; 
$subscribemail = "Köszönöm a regisztrációt.."; 
$unsubscribemessage = "<div class=\"thanks\">E-mail cím törölve.</div>"; 
$failedunsubscriptionmessage = "<div class=\"warning\">Bocs, de nem iratkozhatsz le, mert ilyen címmel: $email nem iratkoztak fel.</div>"; 

if (!file_exists($filelocation)) { 
  $newfile = fopen($filelocation,"w+"); 
  fclose($newfile); 
  } 
$newfile = fopen($filelocation,"r"); 
$content = fread($newfile, filesize($filelocation)); 
fclose($newfile); 
$content=stripslashes($content); 
$out=""; 
$lines = explode("%",$content); 
foreach($lines as $l){ 
  if ($l != $email){$out .= "%".$l;} 
  else{$found=1;} 
} 
if ($action=="sign"){          
  if ($found==1 or $email=="" or !checkmail($email) or preg_match("/".$pattern."/",$email)){ 
     if ($email==""){echo $sorryblankmailmessage;} 
     else if ($found==1){echo $sorrysignmessage;} 
     else if (!checkmail($email)){echo $sorryoddmailmessage;} 
     else if (preg_match("/".$pattern."/",$email)){echo $sorryownmailmessage;} 
     $disp="yes"; 
  } 
  else { 
     $disp="no"; 
     $newfile = fopen($filelocation,"a+"); 
     $add = "%".$email; 
     fwrite($newfile, $add); 
     fclose($newfile); 
     echo $subscribemessage; 
     mail ($youremail,"Új regisztráció.",$email."\nTörlöd? $newsletterlocation?action=delete&email=".$email,"From: Newsletter\nReply-To: $email\n"); 
     $submailheaders = "From: $lettername subscription form\n"; 
     $submailheaders .= "Reply-To: $youremail\n"; 
     mail ($email,$lettername." subscription",$subscribemail,$submailheaders); 
  } 
} 
if ($action=="delete"){       
  $disp="no"; 
  if ($found == 1){ 
     $newfile = fopen($filelocation,"w+"); 
     fwrite($newfile, $out); 
     fclose($newfile); 
     echo $unsubscribemessage; 
     $disp="no"; 
  } 
  if ($found != 1){ 
     echo $failedunsubscriptionmessage; 
     $disp="YES"; 
  } 
} 
if ($pw   == $pass){ 
  if ($send != "yes" && $send != "test"){ 
     print'<form method="post"><input type="hidden" name=pw value='.$pass.' /><input type="hidden" name="send" value="yes"> 
     <br /><b>Hírlevél szerkesztõ:</b><br /><br /> 
     Tárgy:<br /> 
     <input type="text" class="input" name="subject" size="20"><br /> 
     Üzenet:<br /> 
     <textarea cols="50" rows="10" class="input" wrap="virtual" name="message"></textarea>  
     <input type="submit" value="küldés" /> 
     </form>'; 
  } 
  $mailheaders = "From: $lettername\n"; 
  $mailheaders .= "Reply-To:$youremail\n"; 

//   $mailheaders .= "Content-Type: text/html; charset=iso-8859-1\n"; 
  if ($send == "yes"){ 
     $message="".stripslashes($message); 
     $subject=stripslashes($subject); 
     $lines = explode("%",$content); 
     foreach ($lines as $l){mail ($l,$subject,$message,$mailheaders);} 
     print "<b>Hírlevél elküldve!</b>"; 
     print "<pre>$mailheaders\n$subject\n$message</pre>"; 
  } 
} 
if ($pw != $pass && $disp != "no"){ 
  print $welcomemessage; 
  print' 
  <form method="post"> 
  Címed: <input type="text" name="email" class="inputsmall" value="" size="20" />  
  <input type="radio" name="action" value="sign" checked="checked" />feliratkozás 
  <input type="radio" name="action" value="delete" />leiratkozás  
  <input type="submit" value=" Mehet! " class="button" /> 
  </form> 
  '; 
} 
print ""; 

function checkmail($string){ 
  return preg_match("/^[^\s()<>@,;:\"\/\[\]?=]+@\w[\w-]*(\.\w[\w-]*)*\.[a-z]{2,}$/i",$string); 
} 
?>

 

 

Hát ennyi lenne ez a hírlevél küldõ, ennek van admin része is ahonnan tudsz küldeni üzenetet.

Az elérése ez: easyletter.php?pw=abc123

értelenszerûen az easyletter.php helyére azt írhatsz be amire kereszteled a kódot tartalmazó fáljt.

pl: valami.php?pw=abc123

Link to comment
Share on other sites

payskin

Bocs, most arra nincs időm, hogy átnézzem, de az nem merül fel, mint kézenfekvő megoldás, hogy a szerver, ahonnan küldöd a cuccot, korlátoz le 1000-nél? Mert a PHP nem korlátoz, az biztos. Amúgy jó kis hírlevél lehet, amire 30-40 ezren feliratkoztak! Miről szól? Hátha engem is érdekel.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...