Précédent Sommaire 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Suivant
Nous allons reprendre l'application du chapitre précédent, mais en n'utilisant qu'une seule page.
Pour cela, il faut que le formulaire HTML transmette les informations vers la même page.
Localisation c:/wamp/www/isn/carre.php
URL http://localhost/isn/carre.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Calcul du carré d'un nombre</title>
</head>
<body>
<?php
// on vérifie que la variable existe
if (isset($_POST["Nombre"]))
{
print "<h2>Résultat</h2>";
// on vérifie que c'est bien un nombre
if (is_numeric($_POST["Nombre"]))
{
$nombre = $_POST["Nombre"];
$resultat = $nombre*$nombre;
print "<p>Le carré de <strong>$nombre</strong> est <strong>$resultat</strong></p>";
}
else
{
print "<p>Valeur invalide !</p>";
}
}
else
{
// on affiche le formulaire
?>
<h2>Calcul du carré</h2>
<form method="post" action="carre.php">
Valeur : <input type="text" name="Nombre" autofocus required><br><br>
<input type="submit" value="Envoyer">
</form>
<?php
}
?>
</body>
</html>
Quand le script reçoit la variable Nombre
par la méthode POST, cela veut dire que la variable a été envoyée par le formulaire. Le script va alors calculer et afficher le résultat.
Quand le script ne reçoit rien par la méthode POST, on affiche le formulaire.
Script CGI-Python à placer dans ce répertoire particulier : c:/wamp/bin/apache/apache2.2.22/cgi-bin/carre.py
Dans la barre d'adresse de votre navigateur :
http://localhost/cgi-bin/carre.py
#! c:/Python27/python.exe
# -*- coding: utf-8 -*-
print "Content-Type: text/html\n"
import cgi
print """<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Calcul du carré d'un nombre</title>
</head>
<body>"""
form = cgi.FieldStorage()
# on vérifie que la variable existe
if form.has_key("Nombre"):
print "<h2>Résultat</h2>"
nombre = form["Nombre"].value
try:
# on vérifie que c'est bien un nombre
nombre = float(nombre)
except:
print "<p>Valeur invalide !</p>"
else:
resultat = nombre*nombre
print "<p>Le carré de <strong>",nombre,"</strong> est <strong>",resultat,"</strong></p>"
else:
# on affiche le formulaire
print """<h2>Calcul du carré</h2>
<form method="post" action="carre.py">
Valeur : <input type="text" name="Nombre" autofocus required><br><br>
<input type="submit" value="Envoyer">
</form>"""
print """</body>
</html>"""
Exercice 1 Calcul de la racine carrée
Ecrire le script racine_carree.php
qui permet de saisir un nombre puis d'afficher sa racine carrée.
On ajoutera un bouton Retour en bas de la page du résultat.
Exercice 2 Page Web avec mot de passe
On désire restreindre l'accès à une page Web pagesecrete.php
par l'utilisation d'un mot de passe.
Pour cela, créer un formulaire avec une zone de saisie de type "password" et un bouton Connexion.
Dans la partie privée, on placera un bouton Déconnexion pour retourner à la page d'authentification.
Bibliographie : HTML <input> type Attribute
Contenu sous licence CC BY-NC-SA 3.0
Fabrice Sincère ; version 1.5.5
Contacter l'auteur