Outils pour utilisateurs

Outils du site


Panneau latéral

php

Ceci est une ancienne révision du document !


<?php … ?> inclure du code php dans du code html (enregistrée en .php)

<?php include(“menu.php”); ?> inclure une autre page php dans cette page


- VARIABLES -


$variable une valeur est toujours précédée d'un '$'

– CONCATANATION – <?php les “ permettent d'insérer une variable au milieu du texte (' ne le permet pas) $age_du_visiteur = 17; echo “Le visiteur a $age_du_visiteur ans”; ?> <?php méthode alternative, à préferer $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 { } — <?php astuce qui permet d'insérer facilement du code php sans la fonction echo if ($variable == 23) { ?> <strong>Bravo !</strong> Vous avez trouvé le nombre mystère ! <?php } ?> — switch ($note) on indique sur quelle variable on travaille { case 0: dans le cas où $note vaut 0

	echo "Tu es vraiment un gros Zér0 !!!";
break;
defaut:
	echo '...';

} ne marche pas avec les comparaison > == etc.. ———– - BOUCLES - ———– while (condition) { instructions } for ( $i=1 ; $i⇐100 ; $i++) {

//instructions

}


- FONCTIONS -


– EXEMPLE DE FONCTIONS PRATIQUES – strlen($phrase) retourne la longueur d'une chaine de caractère str_replace('c','d',$chaine) remplace une chaine de caractère par une autre strtolower($chaine) convertit la chaine en miniscule date('Y'/m/d/H/i) renvoie l'année, le mois, le jour, l'heure, la minute

– CREATION DE FONCTION – function Nom(paramètres) {

//Instructions

}


- TABLEAUX -


$variable = array (,..) on décrit le tableau ds son intégralité en une seule fois $variable[0] = '..'; on choisi le contenu de chaque case $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

  'prenom' => 'François',
  'nom' => 'Dupont');

$coordonnees['prenom'] = 'François'; aute moyen de créer un tableau associatif echo $coordonnees['ville']; utilisation du tableau

– 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'élement

– AFFICHER RAPIDEMENT UN TABLEAU – echo '<pre>'; il faut rajouter les balises <pre> pour avoir les retours à la ligne entre chaque élément du tableau print_r($coordonnees); echo '</pre>';

– 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'AUTRE -


– AVEC UNE URL – page.php?param1=valeur1&param2=valeur2 Concept '&' '&amp' en HTML, '&' doit être écrit '&amp' dans les href $_GET['param1'] la variable $_GET[] contient les valeurs écrites dans l'url isset($_GET[]) fonction qui teste si la variable existe

– AVEC UN FORMULAIRE – $_POST['nom'] procéder aux précautions d'usage concernant des infos venant de l'utilisateur

– ECHAPPER DU CODE HTML – htmlspecialchars($_POST[]) fonction php qui dit fait que les balises HTML contenues dans $_POST[] ne s'executent pas, mais sont affichées comme du texte strip_tags() fonction qui retire les balises HTML au lieu de les executer (ou les afficher par htmlspecialchars() )

– FICHIER PAR FORMULAIRE – $_FILES['nom'] le fichier est stocké dans un dossier temporaire, il faut le “vérifier” avant de le stocker définitivement : $_FILES['nom'][attribut] on utilise les attributs suplémentaires suivants : 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'emplacement temporaire error contient le code d'erreur de transfert, 0 = pas d'erreur pathinfo($_FILE[][name]) renvoie un array avec le nom et l'extension, ds la va $infosfichier = pathinfo($_FILES['monfichier']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png'); if (in_array($extension_upload, $extensions_autorisees)); 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('nomfichier',attribut) permet d'ouvrir le fichier fclose($monfichier) permet de fermer le fichier attribut peut prendre les valeurs suivantes : r lecture seule r+ lecture/ecriture a écriture seule (si le fichier n'existe pas, il est créé !) a+ ecriture/lecture (fichier créé si inexistant)

– 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, 0) repositionne le curseur au début


- INTERAGIR AVEC UNE BASE DE DONNEES -


on utilisera PDO, en utilisant de la POO – SE CONNECTER A LA BDD – $bdd = new PDO('mysql:host=localhost;dbname=test','root',); et pour tester la présence d'erreur (et ne pas les afficher par défaut sur la page : try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', ,$pdo_options); } catch (Exception $e) {

die('Erreur : ' . $e->getMessage());

}

– EFFECTUER UNE REQUETE (LIRE DES DONNEES) – $reponse = $bdd→query('Tapez votre requête SQL ici'); retourne la réponse de Mysql, inexploitable directement en php $donnees = $reponse→fetch(); parcourt la requête, ligne par ligne (curseur virtuel, boucle…) while ($donnees = $reponse→fetch()) fetch() renvoie false lorsqu'il n'y a plus de données {

$donnees['nomColonne'];

} $reponse→closeCursor(); indique que la requête est terminée, ce qui permet d'effectuer une autre requete sans encombre

– REQUETE AVEC VARIABLE METHODE SECURISEE n°1 : ? – $req = $bdd→prepare('SELECT nom FROM jeux_video WHERE possesseur =?'); $req→execute(array($_GET['possesseur'])); il est possible de mettre plusieurs ?, il faut alors mettre plusieurs variables dans array(xx,yy)

– REQUETE AVEC VARIABLE METHODE SECURISEE n°2 : marqueur nominatif – $req = $bdd→prepare('SELECT nom, prix FROM jeux_video WHERE possesseur = :possesseur AND prix ⇐ :prixmax'); $req→execute(array('possesseur' ⇒ $_GET['possesseur'], 'prixmax'⇒ $_GET['prix_max'])); il faut bien mettre les ':' dans la préparation de la requête devant le marqueur. plus besoin des les donner dans l'ordre :)

– ECRIRE DANS UNE BDD – $bdd→exec('requete Mysql');

– 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('Location: page.php'); permet de retourner à la page citée

php.1455564159.txt.gz · Dernière modification: 2018/10/13 20:32 (modification externe)