PHP #3 : tableaux & formulaires

36
PHP : Tableaux & formulaires

Transcript of PHP #3 : tableaux & formulaires

Page 1: PHP #3 : tableaux & formulaires

PHP : Tableaux & formulaires

Page 2: PHP #3 : tableaux & formulaires

1. Tableau

Page 3: PHP #3 : tableaux & formulaires

Définition

En informatique, un tableau (array en anglais) est une structure de données qui consiste en un ensemble d'éléments ordonnés accessibles par leur indice (ou index). C'est une structure de données de base que l'on retrouve dans chaque langage de programmation.

Source : http://fr.wikipedia.org

Page 4: PHP #3 : tableaux & formulaires

1.1 Tableau numéroté

Page 5: PHP #3 : tableaux & formulaires

Valeur VS Index

« Frodon » « Gandalf » « Aragorn » « Legolas » Valeurs

Index 0 1 2 3

Page 6: PHP #3 : tableaux & formulaires

Créer un tableau

<?php $characters = array('Frodon', 'Gandalf', 'Aragorn', 'Legolas'); ?>

Page 7: PHP #3 : tableaux & formulaires

Lire une valeur

<?php $characters = array('Frodon', 'Gandalf', 'Aragorn', 'Legolas'); echo $characters[0]; // Frodon echo $characters[1]; // Gandalf echo $characters[2]; // Aragorn echo $characters[3]; // Legolas ?>

Page 8: PHP #3 : tableaux & formulaires

Ajouter une valeur

<?php $characters = array('Frodon', 'Gandalf', 'Aragorn', 'Legolas'); $characters[] = 'Gimli'; echo $characters[4]; // Gimli $characters[5] = 'Boromir'; echo $characters[5]; // Boromir ?>

Page 9: PHP #3 : tableaux & formulaires

Modifier une valeur

<?php $characters = array('Frodon', 'Gandalf', 'Aragorn', 'Legolas'); $characters[1] = 'Gimli'; echo $characters[1]; // Gimli ?>

Page 10: PHP #3 : tableaux & formulaires

1.2 Tableau associatif

Page 11: PHP #3 : tableaux & formulaires

Valeur VS Index

« Frodon » « Gandalf » « Aragorn » « Legolas » Valeurs

Index Elijah Wood Ian McKellen Viggo Mortensen Orlando Bloom

Page 12: PHP #3 : tableaux & formulaires

Créer un tableau

<?php $leSeigneurDesAnneaux = array( 'Elijah Wood' => 'Frodon', 'Ian McKellen' => 'Gandalf', 'Viggo Mortensen' => 'Aragorn', 'Orlando Bloom' => 'Legolas' ); ?>

Page 13: PHP #3 : tableaux & formulaires

Lire une valeur

<?php $leSeigneurDesAnneaux = array( 'Elijah Wood' => 'Frodon', 'Ian McKellen' => 'Gandalf', 'Viggo Mortensen' => 'Aragorn', 'Orlando Bloom' => 'Legolas' );

echo $leSeigneurDesAnneaux['Ian McKellen']; //Gandalf ?>

Page 14: PHP #3 : tableaux & formulaires

Ajouter une valeur

<?php $leSeigneurDesAnneaux = array( 'Elijah Wood' => 'Frodon', 'Ian McKellen' => 'Gandalf', 'Viggo Mortensen' => 'Aragorn', 'Orlando Bloom' => 'Legolas' );

$leSeigneurDesAnneaux['Sean Bean'] = 'Boromir' echo $leSeigneurDesAnneaux['Sean Bean']; //Boromir ?>

Page 15: PHP #3 : tableaux & formulaires

Modifier une valeur

<?php $leSeigneurDesAnneaux = array( 'Elijah Wood' => 'Frodon', 'Ian McKellen' => 'Gandalf', 'Viggo Mortensen' => 'Aragorn', 'Orlando Bloom' => 'Legolas' );

$leSeigneurDesAnneaux['Viggo Mortensen'] = 'Grands-pas' echo $leSeigneurDesAnneaux['Viggo Mortensen']; // Grands-pas ?>

Page 16: PHP #3 : tableaux & formulaires

1.3 Tableau de tableaux de tableaux …

Page 17: PHP #3 : tableaux & formulaires

Valeur VS Index

« Frodon » « Gandalf » « Aragorn » « Legolas » Le seigneur des anneaux

Star wars

Matrix

« Yoda » « Anakin » « C-3PO » « R2-D2 » 

« Néo » « Trinity » « Morpheus » « Smith » 

0 1 2 3

Page 18: PHP #3 : tableaux & formulaires

Créer un tableau à deux dimensions

<?php $movies = array( 'Le seigneur des anneaux' => array( 'Frodon', 'Gandalf', 'Aragorn', 'Legolas'), 'Star wars' => array( 'Yoda', 'Anakin', 'C-3PO', 'R2-D2'), 'Matrix' => array( 'Néo', 'Trinity', 'Morpheus', 'Smith') ); ?>

Page 19: PHP #3 : tableaux & formulaires

