Les grandes lignes
-
Les balises php
Ceci est recopié tel quel, <?php echo "ceci est évalué par l'interpréteur."; ?>
On peut appeler php en ligne de commande :
[shell] cat test.php Ceci est recopié tel quel, <?php echo "ceci est évalué par l'interpréteur."; ?> [shell] php test.php Ceci est recopié tel quel, ceci est évalué par l'interpréteur
Ce qu’affiche l’interpréteur, c’est ce que recevra le navigateur.
-
Du html au php
- On écrit une version statique du html
- On identifie les passages qui doivent être produits dynamiquement
- On remplace chaque passage par un ou plusieurs appels de fonction et on écrit la fonction correspondante en haut du fichier
-
Un principe général en programmation : copier / coller => factoriser
-
Dictionnaires en php : tableaux avec des champs
$user["name"] = "bob";
-
Récupération d’un paramètre dans un script
$_REQUEST['parametre']
Par exemple, pour récupérer le paramètre
id
et le mettre dans la variable$id
:$id = $_REQUEST['id'];
-
Passage d’un paramètre dans l’url
<a href="user.php?id=12">bob</a>
-
Envoi de données par l’utilisateur : formulaire simple
<form action="traite-form.php" method="get"> <label for="input-pseudo">pseudo</label> <input type="text" id="input-pseudo" name="pseudo" /> <input type="submit" value="go" /> </form>
Quand on envoie le formulaire (essayer ici), le navigateur charge l’url suivante :
traite-form.php?pseudo=bob
donc dans
traite-form.php
, on récupérera le paramètre avec$_REQUEST['pseudo]
.
Le code, en vrac
Vous pouvez voir le résultat de la page d’accueil :
index.php
<!DOCTYPE html>
<?php
function get_users_list()
{
$alain = array( '_id' => 1, 'name' => 'alain b' );
$hugues = array( '_id' => 2, 'name' => 'hugues l' );
return array( $alain, $hugues );
}
function user_url($user)
{
$id = $user['_id'];
return "user.php?id=$id";
}
function print_user_with_link($user)
{
echo '<a href="' . user_url($user) . '">';
echo $user['name'];
echo '</a>';
}
function print_users_list()
{
echo "<ul>\n";
$users = get_users_list();
foreach($users as $user)
{
echo "<li>";
print_user_with_link($user);
echo "<li>\n";
}
echo "</ul>\n";
}
?>
<html>
<head>
<meta charset="utf8" />
<title>Photobase</title>
<meta name="author" content="Christophe Prieur" />
<link rel="stylesheet" href="html5.css" />
<link rel="stylesheet" type="text/css" href="photobase.css" />
</head>
<body>
<?php include 'header.php'; ?>
<section id="users">
<header>
<h2>Utilisateurs du service</h2>
<header>
<?php
print_users_list();
?>
</section>
<?php include 'footer.php'; ?>
</body>
</html>
header.php
<header id="main_header">
<h1><a href="./">Photobase</a></h1>
<p>des photos, une base</p>
</header>
footer.php
<footer id="credits">
<p>
Photobase est un site jouet à visée pédagogique.
Les photos et les noms de leurs auteurs sont empruntés à la plateforme
<a href="http://www.flickr.com">Flickr</a>.
</p>
<p>
Pour aller sur ma page principale, <a href="HOME">c'est
ici</a>.
</p>
</footer>
user.php
Le script commencera par la récupération :
- de l’id
-
puis des infos de l’utilisateur à partir de l’id
<!DOCTYPE html> <?php $user = array(); $user['_id'] = $_REQUEST['id']; get_user($user); ?>
Liens utiles, billets précédents
- La section php, premiers principes du billet Cours 3, 2013.
Le reste du billet reste pertinent, je vous en recommande la lecture. - Sur le site de php : Le manuel en français
- en particulier, La référence du langage