Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire à tout moment comment nous utilisons les cookies sur le site.
Helloooo...je suis de retour et tenais à refaire un spécial STAND-UP au SITE du DEV !! 🍺🦀😍🙏🥳
Si tous mes profs avaient été comme toi...j'aurai fait polytechnique + HEC avec un doctorat en médecine...
Mais ce n'est pas le cas...du coup je bloque sur un point : la redirection via mon htaccess ne fonctionne pas : 😆
Du moins, les extensions ".php" sont bien supprimées mais :
Voici mon .htaccess
AddDefaultCharset "utf-8"
#Acces
<Files .htaccess>
order allow,deny
deny from all
</Files>
#NTP
SetEnv TZ Europe/Paris
Options All -Indexes
## METTRE PAR DEFAUT L'AFFICHAGE
<FilesMatch "\.(htm|html|css|js|php)$">
AddDefaultCharset UTF-8
DefaultLanguage fr-fr
</FilesMatch>
## POUR REECRIRE LES NOMS DES PAGES
Options +FollowSymlinks -MultiViews
# On autorise de renommer les pages
RewriteEngine on
#RewriteBase /
#RewriteCond %{REQUEST_FILENAME} !-f
# On peut enlever le .php et renommer les pages comme on le souhaite
RewriteRule ^([^\.]+)$ $1.php
# On réécrit notre URL et on met [0-9]+ car on sait que dans $1 on aura que des chiffres
#RewriteRule ^voir-profil/([0-9]+)$ $voir_profil?id=$1 [L]
## Redirection non-www vers www:
#RewriteCond %{HTTP_HOST} !^www\. [NC]
#RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
## Pour réécrire les noms des pages
Options +FollowSymlinks -MultiViews
RewriteEngine on
#RewriteBase /
## Redirection non-www vers www:
#RewriteCond %{HTTP_HOST} !^www\. [NC]
#RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
## Redirection de http vers https:
#RewriteCond %{HTTPS} off
#RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
## Sauf répertoire, supprimez la barre oblique
#RewriteEngine On
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^([^/]+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
## Rediriger les pages .php vers une URL sans extension
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://%{HTTP_HOST}/$1 [R=301,L]
## Ajouter une extension si le fichier php existe
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
# On r��crit notre URL et on met [0-9]+ car on sait que dans $1 on aura que des chiffres
RewriteRule ^voir-profil/([0-9]+)$ $voir_profil?id=$1
RewriteRule ^forum$ dossier/forum/forum
RewriteRule ^forum/([0-9]+)$ dossier/forum/sujet?id=$1
RewriteRule ^forum/([0-9]+)/([0-9]+)$ dossier/forum/topic?id_forum=$1&id_topic=$2 [L]
# PAGES DE LA RACINE
RewriteRule ^signup$ inscription
RewriteRule ^login$ connexion
RewriteRule ^logout$ deconnexion
RewriteRule ^accueil$ index
RewriteRule ^rechercher$ particuliers
RewriteRule ^professionnels$ professionnels
RewriteRule ^associations$ associations
Dans le dossier web racine j'ai ma page avec la liste des forums qui est selon ce chemin /dossier/forum/forum.php
Ma base de donnée basededonnee a les mêmes paramètres que dans la formation 1 sitedude. J'ai juste renommé les tables en tables part_forum, part_profil, part_relation, part_topic, part_topic_commentaire..Etc
Voici le code du dossier forum_particulier.php
<?php
session_start();
include('../../bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD
$req = $DB->query("SELECT *
FROM part_forum
ORDER BY ordre");
$req = $req->fetchAll();
?>
<!DOCTYPE html>
<html>
<head>
<base href="/"/>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<title>Accueil</title>
<!--https://getbootstrap.com/docs/5.1/getting-started/introduction/ -->
<link rel="stylesheet" href="../../css/bootstrap.min.css">
<link rel="stylesheet" href="../../css/style.css">
</head>
<body>
<?php
require_once('../../menu.php');
?>
<div class="container">
<div class="row">
<div class="col-sm-0 col-md-0 col-lg-0"></div>
<div class="col-sm-12 col-md-12 col-lg-12">
<h1 style="text-align: center">Forum</h1>
<!--classe Bootstrap pour rendre le tableau responsive -->
<div class="table-responsive" style="margin-top: 10px">
<table class="table table-striped">
<tr>
<th>ID</th>
<th>Titre</th>
</tr>
<?php
foreach($req as $r){
?>
<tr>
<td>
<?= $r['id'] ?>
</td>
<td>
<!-- On pointe vers le lien du sujet concerné -->
<a href="forum/<?=$r['id'] ?>"><?= $r['titre'] ?> </a>
</td>
</tr>
<?php
}
?>
</table>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
</body>
</html>
Voici le code du dossier sujet.php
<?php
session_start();
include('../../bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD
//Get permet de récupérer des éléments sur les URL
$get_id = (int) trim(htmlentities($_GET['id'])); // On récupère l'id de la catégorie
if(empty($get_id)){ // On vérifie qu'on a bien un id sinon on redirige vers la page forum
header('Location: ../forum');
exit;
}
// On va récupérer toutes les informations des sujets, mettre les dates au format 'Le 24/04/2018 à 21h32'
// et ajouter les prénoms des personnes qui ont créé leur sujet
$req = $DB->query("SELECT t.*, DATE_FORMAT(t.date_creation, 'Le %d/%m/%Y à %H\h%i') as date_c, U.prenom
FROM part_profil T
LEFT JOIN part_profil U ON U.id = T.id_user
WHERE t.id_forum = ?
ORDER BY t.date_creation DESC",
array($get_id));
$req = $req->fetchAll();
?>
<!DOCTYPE html>
<html>
<head>
<base href="/"/>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<title>Sujet</title>
<link rel="stylesheet" href="../../css/bootstrap.min.css"/>
<link rel="stylesheet" href="../../css/style.css"/>
</head>
<body>
<?php
require_once('../../menu.php');
?>
<div class="container">
<div class="row">
<div class="col-sm-0 col-md-0 col-lg-0"></div>
<div class="col-sm-12 col-md-12 col-lg-12">
<h1 style="text-align: center">Forum</h1>
<div class="table-responsive">
<table class="table table-striped">
<tr>
<th>ID</th>
<th>Titre</th>
<th>Date</th>
<th>Par </th>
</tr>
<?php
foreach($req as $r){ // Ici on va afficher tous nos enregistrements trouvés
?>
<tr>
<td>
<?= $r['id'] ?>
</td>
<td>
<!-- On met un lien pour afficher le topic en entier -->
<a href="forum/<?= $get_id?>/<?= $r['id']?>"><?= $r['titre'] ?></a>
</td>
<td>
<?= $r['date_c'] ?>
</td>
<td>
<?= $r['prenom'] ?>
</td>
</tr>
<?php
}
?>
</table>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
</body>
</html>
Quelqu'un peut-il m'aider à traiter ce sujet svp ? 🙏
Merci pour la générosité de votre temps 😃, la bonne humeur de vos réponses 🥳 et la qualité de celles-ci 👍😍 ! Vous êtes au TOP !
Questions bonus :