Affiche dans le navigateur la chaine de caractères placée entre les simples cotes sans interpréter le code PHP.
echo 'monTexte';
Si vous avez besoin d'afficher le contenu d'une variable PHP dans un texte
alors il faut placer votre chaine de caractères entre des doubles cotes.
La fonction echo() va alors interpreter les variables PHP.
Le contenu de la variable $maVariable sera donc affichée dans le texte.
echo "mon texte $maVariable";
echo
dispose aussi d'une version courte, où vous pouvez faire suivre la balise PHP ouvrante d'un signe égal (=)
.
Les instructions suivantes sont équivalentes :
<?php echo 'mon texte';?>
Sans l'instruction "echo"
.
<?='mon texte';?>
print_r($maVariable);
Pour affiche les informations structurées d'une variable, y compris son type et sa valeur
il faut utiliser la fonction var_dump().
Les tableaux et les objets sont explorés récursivement, avec des indentations, pour mettre en valeur leur structure.
var_dump($maVariable);
La fonction var_dump()
est idéal pour le débugage en PHP en affichant tout ce qui se passe dans
un tableau, objet...
Toutes les infos sur var_dump ici : https://www.php.net/manual/fr/function.var-dump.php
Les opérateurs de comparaison, comme leur nom l'indique, vous permettent de comparer deux valeurs.
Exemple | Nom | Résultat |
---|---|---|
$a == $b | Egal | TRUE si $a est égal à
$b après le transtypage. |
$a != $b | Différent | TRUE si $a est différent de
$b après le transtypage. |
$a < $b | Plus petit que | TRUE si $a est strictement plus petit que
$b. |
$a > $b | Plus grand | TRUE si $a est strictement plus grand que
$b. |
$a <= $b | Inférieur ou égal | TRUE si $a est plus petit ou égal à
$b. |
$a >= $b | Supérieur ou égal | TRUE si $a est plus grand ou égal à
$b. |
Pour en savoir plus sur les opérateurs de comparaison et tout comprendre c'est ici :
https://www.php.net/manual/fr/language.operators.comparison.php
Lors de la comparaison de variables, nous avons souvent besoin de savoir si un ensemble de valeurs sont TRUE ou FALSE pour décider de la suite du script. C'est ce que l'on nomme les opérateurs logiques.
Exemple | Nom | Résultat |
---|---|---|
$a && $b | And (Et) | TRUE si $a ET $b sont TRUE . |
$a || $b | Or (Ou) | TRUE si $a OU $b est TRUE . |
! $a | Not (Non) | TRUE si $a n'est pas TRUE . |
$a xor $b | XOR |
TRUE si $a OU $b est TRUE ,
mais pas les deux en même temps.
|
Un autre opérateur conditionnel est l'opérateur ternaire "?:"
.
<?php
// Exemple d'utilisation pour l'opérateur ternaire
$valeur = ($maVariable != '') ? 'vrai' : 'faux';
// La ligne ci-dessus est identique à la condition suivante :
if ($maVariable != '') {
$valeur = 'vrai';
}
else {
$valeur = 'faux';
}
?>
Les Superglobales en PHP sont des variables internes qui sont toujours disponibles, quel que soit le contexte.
On peut donc récupérer ce qu'elles contienent n'importe quand et n'importe où dans votre code PHP.
Il n'est pas nécessaire de faire global $variable;
pour y accéder depuis vos fonctions ou vos méthodes.
Dans le monde du web, les actions et informations doivent se passer par l'URL de la page en utilisant des variables situées en fin d'URL.
Les variables d'URL se fabriques de la façon suivante :
http://www.monsite.fr?variable=10&variable2=info&variable3=autreInfo
Cela permet de créer des liens dynamiques et donc des pages dynamiques dans un site Internet. Cela permet également d'avoir des URL uniques pour référencer un grand nombre de pages dans les moteurs de recherche et d'y acceder par la suite.
Pour récupérer la valeur des variables passées en parametres de l'URL on utilise la Superglobale $_GET. La variable $_GET est un tableau associatif qui va contenir des valeurs passées dans l'URL au script PHP. Nous allons simplement parcourir notre tableau PHP $_GET qui va contenir des cases dont les noms correspondent aux noms des variables passées dans l'URL.
http://www.monsite.fr?variable=10&variable2=info&variable3=autreInfo
<?php
//Récupération des variables de l'URL en parcourant
//le tableau $_GET.
$variable = $_GET['variable'];
$variable2 = $_GET['variable2'];
$variable3 = $_GET['variable3'];
?>
Lorsque que vous souhaitez récupérer les informations d'un formulaire html dans votre code PHP pour ensuite traiter ou enregistrer les informations dans une base de données par exemple, vous aurez besoin d'interoger la variable Superglobale $_POST.
La variable$_POST
est un tableau associatif qui va contenir les valeurs passées au script PHP courant via le protocole HTTP
et la méthode POST lors de l'utilisation de la chaîne application/x-www-form-urlencoded
ou multipart/form-data
comme en-tête HTTP Content-Type
dans la requête.
Cela signifie que dans votre formulaire html (balise <form>
) il faudra indiquer dans la balise <form>
les informations d'entête suivantes :
<form method="post" action="" name="monFormulaire" enctype="multipart/form-data"> </form>
On indique au formulaire qu'on utilise la methode POST pour passer les valeurs des champs
<form method="post"></form>
L'attribu enctype="multipart/form-data" permet l'envoi de fichiers au serveur, en utilisant un champ de type fichier. Sans l'utilisation de cet encodage, un champ fichier n'envoie que le nom du fichier au serveur, sans son contenu.
<form enctype="multipart/form-data" >
La methode POST va stocker dans la Superglobale $_POST, pour chaque attribut name=''
des champs du formulaire, la valeur de l'attribut value=''
.
Pour récupérer la valeur du champ "titreArticle" de notre formulaire nous allons simplement parcourir notre tableau PHP $_POST qui va contenir des cases dont les noms correspondent aux noms des éléments (input, select...) du formulaire.
<?php
<input type='text' name='titreArticle' value='mon titre pour mon article'/>
//recupération de la valeur du champ 'titreArticle'
$titreArticle = $_POST['titreArticle'];
?>
Il est parfoit utile de filtrer des données soit en les validant,
soit en les nettoyant.
C'est particulièrement utile lorsque les sources contiennent des données inconnues, comme les données utilisateurs provenant d'un formulaire HTML.
Si vous stocker directement les informations récupérées de votre formulaire dans la base de données vous risquer de générer des erreurs SQL. En effet si votre texte comporte des caractères spéciaux comme des guillemets simples (') alors votre requêtes SQL va générer une erreur car l'apostrophe est le signe d'une fin de requêtes SQL.
Pour cela il faut filtrer les informations récupérées des Superglobales ($_POST
) pour échapper
tous les caractères qui doivent l'être (guillemets simples (') - guillemets doubles (") - antislash (\))
et ainsi éviter les problèmes de lecture de l'information.
Il faut utiliser les filtre proposés par PHP pour nettoyer vos chaines de caractères.
Liste des filtres PHP
<?php
<input type='text' name='titreArticle' value='mon titre pour mon article'/>
//Fonction de filtre du $_POST pour échapper le texte.
$titreArticle = filter_input(INPUT_POST, 'titreArticle', FILTER_SANITIZE_MAGIC_QUOTES);
//Ajout des filtres pour supprimer des balises et échapper les caractères
$page = filter_input(INPUT_GET, 'page',FILTER_SANITIZE_MAGIC_QUOTES, FILTER_SANITIZE_STRING);
//Remplace la méthode suivante
$titreArticle = $_POST['titreArticle'];
?>
Voir toutes les fonctions de filtrage de texte en PHP