sumana_php_mysql_iit_bombay_2013
TRANSCRIPT
![Page 2: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/2.jpg)
![Page 3: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/3.jpg)
![Page 4: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/4.jpg)
What is PHP?• Server side language• Very easy to learn• Available on LAMP stack (Linux Apache Mysql
PHP)• Does not require any special tools. Create a
file with .php extension and your done.
![Page 5: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/5.jpg)
What we need to learn?• Enough PHP to handle simple request• How to talk to backend data store using PHP• How to parse XML/JSON in PHP• How to generate JSON in PHP
![Page 6: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/6.jpg)
Getting Started• You need a local server with PHP enabled.• XAMPP for windows• MAMP for Mac OSx• Linux has it by default
![Page 7: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/7.jpg)
Create a file hello.php into htdocs and call it like this http://localhost:80/hello.php
<?php$college = “IIT-BOMBAY”;echo “Hello “ . $college;
?>
Getting Started
![Page 8: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/8.jpg)
• PHP blocks start with <?php and end with ?> -• Every line of PHP has to end with a
semicolon ";”• Variables in PHP start with a $• You print out content to the document in PHP
with the echo command.• $college is variable and it can be printed out• You can jump in and out of PHP anywhere in
the document. So if you intersperse PHP with HTML blocks, that is totally fine. For example:
![Page 9: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/9.jpg)
<?php $origin = 'Outer Space'; $planet = 'Earth'; $plan = 9; $sceneryType = "awful";?><h1>Synopsis</h1><p>It was a peaceful time on planet <?php echo $planet;?> and people in the <?php echo $sceneryType;?> scenery were unaware of the diabolic plan <?php echo $plan;?> from <?php echo $origin;?> that will take their senses to the edge of what can be endured.</p>
Mix Match
demo1.php
![Page 10: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/10.jpg)
Displaying more complex data
• You can define arrays in PHP using the array() method$lampstack = array('Linux','Apache','MySQL','PHP');
• If you simply want to display a complex datatype like this in PHP for debugging you can use the print_r() command
$lampstack = array('Linux','Apache','MySQL','PHP');print_r($lampstack);
demo2.php
![Page 11: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/11.jpg)
Arrays
<ul><?php$lampstack = array('Linux','Apache','MySQL','PHP');echo '<li>Operating System:'.$lampstack[0] . '</li>';echo '<li>Server:' . $lampstack[1] . '</li>';echo '<li>Database:' . $lampstack[2] . '</li>';echo '<li>Language:' . $lampstack[3] . '</li>';?></ul>
demo3.php
![Page 12: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/12.jpg)
Arrays
<ul><?php$lampstack = array('Linux','Apache','MySQL','PHP');$labels = array('Operating System','Server','Database','Language');$length = sizeof($lampstack);for( $i = 0;$i < $length;$i++ ){ echo '<li>' . $labels[$i] . ':' . $lampstack[$i] . '</li>';}?></ul> sizeof($array) - this will return the size of the array
demo4.php
![Page 13: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/13.jpg)
Associative Arrays
<ul><?php$lampstack = array( 'Operating System' => 'Linux', 'Server' => 'Apache', 'Database' => 'MySQL', 'Language' => 'PHP');$length = sizeof($lampstack);$keys = array_keys($lampstack);for( $i = 0;$i < $length;$i++ ){ echo '<li>' . $keys[$i] . ':' . $lampstack[$keys[$i]] . '</li>';}?></ul>
demo5.php
![Page 14: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/14.jpg)
Functions
<?phpfunction renderList($array){ if( sizeof($array) > 0 ){ echo '<ul>'; foreach( $array as $key => $item ){ echo '<li>' . $key . ':' . $item . '</li>'; } echo '</ul>'; }}$lampstack = array( 'Operating System' => 'Linux', 'Server' => 'Apache', 'Database' => 'MySQL', 'Language' => 'PHP');renderList($lampstack);?> demo6.php
![Page 15: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/15.jpg)
Interacting with the web - URL parameters
<?php$name = “Sumana”
// if there is no language defined, switch to Englishif( !isset($_GET['language']) ){ $welcome = 'Oh, hello there, ';}if( $_GET['language'] == 'hindi' ){ $welcome = 'Namastae, ';}switch($_GET['font']){ case 'small': $size = 80; break; case 'medium': $size = 100; break; case 'large': $size = 120; break; default: $size = 100; break;}echo '<style>body{font-size:' . $size . '%;}</style>';echo '<h1>'.$welcome.$name.'</h1>';?>
demo7.php
![Page 16: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/16.jpg)
Loading content from the web
<?php // define the URL to load $url = 'http://cricket.yahoo.com/player-profile/Sachin-Tendulkar_2962'; // start cURL $ch = curl_init(); // tell cURL what the URL is curl_setopt($ch, CURLOPT_URL, $url); // tell cURL that you want the data back from that URL curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // run cURL $output = curl_exec($ch); // end the cURL call (this also cleans up memory so it is // important) curl_close($ch); // display the output echo $output;?>
demo8.php
![Page 17: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/17.jpg)
Displaying XML content• Demo
demo9.php
![Page 18: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/18.jpg)
Displaying JSON content• Demo
demo9.php
![Page 19: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/19.jpg)
Putting all together
![Page 20: sumana_PHP_mysql_IIT_BOMBAY_2013](https://reader035.vdocuments.us/reader035/viewer/2022070321/558c18bfd8b42ad3718b4680/html5/thumbnails/20.jpg)
Further Referencehttp://www.php.net/
http://developer.yahoo.comhttp://isithackday.com/hackday-toolbox/phpforhacks/index.html
http://www.slideshare.net/sumanahariharan
https://github.com/sumanahariharan