Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP
Code

Si të Dërgosh Mesazhe Teksti me PHP

by
Difficulty:BeginnerLength:LongLanguages:

Albanian (Shqip) translation by Zack-C (you can also view the original English article)

Dërgimi i mesazheve tekst është bërë jashtëzakonisht i përhapur rreth e qark botës -- në atë pikë ku një numër gjithnjë e në rritje i aplikacioneve web kanë integruar SMS për të njoftuar përdoruesit rreth ngjarjeve, shitjeve ose kuponave drejpërdrejt nëpërmjet pajisjeve portative.

Në këtë tutorial, ne do mbulojmë bazat e të dërguarit të mesazheve tekst me PHP.


Përmbajtja

Të dërgosh një mesazh tekst  (SMS) në të vërtetë është goxha e lehtë.

Poshtë është një diagramë e thjeshtuar se si një mesazh mund të dërgohet nga një aplikacion web në një pajisje portative me wireless.

Do ta ndajmë këtë tutorial -- një copëz për secilën herë:

  • Mesazhi kompozohet duke përdorur një aplikacion web që është ruajtur dhe ekzekutuar në një server HTTP dhe pastaj i dërguar nëpërmjet internetit (''reja'' , anglisht: ''the cloud'') si një mesazh email.
  • Email-i është marrë nga një Portë Shërbimi i Mesazheve të Shkurtra (Portë SMS) (anglisht:Short Message Service Gateway (SMS Gateway)).
  • Mesazhi SMS i kalohet te një Qendër Shërbimi Mesazhi të Shkurtër (anglisht: Short Message Service Center (SMSC) ), që është një server (shërbyes) që drejton/udhëzon të dhënat (data) te një pajisje portative e veçantë.
  • Mesazhi, përfundimisht transmetohet nëpërmjet rrjetit celular te marrësi.

Rrjetet më të shumta celulare kanë një portë(gateway) SMS nëpërmjet së cilës mesazhet email mund të dërgohen si mesazhe tekst te një pajisje portative. Kjo është gjë e mirë, sepse, nga pikëpamja e një programuesi, është në përgjithësi falas---megjithatë, me siguri nuk është një shërbim falas për përdoruesin përfundimtar. Tarifat zbatohen prapëseprapë te marrësi i mesazhit dhe mesazhet e dërguara nëpërmjet email-it do të paguhen jo thjesht si mesazhe teksti.


Email në SMS

Të dërgosh një SMS nëpërmjet email-it, në përgjithësi kërkohen vetëm dy gjëra:

  • Numri i telefonit ose kodi unik identifikues i pajisjes portative që dëshiron të arrish.
  • Dhe emri domain i rrjetit celular (shumë mund të gjenden në këtë listë adresash të 'email në SMS')

Rradhitja e mëposhtme mund të përdoret për rrjetet më të shumta:

phoneNumber është numri i telefonit i pajisjes portative që i dërgohet mesazhi, dhe domainName.com është adresa Portën Gateway SMS të rrjetit celular.

Për ti dërguar një mesazh tekst Zt.Shembull, thjesht mund të shtosh 3855550168@vtext.com te çdo klient email, shkrurja e mesazhit dhe klikim te Dërgo. Kjo do dërgojë një mesazh tekst te numri i telefonit +1 (385) 555-0168 në Rrjetin Verizon Wireless(Celular).

Për shembull, unë do i dërgoj një mesazh tekst vetes sime duke përdorur Gmail.

Kur mesazhi arrin në celularin tim, duhet të duket kështu:

Goxha Fantastike!


Funksioni PHP mail

Le ti çojmë gjërat një hap më tej. Duke përdorur SMS Gateway, ne mund të dërgojmë një mesazh teksti nëpërmjet email-it duke përdorur funksionin mail të PHP. Funksioni mail ka firmën vijuese:

Mund të lexosh më tepër për të këtu.

  • $to përcakton marrësin ose marrësit e mesazhit. Shembuj të vlefshëm përfshijnë:
    • user@example.com (perdorues@shembull.com)
    • user1@example.com, user2@example.com
    • User (Përdorues) <user@example.com>
    • User1 <user1@example.com>, User2 <user2@example.com>
  • $subject është më së shumti vetëshpjegues; duhet të jetë një varg që përmban subjektin e dëshiruar. Megjithatë, SMS-të nuk kërkojnë një subjekt.
  • $message është mesazhi që do dërgohet. Siç përmendet në manualin e PHP, ''çdo linjë duhet të ndahet me një LF (\n) Linjat ose rreshtat e tekstit nuk duhet të jenë më të mëdha se 70 karaktere.''

Për të riprodhuar funksionimin e mësipërm, ne mund të shkruajmë kodin PHP vijues:


Një Test Drive

Le të bëjmë një test me PHP që të sigurohemi se gjithçka është vendosur siç duhet dhe se funksioni mail, në fakt, do dërgojë një mesazh tekst. Duke përdorur kodin e mëposhtëm, ne mund ta vëmë në provë:

Kur telefoni im merr mesazhin, duket kështu:

Nëse të nxjerr një gabim, shih sektorin e shqyrtimit të problemeve.

Siç mund ta shohësh nga foto sipër, mesazhi tregon që është nga Gmail. Kjo ndodh kështu sepse unë i kaloj të tëra mesazhet dalëse (mesazhet që dërgoj) ngabserveri im lokal përmes atij shërbimi. Fatkeqësisht, si dhe dhe në këtë rast që shkruaj, nuk kam pasur sukses të modifikoj kreun From të reflektojë një adresë tjetër. Me sa duket të dhënat në kreun e email-it (anglisht:headers, shqip:kryet) ndryshohen dhe zëvendësohen me krye të përgatitur nga porta SMS gateway. Nëse ndonjëri di ndonjë alternativë, ju lutem lini një koment dhe na vini në dijeni edhe ne të tjerët!


