Introduction PHP = Personal Home Pages ou PHP Hypertext Preprocessor Langage de script interprété (non compilé)
Plan Avantages Fonctionnement interne Bases du langage Formulaires Envoi d un email
Avantages
Avantages Rapide Libre (GPL) Portable (multi-plateforme) Simple Riche (bibliothèques) Évolutif
Fonctionnement interne
Serveur (www.infos.fr/page.php). Serveur web (Apache) requête HTTP Client réponse PHP clic Mozilla
Serveur web (Apache) HTTP Internet Navigateur web (Mozilla)
PHP ou HTML? Code PHP : «côté serveur» Navigateur client : reçoit que du HTML Conséquence : le code source PHP est protégé
Bases du langage
Un programme PHP, c est Un fichier HTML dans lequel on trouve des tags PHP : <html> <head><title>test</title></head> <body> <p> Il est <?echo date("h:i");?>. </p> </body> </html>
Intégration dans une page web L'intégration de code PHP dans une page web s'effectue grâce aux balises : <??> ou encore <?php?> Il est courant d'insérer des balises html dans du code PHP et du code PHP à l'intérieur de balises html : <? $titre="<h1>ceci est un test</h1>";?> <a href= <?php echo $lien;?> > </a> Google <html> <body> <?php echo "Ceci est un script PHP";?> </body> </html>
Premier exemple Le fichier essai.php contient : <html> <body> <?php echo "bonjour "; echo "salut "; echo 1+2*3;?> Le navigateur recevra la page HTML : <html> <body> bonjour salut 7 <p> ci-dessus du php </p> </body> </html> <p> ci-dessus du php </p> </body> </html> Tout le code PHP contenu entre les balises <?php et?> est exécuté ligne à ligne. Les instructions se terminent par ; Ce qui se trouve hors des balises <?php et?> est envoyé tel quel.
Variables Le caractère qui précède toutes les variables php est le dollar : $. Exemple : $mavar1 = "montexte"; $mavar2 = 12; Un nom de variable doit commencer exclusivement par un caractère alphabétique ou "_". Il n'est pas nécessaire de déclarer le type des données que l'on manipule, celui-ci est affecté dynamiquement par PHP. Le type de la variable dépend de ce que l'on met dedans et de ce que l'on en fait
Variables :type Instruction Type de la variable $Variable = 0; $Variable = 12; $Variable = 0.0; $Variable = 12.0; $Variable = "0.0"; $Variable = "Bonjour tout le monde"; type entier type entier type réel type réel type chaîne type chaîne
Variables Nom de variable correct $Variable Nom de variable incorrect $Nom de Variable Raison $Nom_De_Variable $123Nom_De_Variable $nom_de_variable $toto@gmail.com $nom_de_variable_123 $nom_de_variable $Nom-de-variable nom_de_variable
Variables: opérations Recoller des chaînes de caractères : on utilise le point <?php $prenom = " michel "; $nom = " dupont"; $complet = $prenom. $nom; echo $complet; // affiche: michel dupont echo $prenom. $nom; // idem?>
Formulaires
Interaction utilisateur On utilise les formulaires HTML balise <form> On récupère les données envoyées grâce aux variables globales $_GET et $_POST
Exemple de formulaire Code HTML classique : <form action="traitement.php" method="get"> <p> Nom: <input type="text" name="nom"> <br> Prénom: <input type="text" name="prenom"> <input type="submit" value="envoyer"> </p> </form>
Ce qui donne :
Le code PHP On récupère les données et on les affiche (fichier traitement.php) <?php $var1 = $_GET["nom"]; $var2 = $_GET["prenom"]; echo "Votre nom est: $var1"; echo " <br> "; echo "Votre prénom est: $var2";?>
Résultat
Astuces récupérer tous les champs du formulaire passés avec "POST " extract($_post,extr_overwrite); récupérer tous les champs du formulaire passés avec "GET" extract($_get,extr_overwrite);
Envoi d email
Envoi d email La fonction de base pour envoyer un courrier électronique est mail(). mail(<adresse du destinataire>,<titre du mail>,<corps du message>); Exemple: <html> <body> <?php $destinataire = "webmaster@infos.fr"; $message = " le test a réussi. Merci pour votre visite "; mail($destinataire, "test email", $message);?> </body> </html>
Envoi d email la syntaxe complète de la fonction mail() est: mail(<adresse du destinataire>,<titre du mail>,<corps du message>,<entête>); Exemple: <html> <body> <?php $destinataire = "webmaster@infos.fr"; $expediteur = "client@gmail.com"; $message = " le test a réussi. Merci pour votre visite "; mail($destinataire, "test email", $message,"from: $expediteur");?> </body> </html>
Email au format HTML: <?php $destinataire = " webmaster@infos.fr"; $expediteur = "client@gmail.com"; Envoi d email $messagehtml= "<html><body>". "<h1>test Email</h1>". "<b><u>ceci est un document HTML</u></b><br>". "</body></html>";?> mail($destinataire, "Email au format HTML", $messagehtml, "From: $expediteur\r\n"."content-type: text/html; charset=\"iso-8859-1\"\r\n");
Envoi d email: exemple Fichier formulaire.html : formulaire d envoi d email: <html> <body> <form action="envoi.php" method="get"> <pre> Nom: <input type="text" name="nom"><br> Prénom: <input type="text" name="prenom"><br> email: <input type="text" name="email"><br> message: <textarea rows="5" cols="35" name="message" ></textarea> <input type="submit" value="envoyer"> </pre> </form> </body> </html>
Envoi d email: exemple Fichier envoi.php : récupère les données saisies et envoie l email: <?php $nom1 = $_GET["nom"]; // récupère le champ nom du formulaire et le stocker dans la variable $nom1 $prenom1 = $_GET["prenom"]; $email1 = $_GET["email"]; $message1 = $_GET["message"]; $destinataire =" webmaster@infos.fr "; $expediteur =" client@gmail.com "; $message=$prenom1. $nom1. "<br>".$email1. "<br>".$message1; mail($destinataire," demande de renseignements",$message,"from: $expediteur");?>