All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
...

Cours PHP avancé

by abdelmonem-naamane

on

Report

Category:

Technology

Download: 0

Comment: 0

4,581

views

Comments

Description

Résumé du cours PHP avancé déstiné au étidiant de Master. Ce cours se base sur les exemples.
Download Cours PHP avancé

Transcript

  • 1. Résumé développement PHP avancé1. Connexion BDD <?php // on se connecte à MySQL $db = mysql_connect(localhost, login, password); // on seléctionne la base mysql_select_db(nom_de_la_base,$db); // on crée la requete SQL $sql = "SELECT nom,prenom,statut FROM famille_tbl"; // on envoie la requête $req = mysql_query($sql) or die(Erreur SQL !<br>. $sql.<br>.mysql_error()); // on fait une boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_array($req)) { // on affiche les informations de lenregistrement en cours echo <b>.$data[nom]. .$data[prenom].</b> (. $data[statut].); echo<i>date de naissance : .$data[datefr].</i><br>; } // on ferme la connexion à mysql mysql_close(); ?>Abdelmonem NAAMANE Page 1/6
  • 2. 2. Envoi de mail <?php $destinataires = isamm@naamane.com , master@naamane.com; $sujet = Projet fin dannée ; $entetes = "From: isamm@naamane.com n" ; $entetes .= "Reply-to: isamm@naamane.com n" ; $entetes .= "Cc: isamm2@naamane.com n" ; $entetes .= "Bcc: isamm3@naamane.com n"; /* Ici notre message sera envoyé en copie à isamm2@naamane.com et en copie cachée à isamm3@naamane.com */ //Le quatrième paramètre est optionnel mail($destinataires, $sujet, "Vous devez envoyer votre rapport complet sur le projet de fin dannée.n Cordiallementn Abdelmonem NAAMANE", $entetes) ; ?>Abdelmonem NAAMANE Page 2/6
  • 3. 3. POO<?php// définition de la classeclass voiture {public $taxe ; //attributpublic $prixHT ; //attribut function prixTTC( $force_de_freinage ) { //méthode return $this->prixHT * $this->taxe ; // accés à un attribut dans la même classe }}// Instanciation d’un objet$mavoiture = new voiture() ; //accés à lattribut$mavoiture->prixHT = 2000 ;$mavoiture->taxe = 1.2 ;//affichag de la valeur dun attributecho Le prix hors taxe est : . $mavoiture->prixHT;//appel de méthodeecho Le prix TTC est :. $mavoiture-> prixTTC();} // héritageclass triCycle extends voiture{}?>Abdelmonem NAAMANE Page 3/6
  • 4. 4. SimpleXML et PHP 54.1. Chargement du fichier XMLPour lire le fichier XML, nous allons utiliser la nouvelle fonction simplexml_load_file.La page PHP crée étant située dans le même dossier que le fichier XML, nous aurons donc simplementcomme code PHP : $xml = simplexml_load_file(etudiant.xml);En ajoutant une sécurité par rapport à lexistence du fichier, le code devient : if (file_exists(etudiant.xml)) { // tester si le fichier existe$xml = simplexml_load_file(etudiant.xml) ; // chargement du fichier XML } else { exit(Erreur !.); }4.2. Récupération des informations générales du fichierDans tout fichier XML, vous pouvez récupérer des informations générales sur le les étudiants : Nom, email,etc. <etudiants><etudiant><nom>NAAMANE</nom><prenom>Abdelmonem</prenom><email >isamm@naamane.com</email><site url="http://isamm.naamane.com">ISAMM</site></etudiant> … </etudiants>On constate donc que le nom est contenu dans la balise <nom> qui elle-même est contenue dans <etudiants>.Donc pour récupérer le contenu de <nom>, la syntaxe est : $xml->etudiants->nom;Vous pouvez ainsi repérer la structure en noeuds transposée en PHP. Ce bref exemple vous montre lasimplicité de cette fonction.Donc pour récupérer nos trois valeurs, on peut utiliser ce script :Abdelmonem NAAMANEPage 4/6
  • 5. $nom = $xml->etudiants->etudiant->nom; $email = $xml->etudiants->etudiant->email; $prenom = $xml->etudiants->etudiant->prenom;4.3. Récupération des 5 dernières étudiantsVous lavez compris, cette fonction utilise intelligemment la structure de XML.Chaque etudiant est représentée par la balise <etudiant> , qui contient elle-même les balises nom, prenom,email, matiere. Celles qui nous intéressent peuvent se limiter au nom, prenom et email.Voici un exemple dune actualité dans le XML : <etudiants> <etudiant> <nom>NAAMANE</nom> <prenom>Abdelmonem</prenom> <email >isamm@naamane.com</email> … <etudiant> <nom>BABA</nom> <prenom>Ali</prenom> <email >ali@baba.com</email> … </etudiants>On pourrait facilement récupérer ces valeurs en utilisant par exemple : $xml->etudiants->etudiant->nom ; ==> Faux si la balise etudiant se répéteAinsi, si une balise XML est répétée, vous pouvez y accéder en utilisant les tableaux pour cette valeur.Comme la balise etudiant est répétée, et que la première valeur dun tableau en PHP commence à 0, litem dela première actualité est etudiant[0] , puis etudiant[1] etc.Les valeurs qui nous intéressent pour le premier étudiant sont donc : $xml->etudiants->etudiant[0]->nom;Abdelmonem NAAMANE Page 5/6
  • 6. $xml->etudiants->etudiant[0]->prenom;$xml->etudiants->etudiant[0]->email;Puis pour le seconde :$xml->etudiants->etudiant[1]->nom;$xml->etudiants->etudiant[1]->prenom;$xml->etudiants->etudiant[1]->email;Bien sûr, une boucle vous permettra de gérer ces valeurs plus proprement :for ($i=0; $i<5; $i++) { echo "<p>";echo $xml->etudiants->etudiant[$i]->nom ."<br />";echo $xml->etudiants->etudiant[$i]-> prenom ."<br />";echo $xml->etudiants->etudiant[$i]-> email ."<br />";echo "</p>";}Pour afficher toutes les étudiants, nous aurions pu utiliser la fonction foreach :foreach ($xml->etudiants->etudiant as $valeur) {echo $valeur->nom, <br />;}4.4. Récupération de la valeur des attributsEn XML, vous pouvez également avoir besoin des attributs de certaines balises. Cest le cas par exemple de labalise :<site url="http://isamm.naamane.com">ISAMM</site>Pour récupérer la valeur de lattribut url pour la première actualité, il faut utiliser :$xml->etudiants->etudiant[0]->site[url];Abdelmonem NAAMANEPage 6/6
  • Fly UP