Wyślij SMS z MySQL na swojej stronie internetowej
Możesz zarządzać bazami danych za pomocą instrukcji SQL. Możesz wysyłać instrukcje SQL przez PHP. To umożliwia manipulowanie tabelami w bazie danych. Na przykład, PHP może dodawać rekordy tabeli z wiadomościami SMS do wysłania, ale może również odczytywać rekordy przychodzących wiadomości.
Pobierz: MySQL_PHP_Example.zip
To rozwiązanie PHP jest przeznaczone dla programistów stron internetowych z podstawową wiedzą w PHP i SQL. Możesz pobrać kod źródłowy PHP, aby móc wykonać ten samouczek krok po kroku, zawierający podstawowe instrukcje dotyczące implementacji rozwiązania.
Dlaczego połączenie bramki SMS z bazą danych i PHP jest przydatne
To przydatne rozwiązanie PHP dla:
- dodawania funkcji SMS do Twojej strony internetowej.
- dodawania funkcji SMS do korporacyjnego intranetu.
- tworzenia automatycznych powiadomień SMS.
- zwiększania bezpieczeństwa strony poprzez dodanie logowania za pomocą SMS.
Wymagania
Będziesz potrzebować hostować Ozeki SMS Gateway, serwer WWW i serwer MySQL. Możesz hostować te funkcje na tym samym komputerze lub na dwóch maszynach, jak widać w tabeli poniżej:
Host PHP: |
System operacyjny: Linux lub Windows Serwer WWW (Apache lub IIS) PHP Serwer MySQL |
Host Ozeki SMS Gateway: |
System operacyjny: Windows lub Linux .NET framework (jeśli używasz Windows) lub Mono (jeśli używasz Linux) Ozeki SMS Gateway |
![]() | Ozeki SMS Gateway można pobrać, otwierając stronę pobierania: Pobierz Ozeki SMS Gateway! |
Jak to działa
Zanim zaczniesz używać tej aplikacji PHP, powinieneś dostawcy usług SMS przez IP przez internet.
Przykład PHP, który znajdziesz w tym samouczku, umożliwia odczytywanie rekordów lub wstawianie nowych rekordów do tabeli. Jest to bardzo przydatne przy odczytywaniu przychodzących wiadomości lub zapisywaniu wychodzących. Jeśli chcesz zobaczyć, jak działa rozwiązanie, spójrz na Rysunek 1.
Na diagramie widać „Użytkownika internetowego”, który faktycznie wysyła i odbiera wiadomości SMS przez przeglądarkę. Użytkownik internetowy jest podłączony do serwera WWW z obsługą PHP, który może zarządzać bazami danych na serwerze SQL, a te bazy danych należą do Ozeki SMS Gateway. W ostatnim kroku Ozeki SMS Gateway wysyła wiadomość na telefon komórkowy przez sieć GSM.
Użytkownik internetowy może uzyskać dostęp do internetu z dowolnego miejsca. Liczy się tylko, czy zna adres IP lub URL komputera z serwerem PHP i czy jest upoważniony do logowania się do bazy danych MySQL, aby mógł wstawić żądany rekord wiadomości SMS, który później zostanie wybrany przez Ozeki SMS Gateway do wysłania na telefon odbiorcy za pomocą sieci GSM.
Ten przepływ pracy działa również w przeciwnym kierunku. Gdy Ozeki SMS Gateway odbiera wiadomość SMS z sieci GSM i zapisuje ją w bazie danych MySQL, serwer PHP może ją odczytać i wyświetlić na ekranie użytkownika internetowego.
Jak utworzyć bazę danych MySQL
CREATE DATABASE ozekisms; USE ozekisms; CREATE TABLE ozekimessagein ( id int(11) NOT NULL auto_increment, sender varchar(30) default NULL, receiver varchar(30) default NULL, msg varchar(1024) default NULL, senttime varchar(100) default NULL, receivedtime varchar(100) default NULL, operator varchar(100), msgtype varchar(160) default NULL, PRIMARY KEY (id) ); CREATE TABLE ozekimessageout ( id int(11) NOT NULL auto_increment, sender varchar(30) default NULL, receiver varchar(30) default NULL, msg varchar(1024) default NULL, senttime varchar(100) default NULL, receivedtime varchar(100) default NULL, status varchar(20) default NULL, msgtype varchar(160) default NULL, operator varchar(100), PRIMARY KEY (id) ); GRANT insert,update,select,delete on ozekisms.* to sqluser@localhost IDENTIFIED BY 'abc123';
Rysunek 2 - Tworzenie tabel w strukturze wymaganej przez Ozeki SMS Gateway
Jak utworzyć użytkownika bazy danych w Ozeki SMS Gateway
Krok 1: Otwórz Ozeki 10 w przeglądarce internetowej
Krok 2: Wybierz aplikację SMS Gateway zintegrowaną z pulpitem Ozeki 10
Krok 3: Utwórz użytkownika bazy danych w SMS Gateway, postępując zgodnie z instrukcjami.
Krok 1: | Najpierw rozpakuj pobrany plik zip. |
Krok 2: | Skopiuj pliki sqlsmshandling.php, sqlsmshandling_inoutmessages.php oraz sqlsmshandling_functions.php do głównego katalogu serwera WWW. |
Krok 3: | Zmień adres IP serwera SQL, nazwę użytkownika i hasło w pliku sqlsmshandling_functions.php. |
Krok 4: | Jeśli Ozeki SMS Gateway nie jest uruchomiony, proszę go włączyć. |
Krok 5: | Wprowadź adres IP swojego serwera PHP w przeglądarce internetowej: http://127.0.0.1/sqlsmshandling.php (Powinieneś zmienić IP serwera PHP lub pozostawić 127.0.0.1, jeśli serwer PHP i Twoja przeglądarka działają na tym samym komputerze.) |
Krok 6: | Wypełnij formularz HTML i naciśnij 'Wyślij'. |
Krok 7: | Jeśli wszystko przebiegło pomyślnie, Ozeki SMS Gateway wyświetli status wiadomości w logu użytkownika bazy danych. |
Skrypt PHP
Tutaj możesz znaleźć więcej szczegółów dotyczących przykładowego skryptu do pobrania.
Skrypt musi znać dane uwierzytelniające użytkownika do Twojej bazy danych MySQL. Główną rolą skryptu jest wstawienie nowej wiadomości do tabeli wiadomości wychodzących. W obecnym przykładzie tabela ta nazywa się 'ozekimessageout'.
Użytkownik bazy danych Ozeki SMS Gateway okresowo sprawdza tabelę pod kątem nowych rekordów i jeśli status wiadomości to 'Send', spróbuje ją wysłać. W przypadku sukcesu użytkownik bazy danych zmieni status wiadomości na 'Sent'.
Oto struktura kodu źródłowego:
sqlsmshandling.php:
Zawiera elementy ASP do budowania wiadomości. Na przykład etykiety, pola tekstowe i przycisk 'Wyślij'. Przycisk 'Wyślij' wywołuje funkcje 'connectToDatabase()', 'insertMessage(...)' i 'closeConnection()' z pliku sqlsmshandling_functions.php. sqlsmshandling.php obsługuje nie tylko wiadomości SMS, ale także wyjątki. Na przykład puste pola.
sqlsmshandling_functions.php:
Ten plik PHP zawiera wszystkie wewnętrzne funkcje używane przez 3 pliki.
- connectToDatabase(): Łączy się z bazą danych na serwerze MySQL.
- closeConnection(): Zamyka połączenie, które zostało utworzone w connectToDatabase().
- insertMessage(recipient, messageType, messageText):
Wykonuje instrukcję INSERT w bazie danych. Ta instrukcja wstawia rekord wiadomości do tabeli wiadomości wychodzących.
- showOutgoingMessagesInTable():
Wybiera wiadomości z tabeli SQL wiadomości wychodzących i buduje z nich tabelę HTML
w Twojej przeglądarce internetowej.
- showIncomingMessagesInTable():
Wybiera wiadomości z tabeli SQL wiadomości przychodzących i buduje z nich tabelę HTML
w Twojej przeglądarce internetowej.
sqlsmshandling_inoutmessages.php:
Buduje tabele HTML. Wykorzystuje funkcje connectToDatabase(), showOutgoingMessagesInTable(), showIncomingMessagesInTable() i closeConnection() do ponownego generowania tabel. Te funkcje są dostępne w pliku sqlsmshandling_functions.php.
Szczegółowy opis procesu z Rysunku 1 powyżej:
Krok 1: Utwórz formularz wprowadzania danych
sqlsmshandling.php tworzy formularz (Rysunek 3) do żądania danych SMS od użytkownika. Formularz składa się z etykiet i pól tekstowych oraz przycisku 'Wyślij'. Użytkownik internetowy wypełnia pola odbiorcy i wiadomości, a następnie klik
Często zadawane pytania
Pytanie: Czy mogę wysłać inny typ wiadomości niż 'SMS:TEXT'?
Odpowiedź: Tak. Na przykład wiadomość Wap push podczas wywoływania funkcji insertMessage(...) (Rysunek 7).
insertMessage ($_POST["textAreaRecipient"], "SMS:WAPPUSH", $_POST["textAreaMessage"])
W formularzu w polu tekstowym 'Tekst wiadomości' należy wpisać:
<si> <indication href="http://target_address" action="signal-high"> tekst opisu </indication> </si>
Rysunek 7 - SMS:TEXT zmienione na SMS:WAPPUSH
Parametr 'action' znacznika 'indication' może przyjmować jedną z następujących wartości:
signal-high, signal-medium, signal-low, signal-none, signal-delete.
Pytanie: Czy serwer HTTP z obsługą PHP może działać na innym komputerze niż serwer MySQL i Ozeki SMS Gateway?
Odpowiedź: Tak, może. W skrypcie PHP należy ustawić adres IP oraz aktualne dane logowania do bazy danych MySQL.
Pytanie: Czy mogę pokazać odbiorcy numer telefonu nadawcy?
Odpowiedź: Tak, możesz. Utwórz pole tekstowe na numer telefonu nadawcy lub zmodyfikuj funkcję insertMessage(...) (Rysunek 8).
Pamiętaj, że to działa tylko w przypadku połączenia z dostawcą usług SMS przez IP.
function insertMessage($sender, $recipient, $messageType, $messageText) { ... $query = "insert into ozekimessageout (sender,receiver,msgtype,msg,status) "; $query .= "values ('".$sender."','".$recipient."',". "'".$messageType."','".$messageText."','send');"; $result = mysql_query($query); ... }
Podsumowanie
Ten artykuł dotyczy rozwiązania do zarządzania wiadomościami SMS za pomocą MySQL przy użyciu Ozeki SMS Gateway oraz konfiguracji tego systemu. Jeśli wdrożysz to rozwiązanie, postępując zgodnie z samouczkiem krok po kroku, będziesz mógł kontrolować system wiadomości za pomocą instrukcji SQL poprzez aplikację PHP. Oprócz uporządkowanej i prostej obsługi wiadomości SMS, to rozwiązanie oferuje jeszcze jedną wielką zaletę - zaawansowane bezpieczeństwo strony internetowej, które można osiągnąć poprzez dodanie logowania za pomocą SMS.
Na stronie Ozeki znajdziesz wiele artykułów, które warto przeczytać - skorzystaj z okazji i odwiedź te strony. Zacznij od przewodnika, jak wysyłać SMS-y ze swojej strony internetowej za pomocą PHP i HTTP API.
Pobierz Ozeki SMS Gateway już teraz i pozwól nam pomóc Ci osiągnąć cele!
More information
- Wyślij SMS z MySQL za pomocą PHP
- Wyślij SMS ze strony internetowej za pomocą PHP i MySQL
- Wyślij SMS ze strony internetowej za pomocą PHP i HTTP API
- PHP Jednorazowe hasło