Lire une valeur<?php $movies = array( 'Le seigneur des anneaux' => array( 'Frodon', 'Gandalf', 'Aragorn', 'Legolas'), 'Star wars' => array( 'Yoda', 'Anakin', 'C-3PO', 'R2-D2'), 'Matrix' => array( 'Néo', 'Trinity', 'Morpheus', 'Smith') );

echo $movies['Star wars'][2]; // C-3PO echo $movies['Matrix'][0]; // Néo ?>

Page 20: PHP #3 : tableaux & formulaires

Ajouter une valeur<?php $movies = array( 'Le seigneur des anneaux' => array( 'Frodon', 'Gandalf', 'Aragorn', 'Legolas'), 'Star wars' => array( 'Yoda', 'Anakin', 'C-3PO', 'R2-D2'), 'Matrix' => array( 'Néo', 'Trinity', 'Morpheus', 'Smith') );

$movies['Mad Max'] = array('Max Rockatansky', 'Jim Goose'); echo $movies['Mad Max'][1]; // Jim Goose ?>

Page 21: PHP #3 : tableaux & formulaires

Modifier une valeur<?php $movies = array( 'Le seigneur des anneaux' => array( 'Frodon', 'Gandalf', 'Aragorn', 'Legolas'), 'Star wars' => array( 'Yoda', 'Anakin', 'C-3PO', 'R2-D2'), 'Matrix' => array( 'Néo', 'Trinity', 'Morpheus', 'Smith') ); echo $movies['Matrix'][1]; // Trinity $movies['Matrix'][1] = 'Cypher'; echo $movies['Matrix'][1]; // Cypher ?>

Page 22: PHP #3 : tableaux & formulaires

1.4 Utilitaires

Page 23: PHP #3 : tableaux & formulaires

La boucle foreach (1)

<?php $leSeigneurDesAnneaux = array( 'Elijah Wood' => 'Frodon', 'Ian McKellen' => 'Gandalf', 'Viggo Mortensen' => 'Aragorn', 'Orlando Bloom' => 'Legolas' );

foreach ($leSeigneurDesAnneaux as $key => $value) { echo $key . ' : ' . $value; } ?>

Page 24: PHP #3 : tableaux & formulaires

La boucle foreach (2)

<?php $movies = array( 'Le seigneur des anneaux' => array( 'Frodon', 'Gandalf', 'Aragorn', 'Legolas'), 'Star wars' => array( 'Yoda', 'Anakin', 'C-3PO', 'R2-D2'), 'Matrix' => array( 'Néo', 'Trinity', 'Morpheus', 'Smith') );

foreach ($movies as $key => $value) { echo $key . ' : '; foreach ($value as $movieKey => $movie) { echo $movie. ', '; } echo '<br/>'; } ?>

Page 25: PHP #3 : tableaux & formulaires

Tester l’existence d’une variable

<?php $tab = array('truc', 'machin');

if(isset($tab[0])){ echo $tab[0]; // truc } if(isset($tab[2])){ echo $tab[2]; } ?>

Page 26: PHP #3 : tableaux & formulaires

Compter les éléments d’un tableau

<?php $tab = array('truc', 'machin');

echo count($tab); // 2 ?>

Page 27: PHP #3 : tableaux & formulaires

2. Formulaires

Page 28: PHP #3 : tableaux & formulaires

Le code html

<form action="test.php" method="POST"> <input type="text" name="toto" /> <input type="submit" /> </form>

Page 29: PHP #3 : tableaux & formulaires

Action & method

Action : page de traitement du formulaire

Method : GET ou POST

GET : transfert des données par l’urlPOST : transfert «invisible» des données

Page 30: PHP #3 : tableaux & formulaires

Récupérer les données envoyées

<?php echo $_GET['nom_du_champ_de_formulaire']; echo $_POST['nom_du_champ_de_formulaire']; ?>

Page 31: PHP #3 : tableaux & formulaires

Exemple (1)

<form action="test.php" method="POST"> <input type="text" name="toto" /> <input type="submit" /> </form>

index.php test.php

<?php echo $_POST[‘toto']; ?>

Page 32: PHP #3 : tableaux & formulaires

Exemple (2)

<form action="page.php" method="GET"> <input type="text" name="prenom" /> <input type="submit" /> </form>

index.php page.php

<?php echo $_GET[‘prenom']; ?>

Page 33: PHP #3 : tableaux & formulaires

Envoyer un paramètre sans formulaire

<a href="test.php?nom=michel&prenom=jean"> Mon super lien </a>

index.php

test.php

<?php echo $_GET['prenom']; echo $_GET['nom']; ?>

Page 34: PHP #3 : tableaux & formulaires

4. Mise en pratique

Page 35: PHP #3 : tableaux & formulaires

Exercice : En route pour l’école !

Créer la page « réponse » indiquant si l’utilisateur a entré la bonne réponse et la page « début de quizz ».

Ecrans disponibles ici : https://www.dropbox.com/sh/som5j63lbp6xbph/AAA1XV3kIht2x-MfBPfIho1Ia?dl=0

L’utilisateur doit pouvoir enchainer les questions / réponses à l’infinie.

Page 36: PHP #3 : tableaux & formulaires

Merci pour votre attention.