Shtim Përdorshmërie

Struktura Markup (HTML)

Duke qenë se gjërat bazë janë gati, le të marrim këtë ide dhe ta mbështjellim në një sipërfaqe përdoruesi rreth saj (zbukurim-rradhitje me CSS). Si fillim do vendosim një formë të thjeshtë:

Stilimi (CSS)

Më pas vëmë brenda ca CSS:

Kjo na jep këtë formë të thjeshtë:


Skripti PHP

Pjesa më e rëndësishmë në këtë është skripti PHP. Shkruajmë tani këtë pjesë kodi:

  • Skripti si fillim kontrollon nëse forma është parashtruar.
  • Nëse po, kontrollon nëse variablat phoneNumber , carrier dhe smsMessage janë vendosur. Kjo është e dobishme në rast se ka më shumë se një formë në faqe.
  • Nëse phoneNumber, carrier dhe smsMessage disponohen dhe phoneNumber dhe carrier nuk janë bosh, atëherë është gati të tentosh të dërgosh mesazhin.
  • Argumenti i mesazhit në funksionin mail duhet të jetë jo më tepër se 70 karaktere për çdo rresht në gjatësi. Mund ta copëtojmë mesazhin në vargje prej 70 karakteresh duke përdorur funksionin wordwrap.
  • phoneNumber dhe carrier bashkohen dhe atëherë mesazhi dërgohet duke përdorur funksionin mail
  • Nëse mungojnë të dhëna ose nuk mund të saktësohen, skripti thjesht kthen ''Jo i gjithë informacioni u parashtrua'' (anglisht:Not all information was submitted).
  • Si përfundim, funksioni mail kthen një boolean duke lënë të kuptohet nëse dërgimi ishte i suksesshëm apo jo. Vlera ruhet në $result në rast se nevojitet të saktësoj se mesazhi në fakt u dërgua.

Shënim: Metoda mail vetëm sa njofton nëse mesazhi u dërgua ose jo. Nuk jep ndonjë mënyrë kontrollimi nëse mesazhi u mor me sukses nga serveri i marrësit ose kutia mailbox.


Kodi Final


Përcaktimi i Problemeve

Gabim localhost

Që të përdorësh funksionin mail, duhet të kesh një mail server që punon. Nëse po e punon këtë nga nje web host ose aplikacion web, mbase je në rregull. Por nëse nuk je i sigurt, unë rekomandoj të flasësh me një administrator. Kjo është e njëjta gjë edhe për makineritë (kompjuterat) personale. Kështu, nëse të dalin gabime si p.sh....

do të të duhet të instalosh dhe të konfigurosh/parametrizosh një server mail. Kjo është jashtë rrezes së këtij tutoriali/udhëzuesi. Megjithatë, nëse po punon në makinerinë tende lokale, të kalosh te diçka si XAMPP mund të zgjidhë problemin. Përndryshe, provo të instalosh një sistem si Mercury Mail bashkë me WAMP, MAMP ose në një LAMP (ose SAMP apo OAMP, etj, plot AMPs :) )

PHPmailer

Një mundësi tjetër (e cila është metoda që preferoj) është të përdorësh PHPmailer. Më poshtë është një shembull se si të përdorësh PHPmailer për tu lidhur në serverin Gmail SMTP dhe të dërgosh mesazhin.

Që ta përdorësh atë, është po aq e thjeshtë sa të përfshish një klase (class) në skriptin tënd.

Kjo duhet të printojë ose tregojë diçka si :

Kjo mund të kërkojë më tepër rregullim për të bërë lidhjen në varësi të situatës tënde. Nëse po planifikon të përdorësh Gmail, Google ka dhënë informacione për tu lidhur.


Përmbyllja

Ekzistojnë metoda të panumërta për ti'a arritur qëllimit për dërgimin e SMS përmes një aplikacioni web. Kjo metodë në fakt është destinuar për volum të ulët mesazhesh (më pak se 1000 mesazhe teksti në muaj) dhe programuesit që duan të ''lagin'' këmbët pa qenë nevoja të derdhin para. Mundësi të tjera përfshinjë:

  • Përdorimi i një Ofruesi SMS Gateway Provider
    • Bërja e një kërkimi në Google jep shume alternativa.
    • Ofruesit SMS gateway më të shumtë përfshijnë një API për të dërguar mesazhe nga një aplikacion web.
    • Zakonisht mund të regjistroheni për një çmim të arsyeshëm  në një shërbim të tillë, duke supozuar se po planifikoni të dërgoni të paktën 1000 SMS  për një muaj.
    • Mund të merrni me qera një numër kod të shkurtër (short code number).
  • Duke përdorur një modem GSM
    • Por kjo mund të jetë një mënyrë e kushtueshme dhe e ngadaltë, sepse ju duhet të blini një modem dhe të keni një kontratë me një rrjet celular.
    • Ju duhet gjithashtu, që të përdorni setin me komanda AT (Hayes).
  • Duke përdorur një lidhje direkte te një rrjet celular, që kërkon negocim të fortë dhe një shumë të madhe parash.

Ky tutorial nuk është në ndonjë mënyrë diçka plotësisht e përfunduar, e detajuar apo e plotë e dërgimit të mesazheve tekst me PHP; but mjafton që të të vëri në lëvizje! Shpresoj që ky tutorial të ketë qenë interesant për ju. Ju falënderoj shumë për kohën që dedikuat leximit të këtij tutoriali!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.