maxime arthaud - enseeiht · 2013-10-22 · introduction les bases du langage transmission de...

45
Introduction Les bases du langage Transmission de variables La persistance Formation PHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation PHP

Upload: others

Post on 12-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Formation PHP

Maxime Arthaud

net7

Mardi 22 octobre 2013

Formation PHP

Page 2: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

PHP, Qu’est-ce que c’est ?Client / ServeurDevelopper en local

Syllabus

1 IntroductionPHP, Qu’est-ce que c’est ?Client / ServeurDevelopper en local

2 Les bases du langage

3 Transmission de variables

4 La persistance

Formation PHP

Page 3: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

PHP, Qu’est-ce que c’est ?Client / ServeurDevelopper en local

Formation PHP

Page 4: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

PHP, Qu’est-ce que c’est ?Client / ServeurDevelopper en local

PHP, Qu’est-ce que c’est ?

PHP = PHP Hypertext Preprocessor.

Formation PHP

Page 5: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

PHP, Qu’est-ce que c’est ?Client / ServeurDevelopper en local

PHP, Qu’est-ce que c’est ?

PHP = PHP Hypertext Preprocessor.

Langage de programmation permettant de dynamiser son site

web.

Formation PHP

Page 6: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

PHP, Qu’est-ce que c’est ?Client / ServeurDevelopper en local

PHP, Qu’est-ce que c’est ?

PHP = PHP Hypertext Preprocessor.

Langage de programmation permettant de dynamiser son site

web.

Version 5.4, version 6 en preparation.

Formation PHP

Page 7: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

PHP, Qu’est-ce que c’est ?Client / ServeurDevelopper en local

Formation PHP

Page 8: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

PHP, Qu’est-ce que c’est ?Client / ServeurDevelopper en local

Sous Linux

LAMP

XAMP

Sous Windows

XAMP

WAMP

easyPHP

Formation PHP

Page 9: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

PHP, Qu’est-ce que c’est ?Client / ServeurDevelopper en local

net7 vous aime

net7 vous fourni un joli LAMP deja pret.

Formation PHP

Page 10: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

PHP, Qu’est-ce que c’est ?Client / ServeurDevelopper en local

net7 vous aime

net7 vous fourni un joli LAMP deja pret.

Placez les fichiers dans www public de votre espace INP-net.

Formation PHP

Page 11: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

PHP, Qu’est-ce que c’est ?Client / ServeurDevelopper en local

net7 vous aime

net7 vous fourni un joli LAMP deja pret.

Placez les fichiers dans www public de votre espace INP-net.

Accedez a votre site via http ://www.bde.enseeiht.fr/∼login/

Formation PHP

Page 12: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

PHP, Qu’est-ce que c’est ?Client / ServeurDevelopper en local

net7 vous aime

net7 vous fourni un joli LAMP deja pret.

Placez les fichiers dans www public de votre espace INP-net.

Accedez a votre site via http ://www.bde.enseeiht.fr/∼login/

Formation PHP

Page 13: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Syllabus

1 Introduction

2 Les bases du langagePremier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

3 Transmission de variables

4 La persistance

Formation PHP

Page 14: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Premier pas en PHP

<!DOCTYPE html>

<html>

<head>

<title>titre</title>

</head>

<body>

<?php echo "Hello World"; ?>

</body>

</html>

Formation PHP

Page 15: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Une variable, qu’est-ce que c’est ?

Une petite information stockee en memoire temporairement.

Formation PHP

Page 16: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Une variable, qu’est-ce que c’est ?

Une petite information stockee en memoire temporairement.

Un nom, une valeur.

Formation PHP

Page 17: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Une variable, qu’est-ce que c’est ?

Une petite information stockee en memoire temporairement.

Un nom, une valeur.

Notion de type.

Formation PHP

Page 18: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Une variable, qu’est-ce que c’est ?

Une petite information stockee en memoire temporairement.

Un nom, une valeur.

Notion de type.

Exemple

<?php

$ma_variable = 1;

$autre_variable = "Coucou c’est moi";

$pi = 3.1415;

echo $autre_variable;

?>

Formation PHP

Page 19: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Notion d’inclusion : index.php

<!DOCTYPE html>

<html>

<head><title>titre</title></head>

<body>

<?php include(’contenu.php’); ?>

</body>

</html>

Formation PHP

Page 20: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Notion d’inclusion : index.php

<!DOCTYPE html>

<html>

<head><title>titre</title></head>

<body>

<?php include(’contenu.php’); ?>

</body>

</html>

contenu.php

<?php

$age = 21;

echo "Salut ! j’ai $age ans";

?>

Formation PHP

Page 21: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

if

<?php

if ($condition) {

//quelques instructions 1

}

elseif ($autre_condition) {

//quelques instructions 2

}

else {

//quelques instructions 3

}

?>

Formation PHP

Page 22: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

for

<?php

for ($i=$init; $i<$max; $i++) {

//quelques instructions

}

?>

Formation PHP

Page 23: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

for

<?php

for ($i=$init; $i<$max; $i++) {

//quelques instructions

}

