1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| <?php
session_start(); // Permet d'utiliser les variables superglobales
//Dans mon hypothèse de travail, l'utilisateur clique sur un lien. Ce lien permet d'inclure une page dans mon index.php. Ce lien possède une info de type SEO=valeur.
//L'inclusion déclenche un remplissage de variables affectées à title ($index_seo_title) et à meta description ($index_seo_description)
// La seule solution que j'imagine est un $_GET (s'il existe de meilleures solutions, je suis ouvert à l'apprentissage)
// Dans l'exemple, imaginons que ce soit $_GET['SEO']
// Etape 1 - Je vérifie de combien d'articles je dispose, cela constituera ma limite supérieure
// Connexion à la base de données
try
{
$acces_bdd = new PDO('mysql:host=adresse;dbname=nom;charset=utf8', 'nom utilisateur','mot de passe',
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION) );
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
//Je génère l'accès à la table articles
$acces_table = $acces_bdd-> query('SELECT * FROM table_articles');
//Je regarde le nombre total d'items dans ma table. Ce qui va définir ma limite haute
//Je pense qu'il y a moyen d'écrire quelque chose de plus propre ici
// Je suis preneur de toute idée d'amélioration
$table_nombre_maxi_articles = 0;
while ($ma_recherche = $acces_table -> fetch())
{
$table_nombre_maxi_articles = $table_nombre_maxi_articles+ 1;
}
// Je dispose de ma limite haute, je me penche sur le remplissage de mes variables SEO
if(isset ($_GET['SEO']) AND !empty($_GET['SEO']) AND is_numeric($_GET['SEO']) AND $_GET['SEO']>0 AND $_GET['SEO'] <= $table_nombre_maxi_articles)
{
//$_GET['SEO'] existe, est un numérique, est compris dans la fourchette de valeur de ma table donc tout est ok
//Avec tous ces paramètres, il y a t-il un risque de sécurité? (injection de code...?)
//Je génère l'accès à la table articles
$acces_table = $acces_bdd-> query('SELECT * FROM table_articles');
//La table article est complétée en manuel. Même l'id.
// Le lien entre la table et la données $_GET['SEO'] et l'id de ce fait
while ($ma_recherche = $acces_table -> fetch())
{
if($ma_recherche['id']==$_GET['SEO'])
{
$index_seo_title = $ma_recherche['seo_title'];
$index_seo_description = $ma_recherche['seo_description'];
}
else //Y-a-t il une façon plus propre d'écrire cela? Car finalement je me retrouver avec deux else à la suite qui donne la même info...
{
$index_seo_title = "Titre général du site";
$index_seo_description = "Description générale du site";
}
}
}
else // Dans tous les autres cas
{
$index_seo_title = "Titre général du site";
$index_seo_description = "Description générale du site";
}
?>
<html>
<head>
<meta charset ="utf-8"/>
<title><?php echo $index_seo_title;?></title> <!-- SEO TITRE CHANGEANT -->
<meta name="description" content="<?php echo $index_seo_description;?> "> <!-- SEO META DESCRIPTION CHANGEANTE -->
<link rel="shortcut_icon" type="image/x-icon" href="Header/Logo.png"/> <!-- Insertion du logo dans la barre... Pour le coup, ça ne marche pas ça...-->
<link rel="stylesheet" href="feuilledestyle.css"/> <!-- Feuille de style principal -->
</head>
</html> |
Partager