On considère la page HTML suivante, contenant des scripts Php :
<html>
<body>
<h1>Votre Cinéma</h1>
<?php
$auteur="David Gross-Amblard"; // auteur du site
function lien($texte,$url){ // fabrique le code HTML d'un lien
return "<a href=\"$url\">$texte</a>";
}
echo "Votre ".lien("cinéma","http://www.allocine.fr")." vous propose une sélection de grands films:";
?>
<ul>
<li>Alien vs Predator : 14h, 16h</li>
<li>Stupeur et tremblements : 14h</li>
<li>Magnolia : 16h, 18h</li>
<li>Les 400 coups : 16h</li>
</ul>
Auteur : <?= $auteur ?>
</body>
</html>
Copiez cette page sur votre site, en lui donnant un nom terminant par ".php" et visualisez-le à travers le serveur Web. Renommez-le en ".html" et visualisez-le à nouveau. Que constatez-vous ? Pourquoi ?
Modifiez le script pour remplacer le nom de l'auteur par votre nom.
Créez une variable en début de script pour l'URL allocine, et utilisez-la dans le lien hypertexte.
Ajoutez une feuille de style CSS créant une classe important, stipulant que le texte doit apparaître en rouge. Modifiez la fonction lien pour que les liens engendrés par votre script soient de classe important.
Visualisez le code source de votre page en vous servant de votre navigateur. Quel processus a exécuté ce script ? Comparez avec Javascript.
Affichez, dans le script précédent, le contenu des variables
$HTTP_USER_AGENT et $HTTP_HOST (selon la configuration du serveur, elles
peuvent se trouver dans le tableau prédéfini $_SERVER. On utilisera par
exemple $_SERVER['HTTP_USER_AGENT']). Cherchez des exemples d'utilisation de
ces variables.
Exercice 2 - Entrées/sorties et Php
Copiez le fichier suivant sur votre site, en le nommant "horaires.txt". Observez son contenu.
Ajoutez le code suivant dans votre script.
<?php
$fichier=fopen("horaires.txt","r"); // ouvre le fichier en lecture
while($ligne=fgets($fichier)){ // lit une ligne
$colonne=explode(":",$ligne); // répartit les élements de la ligne
// dans le tableau $colonne
$titre=$colonne[0];
$realisateur=$colonne[1];
$horaire=$colonne[2];
echo "$titre ($realisateur) : $horaire <br>";
}
?>
Modifiez-le pour afficher le résultat dans une liste de type <ol>.
Ajoutez un lien sur chaque titre de film vers allocine (vous pouvez aussi utiliser http://www.google.com).
Exercice 3 - paramètres du script
Créez une variable $q dans votre script, ayant pour valeur "Truffaut" (attention à la majuscule).
Ajoutez le code suivant pour que le script n'affiche que les
horaires du film réalisé par $q. Attention, "==" (opérateur de comparaison) est
différent de "=" (opérateur d'affectation de variable).
if ($realisateur==$q){
... // faire l'affichage
}
Supprimez la définition de $q. Consultez votre document en passant la
valeur du paramètre q dans l'
URL: http://localhost/<nom de votre fichier>?q=Truffaut.
Normalement, la variable $q devrait avoir la valeur passée en paramètre dans l'Url. Mais, pour des raisons de sécurité, il se peut que l'option register_globals de PHP soit désactivée (pour afficher la configuration de votre serveur, vous pouvez utiliser la fonction phpinfo()). Sans cette option, il n'est pas possible d'accéder directement aux valeurs des paramètres transmis dans les URLs. Ces derniers sont alors stockés dans le tableau _GET. Utilisez par exemple $_GET['motcle'] pour récupérer la valeur du paramètre motcle.
Observez une URL d'Allocine pour une recherche de
film. Associez à chaque film de votre site le lien correspondant vers
Allocine.
Dans la documentation,
vous trouverez les fonctions permettant de construire une url "correcte".
Changer la valeur de l'attribut action de la balise
form pour pointer vers votre script précédent.
Observez la forme de l'URL appelée. Recommencez en modifiant l'attribut method de la balise form en "post". L'URL change-t'elle ? Selon vous, par quel biais la valeur du paramètre action est-elle transmise au serveur.