par
mk-chris » 03 oct. 2013, 13:11
Bonjour, je travail actuellement sur un projet à rendre et j'aurai voulu avoir votre avis sur la façon dont mon site est réalisé pour avoir quelques conseils et optimiser le tout :
Mon site est découper avec :
- Une partie header qui contient tout ce qui code et traitement, le formulaire de connexion/ inscription se trouve sur le menu du coup le traitement se fait sur la même page.
- Une partie contenu ou il principalement du texte ou des boucles php.
- Une partie bottom qui contient la fin du site.
Voici le code principale, celui du header :
<?php session_start();
define('W_ROOT', 'http://localhost/projet/'); // URL SERVER
// ------------------------------>
// Gestion des titres <h1>, <h2> et <title>
$titre_site ='Mon titre';
$page_actu = str_replace('C:/wamp/www/projet/', '', $_SERVER['SCRIPT_FILENAME']); // Enleve la racine
$page_actu = str_replace('.php', '', $page_actu); // Enleve le .php
$page_actu= ucfirst($page_actu); // Met la première lettre en majuscule
switch ($page_actu) {// Met en forme le titre de la page
case 'Index': $title = 'Mon site'; break;
case 'Modifier_profil': $title = 'Modifier - Mon site''; break;
case 'Admin/index': $title = 'Administration - Mon site'; break;
default: $title = $page_actu.' - '.$titre_site; break;
}
// ------------------------------>
// Session et gestion utilisateurs
if($page_actu=="Admin/index"){ //menu admin Si connecter dans /admin
include("../connexion/auth.php");
include("../inclusion/config.php");
$menu_horizontal = '<li><a href="'.W_ROOT.'conseil_syndical.php" title="Ajouter une news" class="lien_principale">Ajouter</a></li>
<li><a href="'.W_ROOT.'Syndical.php" title="Modifier une news" class="lien_principale">Modifier</a></li>
<li><a href="'.W_ROOT.'forum.php" title="Gèrer les commentaires" class="lien_principale">Commentaire</a></li>
<li><a href="'.W_ROOT.'forum.php" title="Administrer le forum" class="lien_principale">Forum</a></li>';
}else{ //menu normal
include("connexion/auth.php");
require("inclusion/config.php");
$menu_horizontal = '<li><a href="'.W_ROOT.'conseil_syndical.php" title="Conseil Syndical" class="lien_principale">Conseil</a></li>
<li><a href="'.W_ROOT.'Syndical.php" title="Syndical" class="lien_principale">Syndical</a></li>
<li><a href="'.W_ROOT.'Divers.php" title="Divers" class="lien_principale">Divers</a></li>
<li><a href="'.W_ROOT.'forum.php" title="Forum" class="lien_principale">Forum</a></li>';
}
// ------------------------------>
// Formulaire de connexion
if(isset($_POST) && !empty($_POST['mail']) && !empty($_POST['mdp'])) {
$conn=mysql_connect("localhost","root","");
mysql_select_db("test",$conn);
//Requete si il y a dans la table un mail et un mot de passe égale à ceux saisie dans le formulaire
$sql = " SELECT * FROM membre WHERE email='".addslashes($_POST['mail'])."' AND pass='".addslashes($_POST['mdp'])."'";
$req = mysql_query($sql,$conn) or die(mysql_error());
// Si il a une réponse à la requete alors la session recupère les infos
if (mysql_num_rows($req)) {
while ($data = mysql_fetch_assoc($req)) {
$_SESSION['Auth'] = array(
'mail' => $_POST['mail'],
'mdp' => $_POST['mdp'],
'nom' => $data['nom'],
'prenom' => $data['prenom'],
'adresse' => $data['adresse'],
'ville' => $data['ville'],
'codep' => $data['codep'],
'niveau' => $data['niveau'],
'image' => $data['image'],
'signature' => $data['signature'],
'tel' => $data['tel'],
'date' => $data['date'],
'complement' => $data['complement']
);
}
}
else { header('location:inscription.php?erreur=6'); } //Si il n'y a pas de réponse alors on renvois un message d'erreur
} ?>
<!DOCTYPE HTML>
<html lang="fr" dir="ltr">
<head>
<meta charset="utf-8" />
<link href="<?php echo W_ROOT; ?>css/styles.css" rel="stylesheet" />
<link rel="icon" type="image/x-icon" href="<?php echo W_ROOT; ?>img/favicon.png" />
<script type="text/javascript" src="<?php echo W_ROOT; ?>script/afficher_cacher.js"></script>
<script type="text/javascript" src="<?php echo W_ROOT; ?>script/jquery.js"> </script>
<script type="text/javascript" src="<?php echo W_ROOT; ?>script/scroll.js"> </script>
<script type="text/javascript" src="<?php echo W_ROOT; ?>script/jquery.easing.js"> </script>
<?php if(isset($ajout)) {echo $ajout; } else { $ajout=" "; } //Pour ajouter un script sur une page uniquement et pas surcharger (javascript) ?>
<title><?php echo $title; ?></title>
</head>
<body id="top">
<!-- Conteneur du site -->
<div id="conteneur_global">
<header role="banner"><!-- Haut du site : Titre, Menu Horizontale -->
<?php echo '<h1><a href="'.W_ROOT.'index.php">'.$titre_site.'</a></h1>'; ?>
<nav role="navigation">
<ul> <?php
if(Auth::isLogged() ){ //Change la partie membre en fonction de si la personne est connecté ou non
echo $menu_horizontal .'<li><a href="'.W_ROOT.'profil.php" title="Membres" onclick="javascript:afficher_cacher(\'member\'); return false;" class="lien_principale">Profil</a>
<div id="member" style="visibility: hidden;" add animated fadeInLeft> <!-- Menu membre -->
<div id="membre_login">
<div id="contenur_info_membre">
<h3>'.$_SESSION['Auth']['nom'].' '.$_SESSION['Auth']['prenom'].'</h3>
<a href="'.W_ROOT.'profil.php" class="lien_menu_log2">Mon Profil</a>
<a href="'.W_ROOT.'modifier_profil.php" class="lien_menu_log2">Modifier le profil</a>';
if($_SESSION['Auth']['niveau']==5){ echo $lien = '<a href="'.W_ROOT.'admin/index.php" class="lien_menu_log2">Administration</a>';} else { echo $lien = '';}
echo '</div>
<div id="contenur_photo_membre"><img src="'.W_ROOT.'img/login.png"></div>
</div>
<a href="'.W_ROOT.'connexion/logout.php" id="logout">Déconnexion</a>';
}
else // Non connecté
{
echo $menu_horizontal .'<li><a href="'. W_ROOT.'login.php" title="Membres" onclick="javascript:afficher_cacher(\'member\'); return false;" class="lien_principale">Membre</a>
<div id="member" style="visibility: hidden;" add animated fadeInLeft> <!-- Menu membre -->
<form action='.$_SERVER['HTTP_REFERER'].' method="post">
<p class="form_login"><label for="mail">Identifiant</label><input type="email" name="mail" id="mail" required></p>
<p class="form_login"><label for="mdp">Mot de passe</label><input type="password" name="mdp" id="mdp" required></p>
<p class="form_lien">
<a href="'.W_ROOT.'inscription.php" class="lien_menu_log">Inscription</a><br >
<a class="lien_menu_log">Mot de passe oublié ?</a>
</p>
<p class="form_lien"><button id="login" type="submit" name="connexion" >Connexion</button></p>
</form> ';
} ?>
</div></li>
</ul>
</nav>
<div id="box"></div>
</header><!-- /// FIN Haut du site : Titre, Menu Horizontale -->
<?php
$findme = 'Forum';
$pos1 = stripos($page_actu, $findme); //Change le menu carousselle si la personne se trouve sur le forum ou non
if ($pos1 === false){ //Pas sur le forum
echo '<aside>
<div id="top_aside"></div>
<div id="conteneur_caroussel"></div>
</aside><!-- Section gauche (conteneur d article) --> ';
}
else{ // Sur le forum
echo '<aside>
<div id="top_aside"><h2>Categories</h2></div>
<div id="conteneur_caroussel">';
mysql_connect("localhost","root","");
mysql_select_db("test");
mysql_query ('SET NAMES "UTF8"');
$sql = "SELECT * FROM categorie Limit 12";// Affiche les news pour les modifier et supprimer
$req = mysql_query($sql) or die('Erreur SQL !<br />' .$sql. '<br />' .mysql_error());$i=0;
while ($data = mysql_fetch_assoc($req)) { echo '<h3><a href="#" >'.$data['nom_categorie'].'</a></h3>';
$categorie_name[$i]=$data['nom_categorie'];
$categorie_id[$i]=$data['id_categorie'];
$i++;}
echo '</div>
<script type="text/JavaScript">var timer=setInterval("actualiser(\'conteneur_caroussel\',\'categorie.php\')", 1000); </script>
</aside><!-- Section gauche (conteneur d\'article) --> ';
}?>
Voici ensuite une page type qui va appeler ce header :
<?php include("inclusion/top_inc.php");?>
<section> <!-- Partie contenu du site -->
<div id="top_section"><h2><?php echo $page_actu; ?></h2></div>
<div id="conteneur_infos">
<article>
<div class="bloc_img"><img src="img/img1.jpg" alt=""></div>
<div class="bloc_txt"><h3><a href="page.php">Premier article du site</a></h3>
<p>Unde rifus Unde rifus Unde rifus Unde rifus Unde rifus</p>
</div>
</article>
<article>
<div class="bloc_img"><img src="img/img1.jpg" alt=""></div>
<div class="bloc_txt"><h3><a href="page.php">Premier article du site</a></h3>
<p>Unde rifus Unde rifus Unde rifus Unde rifus Unde rifus</p>
</div>
</article>
<article>
<div class="bloc_img"><img src="img/img1.jpg" alt=""></div>
<div class="bloc_txt"><h3><a href="page.php">Premier article du site</a></h3>
<p>Unde rifus Unde rifus Unde rifus Unde rifus Unde rifus</p>
</div>
</article>
</div>
</section><!-- /// FIN Partie contenu du site -->
<?php include("inclusion/bottom_inc.php"); ?>
Voilà le plus important est là, je suis ouvert à la critique car la il y a de quoi x) , j'attends vos conseils.
Cordialement.
Bonjour, je travail actuellement sur un projet à rendre et j'aurai voulu avoir votre avis sur la façon dont mon site est réalisé pour avoir quelques conseils et optimiser le tout :
Mon site est découper avec :
- Une partie header qui contient tout ce qui code et traitement, le formulaire de connexion/ inscription se trouve sur le menu du coup le traitement se fait sur la même page.
- Une partie contenu ou il principalement du texte ou des boucles php.
- Une partie bottom qui contient la fin du site.
Voici le code principale, celui du header :
[php]<?php session_start();
define('W_ROOT', 'http://localhost/projet/'); // URL SERVER
// ------------------------------>
// Gestion des titres <h1>, <h2> et <title>
$titre_site ='Mon titre';
$page_actu = str_replace('C:/wamp/www/projet/', '', $_SERVER['SCRIPT_FILENAME']); // Enleve la racine
$page_actu = str_replace('.php', '', $page_actu); // Enleve le .php
$page_actu= ucfirst($page_actu); // Met la première lettre en majuscule
switch ($page_actu) {// Met en forme le titre de la page
case 'Index': $title = 'Mon site'; break;
case 'Modifier_profil': $title = 'Modifier - Mon site''; break;
case 'Admin/index': $title = 'Administration - Mon site'; break;
default: $title = $page_actu.' - '.$titre_site; break;
}
// ------------------------------>
// Session et gestion utilisateurs
if($page_actu=="Admin/index"){ //menu admin Si connecter dans /admin
include("../connexion/auth.php");
include("../inclusion/config.php");
$menu_horizontal = '<li><a href="'.W_ROOT.'conseil_syndical.php" title="Ajouter une news" class="lien_principale">Ajouter</a></li>
<li><a href="'.W_ROOT.'Syndical.php" title="Modifier une news" class="lien_principale">Modifier</a></li>
<li><a href="'.W_ROOT.'forum.php" title="Gèrer les commentaires" class="lien_principale">Commentaire</a></li>
<li><a href="'.W_ROOT.'forum.php" title="Administrer le forum" class="lien_principale">Forum</a></li>';
}else{ //menu normal
include("connexion/auth.php");
require("inclusion/config.php");
$menu_horizontal = '<li><a href="'.W_ROOT.'conseil_syndical.php" title="Conseil Syndical" class="lien_principale">Conseil</a></li>
<li><a href="'.W_ROOT.'Syndical.php" title="Syndical" class="lien_principale">Syndical</a></li>
<li><a href="'.W_ROOT.'Divers.php" title="Divers" class="lien_principale">Divers</a></li>
<li><a href="'.W_ROOT.'forum.php" title="Forum" class="lien_principale">Forum</a></li>';
}
// ------------------------------>
// Formulaire de connexion
if(isset($_POST) && !empty($_POST['mail']) && !empty($_POST['mdp'])) {
$conn=mysql_connect("localhost","root","");
mysql_select_db("test",$conn);
//Requete si il y a dans la table un mail et un mot de passe égale à ceux saisie dans le formulaire
$sql = " SELECT * FROM membre WHERE email='".addslashes($_POST['mail'])."' AND pass='".addslashes($_POST['mdp'])."'";
$req = mysql_query($sql,$conn) or die(mysql_error());
// Si il a une réponse à la requete alors la session recupère les infos
if (mysql_num_rows($req)) {
while ($data = mysql_fetch_assoc($req)) {
$_SESSION['Auth'] = array(
'mail' => $_POST['mail'],
'mdp' => $_POST['mdp'],
'nom' => $data['nom'],
'prenom' => $data['prenom'],
'adresse' => $data['adresse'],
'ville' => $data['ville'],
'codep' => $data['codep'],
'niveau' => $data['niveau'],
'image' => $data['image'],
'signature' => $data['signature'],
'tel' => $data['tel'],
'date' => $data['date'],
'complement' => $data['complement']
);
}
}
else { header('location:inscription.php?erreur=6'); } //Si il n'y a pas de réponse alors on renvois un message d'erreur
} ?>
<!DOCTYPE HTML>
<html lang="fr" dir="ltr">
<head>
<meta charset="utf-8" />
<link href="<?php echo W_ROOT; ?>css/styles.css" rel="stylesheet" />
<link rel="icon" type="image/x-icon" href="<?php echo W_ROOT; ?>img/favicon.png" />
<script type="text/javascript" src="<?php echo W_ROOT; ?>script/afficher_cacher.js"></script>
<script type="text/javascript" src="<?php echo W_ROOT; ?>script/jquery.js"> </script>
<script type="text/javascript" src="<?php echo W_ROOT; ?>script/scroll.js"> </script>
<script type="text/javascript" src="<?php echo W_ROOT; ?>script/jquery.easing.js"> </script>
<?php if(isset($ajout)) {echo $ajout; } else { $ajout=" "; } //Pour ajouter un script sur une page uniquement et pas surcharger (javascript) ?>
<title><?php echo $title; ?></title>
</head>
<body id="top">
<!-- Conteneur du site -->
<div id="conteneur_global">
<header role="banner"><!-- Haut du site : Titre, Menu Horizontale -->
<?php echo '<h1><a href="'.W_ROOT.'index.php">'.$titre_site.'</a></h1>'; ?>
<nav role="navigation">
<ul> <?php
if(Auth::isLogged() ){ //Change la partie membre en fonction de si la personne est connecté ou non
echo $menu_horizontal .'<li><a href="'.W_ROOT.'profil.php" title="Membres" onclick="javascript:afficher_cacher(\'member\'); return false;" class="lien_principale">Profil</a>
<div id="member" style="visibility: hidden;" add animated fadeInLeft> <!-- Menu membre -->
<div id="membre_login">
<div id="contenur_info_membre">
<h3>'.$_SESSION['Auth']['nom'].' '.$_SESSION['Auth']['prenom'].'</h3>
<a href="'.W_ROOT.'profil.php" class="lien_menu_log2">Mon Profil</a>
<a href="'.W_ROOT.'modifier_profil.php" class="lien_menu_log2">Modifier le profil</a>';
if($_SESSION['Auth']['niveau']==5){ echo $lien = '<a href="'.W_ROOT.'admin/index.php" class="lien_menu_log2">Administration</a>';} else { echo $lien = '';}
echo '</div>
<div id="contenur_photo_membre"><img src="'.W_ROOT.'img/login.png"></div>
</div>
<a href="'.W_ROOT.'connexion/logout.php" id="logout">Déconnexion</a>';
}
else // Non connecté
{
echo $menu_horizontal .'<li><a href="'. W_ROOT.'login.php" title="Membres" onclick="javascript:afficher_cacher(\'member\'); return false;" class="lien_principale">Membre</a>
<div id="member" style="visibility: hidden;" add animated fadeInLeft> <!-- Menu membre -->
<form action='.$_SERVER['HTTP_REFERER'].' method="post">
<p class="form_login"><label for="mail">Identifiant</label><input type="email" name="mail" id="mail" required></p>
<p class="form_login"><label for="mdp">Mot de passe</label><input type="password" name="mdp" id="mdp" required></p>
<p class="form_lien">
<a href="'.W_ROOT.'inscription.php" class="lien_menu_log">Inscription</a><br >
<a class="lien_menu_log">Mot de passe oublié ?</a>
</p>
<p class="form_lien"><button id="login" type="submit" name="connexion" >Connexion</button></p>
</form> ';
} ?>
</div></li>
</ul>
</nav>
<div id="box"></div>
</header><!-- /// FIN Haut du site : Titre, Menu Horizontale -->
<?php
$findme = 'Forum';
$pos1 = stripos($page_actu, $findme); //Change le menu carousselle si la personne se trouve sur le forum ou non
if ($pos1 === false){ //Pas sur le forum
echo '<aside>
<div id="top_aside"></div>
<div id="conteneur_caroussel"></div>
</aside><!-- Section gauche (conteneur d article) --> ';
}
else{ // Sur le forum
echo '<aside>
<div id="top_aside"><h2>Categories</h2></div>
<div id="conteneur_caroussel">';
mysql_connect("localhost","root","");
mysql_select_db("test");
mysql_query ('SET NAMES "UTF8"');
$sql = "SELECT * FROM categorie Limit 12";// Affiche les news pour les modifier et supprimer
$req = mysql_query($sql) or die('Erreur SQL !<br />' .$sql. '<br />' .mysql_error());$i=0;
while ($data = mysql_fetch_assoc($req)) { echo '<h3><a href="#" >'.$data['nom_categorie'].'</a></h3>';
$categorie_name[$i]=$data['nom_categorie'];
$categorie_id[$i]=$data['id_categorie'];
$i++;}
echo '</div>
<script type="text/JavaScript">var timer=setInterval("actualiser(\'conteneur_caroussel\',\'categorie.php\')", 1000); </script>
</aside><!-- Section gauche (conteneur d\'article) --> ';
}?>[/php]
Voici ensuite une page type qui va appeler ce header :
[php]
<?php include("inclusion/top_inc.php");?>
<section> <!-- Partie contenu du site -->
<div id="top_section"><h2><?php echo $page_actu; ?></h2></div>
<div id="conteneur_infos">
<article>
<div class="bloc_img"><img src="img/img1.jpg" alt=""></div>
<div class="bloc_txt"><h3><a href="page.php">Premier article du site</a></h3>
<p>Unde rifus Unde rifus Unde rifus Unde rifus Unde rifus</p>
</div>
</article>
<article>
<div class="bloc_img"><img src="img/img1.jpg" alt=""></div>
<div class="bloc_txt"><h3><a href="page.php">Premier article du site</a></h3>
<p>Unde rifus Unde rifus Unde rifus Unde rifus Unde rifus</p>
</div>
</article>
<article>
<div class="bloc_img"><img src="img/img1.jpg" alt=""></div>
<div class="bloc_txt"><h3><a href="page.php">Premier article du site</a></h3>
<p>Unde rifus Unde rifus Unde rifus Unde rifus Unde rifus</p>
</div>
</article>
</div>
</section><!-- /// FIN Partie contenu du site -->
<?php include("inclusion/bottom_inc.php"); ?>[/php]
Voilà le plus important est là, je suis ouvert à la critique car la il y a de quoi x) , j'attends vos conseils.
Cordialement.