ACM Web Development Workshop - PHP By Luis Torres.
-
Upload
lawrence-leonard -
Category
Documents
-
view
214 -
download
0
Transcript of ACM Web Development Workshop - PHP By Luis Torres.
This folder will contain our website files, if you want to run a php file it has to be INSIDE of this folder
Open “index.php”, erase all its content and replace with the following
BE CAREFUL:This is the concatenation character in PHP.In java is the “+” character. Don’t confuse them!
Lets do functions!
Our function doMath will take two inputs, and compute its sum.
Since we are not declaring types, we ASSUME that the inputs will be integers.
Inside the function we could check the types if we wanted to make sure that everything is ok.
PHP $_GET Purpose: Sometimes we want the same page
to have a function that can do multiple outputs based on the input.
Ex: google search will work the same way, but will yield different outcomes.
PHP $_GET How does it works? In the google example, they use the URL, to
pass variables that will be used in that page.
Wait… What? Lets go back to the doMath function. For the purpose of teaching, lets assume you
have this URL: (you hard code the rest of the url)
Lets break it down:localhost/yourFile.php <- this is your file
? Question mark shows where variables begin variableA <- the variable “varaibleA” has a
value of 2 & <- this character concatenates multiple
variables variableB <- the variable “varaibleB” has a
value of 3
But without the URL it wont work :’( Here is how to fix that, just check if the $_GET
“isset()”:<html><body><?php if(isset($_GET['variableA'])) {
$a=$_GET['variableA']; } else { echo "no input in URL, using variableA as 2<br>"; $a=2; } if(isset($_GET['variableB'])) {
$b=$_GET['variableB']; } else { echo "no input in URL, using variableB as 3<br>"; $b=3; } echo doMath($a,$b);?></body><?phpfunction doMath($a,$b){ return $a+$b;}
But, how can I change the values being passed without hardcoding? We have Forms
<html><body><form action=“yourFile.php" method="get">variable A: <input type="text" name="variableA" />variable B: <input type="text" name="variableB" /><input type="submit" /></form><?php
Rest of the code from previous example…?>
How does it work?
<html><body><form action=“yourFile.php" method="get">variable A: <input type="text" name="variableA" />variable B: <input type="text" name="variableB" /><input type="submit" /></form><?php
Rest of the code from previous example…?>
Input type submit is a button, after clicking the button it will go to the specified file, with the specified values and execute.
Will be obtained in yourFile.php using $_GET[‘variableName’]
What if I want to be mysterious and not show anything in the URL? You can use the POST function Similar to $_GET[‘variable’], you use
$_POST[‘variable’]<form action=“yourFile.php" method=“post">variable A: <input type="text" name="variableA" />variable B: <input type="text" name="variableB" /><input type="submit" />……<?php if(isset($_POST['variableA'])) {
$a=$_POST['variableA']; }…….You get the idea, it will work, and wont show the variables in the URL
Are they different?GET-variables shown at all times… horrible if you use get to pass a password
-since it is shown in the URL, you can bookmark a specific location on your browser. Cool now you can send a specific query of a website to a friend.
-URLs have a size limit!2048 characters
POST-variables hidden… you want to use this when submitting a password
-cant be bookmarked, useful if you don’t want users to return to a specific part of a site…like submitting the payment. Since post variables don’t stay there, when the code tries to execute it will fail because of the missing variables.
-don’t have a limit, and they are encrypted
PHP Include What if you have a multiple functions, and you
don’t want to copy paste them on all your files.
Really simple:
PHP Include WONT WORK if you put the include after you
method call. Make sure all your includes are at the top of
your code if possible.