?>

while

<?php

while ($condition) {

//quelques instructions

}

?>

Formation PHP

Page 24: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Les tableaux numerotes

<?php

$a = array(1, "PIPO", 3.14);

$a[2] = 3.14159;

$a[] = "zouip";

?>

Formation PHP

Page 25: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Les tableaux numerotes

<?php

$a = array(1, "PIPO", 3.14);

$a[2] = 3.14159;

$a[] = "zouip";

?>

Les tableaux associatifs

<?php

$a = array("chat" => "blanc", "poney" => "rose");

$a[’chat’] = "gris";

echo $a[’poney’];

?>

Formation PHP

Page 26: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Appel de fonctions

echo sqrt(16);

Formation PHP

Page 27: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Appel de fonctions

echo sqrt(16);

Lire la doc php !

Formation PHP

Page 28: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Premier pas en PHPVariablesInclusionsStructures de controleLes tableauxFonctions

Appel de fonctions

echo sqrt(16);

Lire la doc php !

Creation de fonctions

function dupliquer($chaine, $nombre) {

$var = ’’;

for($i=0; $i<$nombre; $i++) {

$var = $var . $chaine;

}

return $var;

}

Formation PHP

Page 29: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Passage par urlPassage par formulaire

Syllabus

1 Introduction

2 Les bases du langage

3 Transmission de variablesPassage par urlPassage par formulaire

4 La persistance

Formation PHP

Page 30: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Passage par urlPassage par formulaire

Page envoyant les donnees

<a href="cible.php?var1=pipo&var2=42">Send data</a>

Page cible

<?php

echo "var1 vaut " . $_GET[’var1’];

echo "<br/>var2 vaut " . $_GET[’var2’];

?>

Formation PHP

Page 31: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Passage par urlPassage par formulaire

Page envoyant les donnees

<form method="post" action="cible.php">

Texte : <input type="text" name="var1" />

<input type="submit" value="Envoyer" />

</form>

Page cible

<?php

echo "var1 vaut ".$_POST[’var1’];

?>

Formation PHP

Page 32: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Passage par urlPassage par formulaire

Challenge

Creez une page protege par mot de passe.

Formation PHP

Page 33: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Syllabus

1 Introduction

2 Les bases du langage

3 Transmission de variables

4 La persistancePar les sessionsPar base de donneesPar ecriture dans un fichier

Formation PHP

Page 34: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Une page

<?php

session_start();

$_SESSION[’nom’] = "net7";

$_SESSION[’score’] = 42;

?>

Formation PHP

Page 35: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Une page

<?php

session_start();

$_SESSION[’nom’] = "net7";

$_SESSION[’score’] = 42;

?>

Une autre page

<?php

session_start();

echo $_SESSION[’nom’].", score: ".$_SESSION[’score’];

?>

Formation PHP

Page 36: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Les bases des bases de donnees

Base = ensemble des tables

Formation PHP

Page 37: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Les bases des bases de donnees

Base = ensemble des tables

Table = tableau avec des champs bien definis

Formation PHP

Page 38: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Les bases des bases de donnees

Base = ensemble des tables

Table = tableau avec des champs bien definis

phpmyadmin est votre ami

Formation PHP

Page 39: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Les bases de donnees avec PDO

PDO = PHP Data Object

// Initialisation d’une connexion

$con = new PDO(’mysql:dbname=user_arthaum;host=mysql.bde.

n7’, ’arthaum’, ’secret’);

$req = $con->query(’SELECT * FROM users’);

while($user = $req->fetch())

{

echo $user[’name’] . " : " . $user[’email’];

}

Formation PHP

Page 40: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Manipulation de fichiers

file_exists(’mon_fichier’)

Formation PHP

Page 41: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Manipulation de fichiers

file_exists(’mon_fichier’)

file_get_contents(’mon_fichier’)

Formation PHP

Page 42: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Manipulation de fichiers

file_exists(’mon_fichier’)

file_get_contents(’mon_fichier’)

file_put_contents(’mon_fichier’, ’contenu du fichier’)

Formation PHP

Page 43: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Manipulation de fichiers

file_exists(’mon_fichier’)

file_get_contents(’mon_fichier’)

file_put_contents(’mon_fichier’, ’contenu du fichier’)

Primitives : fopen, fread, fwrite, fgets, fclose

Formation PHP

Page 44: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Challenge, version 2.0

Creez un petit blog, gere avec des fichiers

Formation PHP

Page 45: Maxime Arthaud - ENSEEIHT · 2013-10-22 · Introduction Les bases du langage Transmission de variables La persistance FormationPHP Maxime Arthaud net7 Mardi 22 octobre 2013 Formation

IntroductionLes bases du langage

Transmission de variablesLa persistance

Par les sessionsPar base de donneesPar ecriture dans un fichier

Mieux que PHP?

Tout le reste... Des frameworks :

CakePHP

Zend

Symfony

Des CMS :

Drupal

WordPress

D’autres langages

Python → Django

Ruby → RubyOnRails

Formation PHP