1 / 15

Scripts PHP

Scripts PHP. Interaction avec MySQL Insert, Select, …. Stratégies en PHP Etude de cas Association (service public) : sportassas.free.fr Site commercial : www.devenir.fr Projets. Université Paris II & LRI Michel de Rougemont mdr@lri.fr http://www.lri.fr/~mdr. Rappel :Scripts SERVEUR.

esben
Télécharger la présentation

Scripts PHP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Scripts PHP • Interaction avec MySQL • Insert, Select, …. • Stratégies en PHP • Etude de cas • Association (service public) : sportassas.free.fr • Site commercial : www.devenir.fr • Projets Université Paris II & LRI Michel de Rougemont mdr@lri.fr http://www.lri.fr/~mdr

  2. Rappel :Scripts SERVEUR SERVEUR calcule: www.free.fr <html><head><title>PHP Test</title></head> <body> <?php echo "Hello World<P>"; ?> <br> Adresse: <?php echo $REMOTE_ADDR ;?> <br> </body> </html> <html><head><title>PHP Test</title></head> <body> Hello World <br> Adresse: 129.128.5.2 <br> </body> </html> Traduction HTML Envoyée au Client Helloip.php

  3. Exemple 1 : MySQL • Insérer un enregistrement dans une table : td8script.php <html><head><title>PHP Test</title></head> <body><?php echo "Bonjour"; ?><br>  $connexion=mysql_pconnect("localhost","etud","etud2000"); if (!$connexion){ echo "Probleme de connexion"; exit; } if (!mysql_select_db("etud",$connexion)){ echo "Probleme d'acces a la base"; exit; } $resultat=mysql_query("INSERT INTO Tlog VALUES( '$nom', '$email', '$a','$da', '$REMOTE_ADDR ')", $connexion); if (!$resultat){ echo "Erreur dans l'execution de la requete"; echo mysql_error($connexion); exit;} else echo "Bien enregistré"; ?> </body></html>

  4. Exemple 2 : MySQL • Afficher une partie d’une table : td8col.php appelé par td8select.php <?php $connexion=mysql_pconnect("localhost","etud","etud2000"); if (!$connexion){ echo "Probleme de connexion"; exit; } if (!mysql_select_db("etud",$connexion)){ echo "Probleme d'acces a la base"; exit; } $resultat=mysql_query("select Nom, Email from Tlog ", $connexion); if (!$resultat){echo "Erreur dans l'execution de la requete";echo mysql_error($connexion);exit; } while ($nuplet=mysql_fetch_object($resultat)){ echo "$nuplet->Nom<br>"; }?> <br> Fin du script Nouveau: Boucle WHILE et champs d’une ligne

  5. Exemple 3 : MySQL • Affiche select * from Tlog • td8affiche.php ….. Resultat de la requete <B><?php echo "SELECT * from Tlog";?></B><HR> <?php if ($resultat == 0):echo("<B>Erreur " . mysql_errno() . ": " . mysql_error() . "</B>"); elseif (mysql_num_rows($resultat) == 0) echo("<B>Requ\352te effectu\351e avec succ\350s</B>");else:?> <TABLE BORDER=1> <THEAD> <TR> <?php for ($i = 0; $i < mysql_num_fields($resultat);$i++) { echo("<TH>" . mysql_field_name($resultat,$i) . "</TH>"); } ?></TR> </THEAD> <TBODY> <?php for ($i = 0; $i < mysql_num_rows($resultat); $i++) { echo("<TR>"); $row_array = mysql_fetch_row($resultat); for ($j = 0; $j < mysql_num_fields($resultat); $j++) { echo("<TD>" . $row_array[$j] . "</TD>"); } echo("</TR>"); } ?></TBODY> </TABLE><?php endif ?> <HR><BR> Boucle : for ($i = 0; $i < mysql_num_fields($resultat); $i++) { …} Raccourci : $i++ pour $i=$i+1 Tableau : $row_array[$j]

  6. Stratégie 1 en PHP Exemples de stratégies: STRATEGIE DU SITEwww.lri.fr/ ~mdr/ec.php (voir Documentation) 1. Lire l'adresse IP du client : 2. Tester si ce client est déjà enregistré (est-ce que son adresse IP existe dans eclientsmdr ?) Si OUI, lui envoyer ec2.html (avec le formulaire radio) Si NON, lui envoyer ec1.html (avec le formulaire text) 3. Dans ec1.html, s'il remplit le formulaire d'enregistrement, l'inserer dans la table eclientsmdr (avec son adresse ip) , a l'aide de slog.php 4. Dans ec2.html, s'il remplit le formulaire radio, inserer son interet et la date dans la table preferencesmdr

  7. Stratégie 2 en PHP Fichiers : td8s.php et td8strategie.php • A partir du formulaire form.php • Tester si le Nom est déjà dans la table: • Si OUI, Envoyez r1.php (Message indiquant qu’il est déjà inscrit) • Si NON, l’inscrire et lui envoyer r2.php (Message indiquant qu’il est déjà inscrit)

  8. Script stratégie 2 td8strategie.php <?php $connexion=mysql_pconnect("localhost","etud","etud2000"); if (!$connexion){ echo "Probleme de connexion"; exit; } if (!mysql_select_db("etud",$connexion)){ echo "Probleme d'acces a la base"; exit; } $resultat=mysql_query("select * from Tlog ",$connexion); $resultat=mysql_query("select * from Tlog where Nom='$nom'",$connexion); if (mysql_num_rows($resultat) >0 ) { require("r1.php");} else { require("r2.php");}

  9. Etudes de cas • Site sportassas.free.fr • 68 sports différents • Tableaux : calendrier, résultat • Site www.devenir.fr • Site de consultants avec documentation d’articles • Tableau : description des articles et nom du fichier.

  10. Cas sportassas.free.fr • 68 sports différents • 2 Tableaux : • Calendrier • Résultat Affichage automatisé: 1 seule page plutôt que 68. Lors de la sélection: <form action=affiche.php> <input type=hidden name =sport value=<?php echo $choix; ?> > </form>

  11. Cas sportassas.free.fr • Affiche.php // Entete avec feuilles de style <?php require(entete.php); ?> // Image du sport <img src= =<?php echo $sport ; ?> > // Résultats des compétitions Afficher Select * from résultat where sport=‘$sport’

  12. Cas www.devenir.fr • Site www.devenir.fr • Site de consultants avec documentation d’articles • Tableau : description des articles et nom du fichier. • Moteur de recherche interne au tableau: • Select Nom_fichier from Docs where …… • Afficher le fichier

  13. T.D. 8 • Recopier les exemples dans votre répertoire. • Réaliser un script qui insère le contenu du formulaire dans une table que vous avez créée. • Modifier le script td8affiche.php pour afficher votre table. • A partir du formulaire avec 2 champs de texte (Nom, Email) , modifier la stratégie pour tester l’Email (renvoyer e1.php ou e2.php), puis le Nom et l’Email.

  14. Projets • Outil query.php • Afficher le schéma des tables dans une nouvelle fenêtre. • Feuilles de style dans l’affichage. • Outil FG ( f.php et g.php) pour éviter FTP. • Concevoir une table à 3 champs Nom, type, Programme Qui va stocker dans programme les scripts à tester. Le script f.php lit un Nom et permet d’éditer le programme ou de l’exécuter avec eval($p) ;

  15. Projet XML • Correcteur XML • PHP with dom • Java with dom • Interface pour naviguer dans un arbre XML • Implémentation du correcteur

More Related