Create a PHP API and Visual Basic App to Use It
Submitted by Yorkiebar on Monday, September 9, 2013 - 07:05.
Introduction:
This tutorial we will be creating a simple PHP API for a website. This is useful for if you have a website which you want users to be able to interact with in third party programs seamlessly. Our API will only write a file and check if it already exists, you can make yours write to a database etc.
Steps of Creation:
PHP API
Step 1:
First we are going to create our PHP API and once that is finished we will create a simple Visual Basic application to use the API. To start, you will either need a domain or a localhost software which can run PHP, I am using XAMPP.
In case you don't know website creation or development, the main/first page which is automatically visited once someone goes to a website address is named "index" (.php, .html etc). So create a new directory in your localhost or website control panel and add a file called "index.php", or you can use your own API file - just use that API file name later instead of when I use index.php.
Step 2:
Ok, now we have our file, lets first make it check for a GET statement named "write". GET Statements in PHP are simple variables which are contained in the URL of a web address after a ? and are assigned a value after a =. In the example below, there is a GET variable called name with the value of Yorkiebar:
Because our simple API is only going to have two options (write and check) we can check for "write" and use the else statement, if you have more you can use elseif statements to check for multiple GET (or POST) statements.
Step 3:
Now in our write exists block we can make a simple script to write a file. We are only going to be using a file named "test.txt", as an extension of this tutorial you can try to make the name of the file a setting from our API and Software using the API.
So if the file does already exists named "test.txt" in our current direction we made our file output "File written." to the source, and if not it will output "File not written.".
Visual Basic Application
Before:
This project will require the Import of System.Net to use HTTPWebRequest and HTTPWebResponse
Step 1:
Now on to our Visual Basic Application. Create two buttons, one for writing and one for checking, then one textbox to contain the text to write to our file if the write button is clicked.
Now, for the write button script we simple going to send a response to our website's API with ?write= followed by our textbox1.text - which is validated before hand:
We remove the spaces from our textbox1.text with %20's just to make sure the text is written correctly since a web address can not contain spaces. As a note, if you are using your localhost too, you should also use 127.0.0.1 instead of "localhost".
Step 2:
Now, for our check script. This script just simply sends a request to the API and reads the response which we output in the API to the website text. If the website source contains "File written" it will output "File Already Written" and vice versa.
Project Complete!
There is our very basic PHP API and Visual Basic Application. Have a go at giving it some more functions. Below is the source and download to both the API and Visual Basic Solution Project:
API:
Visual Basic API Program:
- http://www.yoursite.com/index.php?name=yorkiebar
- <?php
- {
- }else{
- }
- ?>
Step 4:
That's out simple write script finished, now let's create our check script. As I said at the beginning of this tutorial, this is only a very basic API and as a result only has minor script but the principle is the exact same for larger and more complex APIs.
- <?php
- {
- }else{
- echo 'File written.';
- }else{
- echo 'File not written.';
- }
- }
- ?>
- Imports System.Net
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim sendText As String
- If (TextBox1.Text.Length > 0) Then
- If (TextBox1.Text.Contains(" ")) Then
- For Each c As Char In TextBox1.Text
- If (c = " " Or c = Nothing) Then
- sendText &= "%20"
- Else
- sendText &= c
- End If
- Next
- Else
- sendText = TextBox1.Text
- End If
- Else : sendText = "Hi%20There"
- End If
- Dim r As HttpWebRequest = HttpWebRequest.Create("http://127.0.0.1/freelancerPHPAPI/index.php?write=" & sendText)
- Dim re As HttpWebResponse = r.GetResponse()
- MsgBox("Request Finished")
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- Dim r As HttpWebRequest = HttpWebRequest.Create("http://127.0.0.1/freelancerPHPAPI/index.php?check")
- Dim re As HttpWebResponse = r.GetResponse()
- Dim src As String = New System.IO.StreamReader(re.GetResponseStream()).ReadToEnd()
- If (src.Contains("File written")) Then
- MsgBox("File Already Written")
- Else : MsgBox("File Not Yet Written!")
- End If
- End Sub
- <?php
- {
- }else{
- echo 'File written.';
- }else{
- echo 'File not written.';
- }
- }
- ?>
- Imports System.Net
- Public Class Form1
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim sendText As String
- If (TextBox1.Text.Length > 0) Then
- If (TextBox1.Text.Contains(" ")) Then
- For Each c As Char In TextBox1.Text
- If (c = " " Or c = Nothing) Then
- sendText &= "%20"
- Else
- sendText &= c
- End If
- Next
- Else
- sendText = TextBox1.Text
- End If
- Else : sendText = "Hi%20There"
- End If
- Dim r As HttpWebRequest = HttpWebRequest.Create("http://127.0.0.1/freelancerPHPAPI/index.php?write=" & sendText)
- Dim re As HttpWebResponse = r.GetResponse()
- MsgBox("Request Finished")
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- Dim r As HttpWebRequest = HttpWebRequest.Create("http://127.0.0.1/freelancerPHPAPI/index.php?check")
- Dim re As HttpWebResponse = r.GetResponse()
- Dim src As String = New System.IO.StreamReader(re.GetResponseStream()).ReadToEnd()
- If (src.Contains("File written")) Then
- MsgBox("File Already Written")
- Else : MsgBox("File Not Yet Written!")
- End If
- End Sub
- End Class
Comments
Add new comment
- Add new comment
- 844 views