php
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
php [2016/04/27 14:19] – luc | php [2018/10/13 20:32] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== PHP ====== | ||
+ | |||
+ | Un petit condensé de la grammaire de base du langage php. | ||
+ | |||
+ | ===== Script php ===== | ||
+ | |||
+ | Un script php est en général executé à la demande d'un navigateur web. Le serveur reçoit la demande, et execute le script. Les données de sorties de sripts sont renvoyées telles quelles au navigateur, il s'agit donc en général de code html. | ||
+ | |||
+ | On peut aussi au milieu du script php écrire directement du code html, on utilise pour cela les balises ouvrantes et fermantes de php. | ||
+ | |||
+ | Voici un exemple de structure basique d'un code php : | ||
+ | |||
+ | <code php> | ||
+ | <? | ||
+ | |||
+ | /* Commentaire */ | ||
+ | // commentaire mono-ligne | ||
+ | |||
+ | |||
+ | include(" | ||
+ | |||
+ | ?> // pour indiquer qu'ici s' | ||
+ | |||
+ | < | ||
+ | |||
+ | <?php | ||
+ | echo "< | ||
+ | ?> // facultatif si c'est en fin de page | ||
+ | |||
+ | </ | ||
+ | |||
+ | ------------- | ||
+ | - VARIABLES - | ||
+ | ------------- | ||
+ | $variable une valeur est toujours précédée d'un ' | ||
+ | |||
+ | -- CONCATANATION -- | ||
+ | <? | ||
+ | $age_du_visiteur = 17; | ||
+ | echo "Le visiteur a $age_du_visiteur ans"; | ||
+ | ?> | ||
+ | <? | ||
+ | $age_du_visiteur = 17; | ||
+ | echo 'Le visiteur a ' . $age_du_visiteur . ' ans'; | ||
+ | ?> | ||
+ | |||
+ | -- TRANSCODAGE -- | ||
+ | $variable1 = (int) $variable2 ; pour forcer la variable 1 en int, si pas possible (ex: string), alors 0.. | ||
+ | |||
+ | -------------- | ||
+ | - CONDITIONS - | ||
+ | -------------- | ||
+ | if (== AND > OR < >= <= !=) | ||
+ | { | ||
+ | ... | ||
+ | } | ||
+ | elseif | ||
+ | { | ||
+ | ... | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | } | ||
+ | --- | ||
+ | <? | ||
+ | if ($variable == 23) | ||
+ | { | ||
+ | ?> | ||
+ | < | ||
+ | <?php | ||
+ | } | ||
+ | ?> | ||
+ | --- | ||
+ | switch ($note) // | ||
+ | { | ||
+ | case 0: // dans le cas où $note vaut 0 | ||
+ | echo "Tu es vraiment un gros Zér0 !!!"; | ||
+ | break; | ||
+ | defaut: | ||
+ | echo ' | ||
+ | } // | ||
+ | |||
+ | ----------- | ||
+ | - BOUCLES - | ||
+ | ----------- | ||
+ | while (condition) | ||
+ | { | ||
+ | // | ||
+ | } | ||
+ | for ( $i=1 ; $i<=100 ; $i++) | ||
+ | { | ||
+ | // | ||
+ | } | ||
+ | |||
+ | ------------- | ||
+ | - FONCTIONS - | ||
+ | ------------- | ||
+ | -- EXEMPLE DE FONCTIONS PRATIQUES -- | ||
+ | strlen($phrase) retourne la longueur d'une chaine de caractère | ||
+ | str_replace(' | ||
+ | strtolower($chaine) convertit la chaine en miniscule | ||
+ | date(' | ||
+ | |||
+ | -- CREATION DE FONCTION -- | ||
+ | function Nom(paramètres) | ||
+ | { | ||
+ | // | ||
+ | } | ||
+ | |||
+ | ------------ | ||
+ | - TABLEAUX - | ||
+ | ------------ | ||
+ | $variable = array ('','' | ||
+ | $variable[0] = ' | ||
+ | $variable[] = .. ; on laisse php créer la numérotation | ||
+ | echo $variable[i] ; on doit tjs préciser la case pour exploiter les infos | ||
+ | |||
+ | -- TABLEAU ASSOCIATIF -- | ||
+ | $coordonnees = array ( création du tableau asociatif | ||
+ | ' | ||
+ | ' | ||
+ | $coordonnees[' | ||
+ | echo $coordonnees[' | ||
+ | |||
+ | -- PARCOURIR UN TABLEAU -- | ||
+ | utiliser une boucle for | ||
+ | foreach($prenoms as $element) {..} le contenu de chaque ligne du tableau est stocké dans $element | ||
+ | foreach($coordonnees as $cle => $element) pour récupérer la clé et l' | ||
+ | |||
+ | -- AFFICHER RAPIDEMENT UN TABLEAU -- | ||
+ | echo '< | ||
+ | print_r($coordonnees); | ||
+ | echo '</ | ||
+ | |||
+ | -- RECHERCHE DANS UN TABLEAU -- | ||
+ | array_key_exists vérifier si une clé existe dans le tableau | ||
+ | in_array vérifier si une valeur existe dans le tableau | ||
+ | array_search pour récupérer la clé d'une valeur dans un tableau | ||
+ | |||
+ | ------------------------------------------------ | ||
+ | - TRANSMETTRE DES DONNEES D'UNE PAGE A L' | ||
+ | ------------------------------------------------ | ||
+ | -- AVEC UNE URL -- | ||
+ | page.php? | ||
+ | '&' | ||
+ | $_GET[' | ||
+ | isset($_GET[]) fonction qui teste si la variable existe | ||
+ | |||
+ | -- AVEC UN FORMULAIRE -- | ||
+ | $_POST[' | ||
+ | |||
+ | -- ECHAPPER DU CODE HTML -- | ||
+ | htmlspecialchars($_POST[]) fonction php qui dit fait que les balises HTML contenues dans $_POST[] ne s' | ||
+ | strip_tags() fonction qui retire les balises HTML au lieu de les executer (ou les afficher par htmlspecialchars() ) | ||
+ | |||
+ | -- FICHIER PAR FORMULAIRE -- | ||
+ | $_FILES[' | ||
+ | $_FILES[' | ||
+ | name nom du fichier | ||
+ | type indique le type de fichier, par exemple image/gif | ||
+ | size indique la taille en octet (pas plus de 8Mo, limité par php ..) | ||
+ | tm_name contient l' | ||
+ | error contient le code d' | ||
+ | pathinfo($_FILE[][name]) renvoie un array avec le nom et l' | ||
+ | $infosfichier = pathinfo($_FILES[' | ||
+ | $extension_upload = $infosfichier[' | ||
+ | $extensions_autorisees = array(' | ||
+ | if (in_array($extension_upload, | ||
+ | move_upload_file() lorsque tt est bon, on déplace le fichier vers son emplacement définitif | ||
+ | |||
+ | --------------------------- | ||
+ | - VARIABLES SUPERGLOBALES - | ||
+ | --------------------------- | ||
+ | -- SESSION -- | ||
+ | -- COOKIES -- | ||
+ | |||
+ | -------------------------------- | ||
+ | - LIRE ET ECRIRE DS UN FICHIER - | ||
+ | -------------------------------- | ||
+ | -- OUVRIR ET FERMER LE FICHIER -- | ||
+ | $monfichier = fopen(' | ||
+ | fclose($monfichier) permet de fermer le fichier | ||
+ | attribut peut prendre les valeurs suivantes : | ||
+ | r lecture seule | ||
+ | r+ lecture/ | ||
+ | a écriture seule (si le fichier n' | ||
+ | a+ ecriture/ | ||
+ | |||
+ | -- LIRE -- | ||
+ | fgetc() lire caractère par caractère | ||
+ | fgets() lire ligne par ligne | ||
+ | |||
+ | -- ECRIRE -- | ||
+ | fputs() écrit une ligne dans le fichier | ||
+ | |||
+ | -- LOCALISATION DS LE FICHIER -- | ||
+ | il y a un curseur qui indique à php ou on en est ds le fichier, lecture et ecriture utilise le même curseur | ||
+ | fseek($monfichier, | ||
+ | |||
+ | -------------------------------------- | ||
+ | - INTERAGIR AVEC UNE BASE DE DONNEES - | ||
+ | -------------------------------------- | ||
+ | on utilisera PDO, en utilisant de la POO | ||
+ | -- SE CONNECTER A LA BDD -- | ||
+ | $bdd = new PDO(' | ||
+ | et pour tester la présence d' | ||
+ | try | ||
+ | { | ||
+ | $pdo_options[PDO:: | ||
+ | $bdd = new PDO(' | ||
+ | } | ||
+ | catch (Exception $e) | ||
+ | { | ||
+ | die(' | ||
+ | } | ||
+ | |||
+ | -- EFFECTUER UNE REQUETE (LIRE DES DONNEES) -- | ||
+ | $reponse = $bdd-> | ||
+ | $donnees = $reponse-> | ||
+ | while ($donnees = $reponse-> | ||
+ | { | ||
+ | $donnees[' | ||
+ | } | ||
+ | $reponse-> | ||
+ | |||
+ | -- REQUETE AVEC VARIABLE METHODE SECURISEE n°1 : ? -- | ||
+ | $req = $bdd-> | ||
+ | $req-> | ||
+ | il est possible de mettre plusieurs ?, il faut alors mettre plusieurs variables dans array(xx, | ||
+ | |||
+ | -- REQUETE AVEC VARIABLE METHODE SECURISEE n°2 : marqueur nominatif -- | ||
+ | $req = $bdd-> | ||
+ | $req-> | ||
+ | il faut bien mettre les ':' | ||
+ | plus besoin des les donner dans l' | ||
+ | |||
+ | -- ECRIRE DANS UNE BDD -- | ||
+ | $bdd-> | ||
+ | |||
+ | -- ECRIRE AVEC UNE VARIABLE -- | ||
+ | mêmes fonctions et mêmes méthodes que pour lire avec une variable | ||
+ | |||
+ | |||
+ | |||
+ | echo mysql_error(); | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ------------------------------ | ||
+ | - ENTRE NAVIGATION ET SCRIPT - | ||
+ | ------------------------------ | ||
+ | header(' | ||
+ | |||
+ | |||
+ | |||
+ | |||