Beginners PHP 2:PHP POST Part 1/2
3 posts
Page 1 of 1
In part 1 of this series, we learned about the $_GET[] function. (if you did not read it, access it here: viewtopic.php?f=86&t=3747) If you did not already know what echo does, it just displays a string onto the webpage. Anyways, today we're going to learn about the 2nd method used in the <form /> tag, POST!
Quick Explaination of what POST is:
Well, POST is a global variable array that handles server based information transactions. Complex words, simple function. Basically what this nonsense I'm speaking here is that POST cannot be seen in the URL box on your webbrowser, instead, the information is submitted through PHP between files (<form action="" />). It is commonly used for login/register forms. It is more geared for security rather than being openly visible in the URL box like GET. Get is used mainly for search engines. You can use POST for search engines, but it's not recommended because a user can't link you to "google.com/search" and expect that it will search for "cat" because you did not POST it in a forum.
One thing I did not teach you in GET is that what appears in a URL is based on the name of the <input /> tag. Remember in the previous tutorial, we made it say "?num1=&num2=" ? Well, the <input /> tag's name for those were "<input name='num1' />" and "<input name='num2' />".
Onward,
What is the syntax for POST?
The syntax used for this is
Example, Yayy!
We are going to create a simple index.php file that will contain an HTML form, just like the one used in GET, only we'll change the fields around a bit.
index.php:
Here are the three fields:
After this, we need to create our "form_submit.php" file where the magic really happens.
form_submit.php:
If it has been submitted, then declare 2 new variables.
Notice at this part:
In part 2 of this article, I will teach you about submitting forums using the same PHP file (Submitting the forum to "index.php" instead of "form_submit.php")
It can make your life and your website visitor's lives easier.
Though, I personally don't use it because it makes code messier.
Notes:
Alex.
Quick Explaination of what POST is:
Well, POST is a global variable array that handles server based information transactions. Complex words, simple function. Basically what this nonsense I'm speaking here is that POST cannot be seen in the URL box on your webbrowser, instead, the information is submitted through PHP between files (<form action="" />). It is commonly used for login/register forms. It is more geared for security rather than being openly visible in the URL box like GET. Get is used mainly for search engines. You can use POST for search engines, but it's not recommended because a user can't link you to "google.com/search" and expect that it will search for "cat" because you did not POST it in a forum.
One thing I did not teach you in GET is that what appears in a URL is based on the name of the <input /> tag. Remember in the previous tutorial, we made it say "?num1=&num2=" ? Well, the <input /> tag's name for those were "<input name='num1' />" and "<input name='num2' />".
Onward,
What is the syntax for POST?
The syntax used for this is
Code: Select all
It's just like GET, only change GET to POST. $_POST['fieldname'];
Example, Yayy!
We are going to create a simple index.php file that will contain an HTML form, just like the one used in GET, only we'll change the fields around a bit.
index.php:
Code: Select all
In this code, we create a form with 3 fields. Question, Answer, and Submit. We also change the method parameter of the <form> tag to "POST" meaning that it will POST this to "form_submit.php"<?php
//index.php
?>
<html>
<head>
<TITLE>PHP Post Example</TITLE>
</head>
<body>
<h1>Question yourself!</h1>
<form name="form1" action="form_submit.php" method="POST">
Insert a Question: <br />
<input type="text" name="question" value="" />
<br />
Answer to your question:<br />
<input type="text" name="answer" value="" />
<br />
<input type="submit" name="submit" value="POST it!" />
</form>
</body>
</html>
Here are the three fields:
- Question: A Text field with the value of nothing. Ask a simple question in here like "What is my favorite color?"
- Answer: A Text field with the value of nothing. Answer your simple question. e.g: "Green"
- Submit: Submit the form.
After this, we need to create our "form_submit.php" file where the magic really happens.
form_submit.php:
Code: Select all
In this code, we first use an if statement to check if the form has been submitted. We use the isset() function to accomplish this. See the little "!" before "isset("? That is saying, if the form has NOT been submitted. The "!" at the beginning of an if statement is just like saying "if not" in visual basics. So if it has NOT been submitted, then echo "You have not submitted the form." The only way you will get this message is if you type in your browser "yoursite.com/form_submit.php" without submitting the form. <?php
//form_submit.php
if(!isset($_POST['submit'])){
echo "You have not filled out the form.";
}else{
$question = $_POST['question'];
$answer = $_POST['answer'];
?>
<b>Your Question</b>: <?php echo $question; ?>
<br>
<b>Your Answer</b>: <?php echo $answer; ?>
<br><br>
Press your browser's back button to submit another one!
<?php
}
?>
If it has been submitted, then declare 2 new variables.
- $question: The variable for the question. It's value = $_POST['question'];
- $answer: The variable for the answer. It's value = $_POST['answer'];
Notice at this part:
Code: Select all
We end the <?php tag using ?> then enter some HTML code and start PHP again using <?php and then end the if statement using "}" We are basically just echoing what's not in the PHP part of the if statement without using the echo command and it's actually a lot easier to do it that way because you don't have to enter a long code within echo() function. It's the same as saying:
?>
<b>Your Question</b>: <?php echo $question; ?>
<br>
<b>Your Answer</b>: <?php echo $answer; ?>
<br><br>
Press your browser's back button to submit another one!
<?php
}
?>
Code: Select all
and so on. Makes no difference, just makes it easier.echo "<b>Your Question:</b>".$question."<br>";
In part 2 of this article, I will teach you about submitting forums using the same PHP file (Submitting the forum to "index.php" instead of "form_submit.php")
It can make your life and your website visitor's lives easier.
Though, I personally don't use it because it makes code messier.
Notes:
- POST: submit information without using the URL. Makes things more secure.
- Don't flame me if I made a mistake on some spelling error.
- I appreciate constructive criticism. It helps motivate me to make more tutorials.
- If you have a page consuming question, please PM it to me. Lets not spam the comments.
Alex.
Last edited by Alex on Wed Nov 17, 2010 12:31 am, edited 1 time in total.
<?php
$wants_to_make_guide_today = true;
if($wants_to_make_guide_today == true){
make_guide();
}else{
sleep();
}
?>
$wants_to_make_guide_today = true;
if($wants_to_make_guide_today == true){
make_guide();
}else{
sleep();
}
?>
you can use php code to explain it better
Code: Select all
[/code][code=php]
echo "<b>Your Question:</b>".$question."<br>";
Nailing my feet to the floor is easier than using my own muscles to balance, but you don't see me doing that 

zachman61 wrote:you can use php code to explain it better:o :o :o !!! I did not know that. Thanks, Zach.Code: Select all[/code][code=php] echo "<b>Your Question:</b>".$question."<br>";

<?php
$wants_to_make_guide_today = true;
if($wants_to_make_guide_today == true){
make_guide();
}else{
sleep();
}
?>
$wants_to_make_guide_today = true;
if($wants_to_make_guide_today == true){
make_guide();
}else{
sleep();
}
?>
3 posts
Page 1 of 1
Copyright Information
Copyright © Codenstuff.com 2020 - 2023