Redirection de liens PHP
Résolu
robby94
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
robby94 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
robby94 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un souci que j'arrive pas à régler.
En résumé:
J'ai des liens PHP qui ouvrent des pages à un endroit précis de mon site.
liens:
Endroit:
Illustration:


Mon problème:
1/Une fois à l’intérieur de mes pages, les liens s'ouvrent sur une autre page, et non au même endroit.
2/ Quand je vais sur "FORUM", la page s'ouvrent pas à l'endroit que je veux (elle s'ouvre "toute seul)
Comment puis-je faire en sorte que mes liens s'ouvrent systématiquement à tel ou tel endroit?
Merci de votre aide
ps: je suis débutant (vous l'aurez compris)
J'ai un souci que j'arrive pas à régler.
En résumé:
J'ai des liens PHP qui ouvrent des pages à un endroit précis de mon site.
liens:
<a href="index.php?var1=accueil.php">ACCUEIL</a>
<a href="index.php?var2=forum.php">FORUM</a>
Endroit:
if(!empty($_GET['var1']))
{
if($_GET['var1'] == 'accueil.php')
{require('accueil.php');}
}
elseif(!empty($_GET['var2']))
{
if($_GET['var2'] == 'forum.php')
{require('forum.php');}
}
Illustration:


Mon problème:
1/Une fois à l’intérieur de mes pages, les liens s'ouvrent sur une autre page, et non au même endroit.
2/ Quand je vais sur "FORUM", la page s'ouvrent pas à l'endroit que je veux (elle s'ouvre "toute seul)
Comment puis-je faire en sorte que mes liens s'ouvrent systématiquement à tel ou tel endroit?
Merci de votre aide
ps: je suis débutant (vous l'aurez compris)
A voir également:
- Redirection de liens PHP
- Vérificateur de liens - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Ou trouver les liens copiés sur android - Guide
- Telecharger liens direct - Accueil - Outils
3 réponses
Bonjour,
Déjà.. pourquoi faire deux variables var1 et var2 ?
Une seule suffit ... par exemple : "p"
Ensuite, (je vous invites à lire ceci ça expliqera certaines choses : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code )
Maintenant... si le contenu s'ouvre dans une nouvelle page.. c'est que le souci se trouve ailleurs....
Un fichier htacess par exempe ?
Lorsque vous examinez les liens dans la page, qu'est ce qu'ils contiennent exactement ?
et quand vous cliquez sur le lien. qu'est-ce qu'il s'affiche dans la barre d'adresse du navigateur ?
Déjà.. pourquoi faire deux variables var1 et var2 ?
Une seule suffit ... par exemple : "p"
<a href="index.php?p=accueil.php">ACCUEIL</a> <a href="index.php?p=forum.php">FORUM</a>
Ensuite, (je vous invites à lire ceci ça expliqera certaines choses : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code )
//a l'endroit voulu : $page = !empty($_GET['p']) ? $_GET['p'] : NULL; if(file_exists($page)){ include_once $page; }else{ echo "Page inconnue !"; }
Maintenant... si le contenu s'ouvre dans une nouvelle page.. c'est que le souci se trouve ailleurs....
Un fichier htacess par exempe ?
Lorsque vous examinez les liens dans la page, qu'est ce qu'ils contiennent exactement ?
et quand vous cliquez sur le lien. qu'est-ce qu'il s'affiche dans la barre d'adresse du navigateur ?
Bonjour,
tout d'abord merci à Jordan45 pour la simplification de mes liens :-)
Ça n'a pas résolu mon problème de fond
------
Comment fonctionnerai un .htacces, dans mon cas de figure?
J'ai vu pas mal de vidéo sur la réécriture de lien (si on parle bien de ça) mais j'ai pas bien compris.
------
En ce qui concerne le reste du site...
Voici une "arborescence" de mes liens.

- Infos:
(A la base j'avais fait un répertoire FORUM avec toutes mes pages dedans, mais lorsque je voulais aller chercher les pages via mon lien forum, ça ne fonctionnait pas - surement un souci dans ma syntaxe)
Les liens "accueil", "annonce"...etc, pour l'instant ça fonctionne.
(car j'ai pas fini de coder. lol)
Mais la partie FORUM, ça pointe pas ou je veux... Le forum fonctionne quand je vais sur chaque page.
Mais je n'arrive pas à faire en sorte que toutes les pages du forum s'ouvre sur la page de mon index.
En gros, quand je clique sur Forum, ça devrai m'orienter vers l'accueil du forum (forum.php)
or, là, non seulement ça m'oriente vers "connexion", (pourquoi pas...) mais surtout ça me l'ouvre dans une page nouvelle,
Et quand je suis sur les pages du forum, bah c'est des pages dans une nouvelle fenêtre
En gros, ce que je voudrais, c'est que TOUTES mes pages, via mes liens, s'ouvrent sur un endroit précis de la page d'accueil (pour pouvoir garder tout l'aspect de mon site
tout d'abord merci à Jordan45 pour la simplification de mes liens :-)
Ça n'a pas résolu mon problème de fond
------
Comment fonctionnerai un .htacces, dans mon cas de figure?
J'ai vu pas mal de vidéo sur la réécriture de lien (si on parle bien de ça) mais j'ai pas bien compris.
------
En ce qui concerne le reste du site...
Voici une "arborescence" de mes liens.

- Infos:
- Toutes les pages sont sur la même racine
(A la base j'avais fait un répertoire FORUM avec toutes mes pages dedans, mais lorsque je voulais aller chercher les pages via mon lien forum, ça ne fonctionnait pas - surement un souci dans ma syntaxe)
Les liens "accueil", "annonce"...etc, pour l'instant ça fonctionne.
(car j'ai pas fini de coder. lol)
Mais la partie FORUM, ça pointe pas ou je veux... Le forum fonctionne quand je vais sur chaque page.
Mais je n'arrive pas à faire en sorte que toutes les pages du forum s'ouvre sur la page de mon index.
En gros, quand je clique sur Forum, ça devrai m'orienter vers l'accueil du forum (forum.php)
or, là, non seulement ça m'oriente vers "connexion", (pourquoi pas...) mais surtout ça me l'ouvre dans une page nouvelle,
Et quand je suis sur les pages du forum, bah c'est des pages dans une nouvelle fenêtre
En gros, ce que je voudrais, c'est que TOUTES mes pages, via mes liens, s'ouvrent sur un endroit précis de la page d'accueil (pour pouvoir garder tout l'aspect de mon site
D'après ce que tu nous montres.. tu n'as pas de fichiers htaccess...
donc le souci ne vient pas de là.
Par contre, tu n'as pas répondu à mes autre questions...
En attendant, Pourrais tu nous fournir :
- Le code php/html complet de ta page index.php (celui que tu as écris )
- Le code (html) de cette même page lorsqu'il est dans le navigateur ( en faisant : CTRL + U pour en afficher le code source "généré" )
donc le souci ne vient pas de là.
Par contre, tu n'as pas répondu à mes autre questions...
En attendant, Pourrais tu nous fournir :
- Le code php/html complet de ta page index.php (celui que tu as écris )
- Le code (html) de cette même page lorsqu'il est dans le navigateur ( en faisant : CTRL + U pour en afficher le code source "généré" )
Alors,
1/déjà, grâce à ton 1er post, j'ai modifié mes liens, et simplier la chose;
2/ Sur mes pages forum.php / connexion.php / inscription.php, j'ai rajouté "index.php?p="
du cout, ses 3 pages pointes bien là ou je veux
Maintenant, mon souci est QUAND JE SUIS CONNECTÉ
Quand je vais sur les Catégories et Messages du forum, ça pointe pas sur la page index.php?p
quand je survole l'une de mes catégories de forum ça me fait ça:
Ce qu'il faudrai que j'arrive à faire, dans l'indée ce serai ça:
mais, ça marche pas. lol
voici mon code index.php:
Je te met aussi le code de forum.php
1/déjà, grâce à ton 1er post, j'ai modifié mes liens, et simplier la chose;
<a href="index.php?p=accueil.php">ACCUEIL</a>
$page = !empty($_GET['p']) ? $_GET['p'] : NULL;
if(file_exists($page)){
include_once $page;
}else{
echo "Page inconnue !";
}
2/ Sur mes pages forum.php / connexion.php / inscription.php, j'ai rajouté "index.php?p="
du cout, ses 3 pages pointes bien là ou je veux
Maintenant, mon souci est QUAND JE SUIS CONNECTÉ
Quand je vais sur les Catégories et Messages du forum, ça pointe pas sur la page index.php?p
quand je survole l'une de mes catégories de forum ça me fait ça:
http://MON-SITE.FR/forum.php?categorie=FOOTBALL%20MASCULIN
Ce qu'il faudrai que j'arrive à faire, dans l'indée ce serai ça:
http://MON-SITE/index.php?p=forum.php?categorie=FOOTBALL%20MASCULIN
mais, ça marche pas. lol
voici mon code index.php:
<!--MENU-->
<div class="row">
<div class="col-1"></div>
<div class="col-10 menu btn-group">
<a href="index.php?p=accueil.php" class="button">ACCUEIL</a>
<a href="index.php?p=forum.php" class="button">FORUM</a>
<a href="index.php?p=doctype.php" class="button">DOCUMENTS</a>
<a href="index.php?p=sherch.php" class="button">RECHERCHE</a>
<a href="index.php?p=annonces.php" class="button">ANNONCES</a>
<a href="index.php?p=media.php" class="button">MEDIAS</a>
<a href="index.php?p=technique.php" class="button">TECHNIQUE</a>
<a href="index.php?p=acces.php" class="button">ACCES</a>
<a href="index.php?p=contact.php" class="button">CONTACT</a>
</div>
<div class="col-1"></div>
</div>
<!-- CORPS DE TEXTE 1-->
<div class="row">
<div class="col-1"></div>
<div class="col-10 article">
<?php
$page = !empty($_GET['p']) ? $_GET['p'] : NULL;
if(file_exists($page)){
include_once $page;
}else{
echo "Page inconnue !";
}
?>
</div>
<div class="col-1"></div>
</div>
Je te met aussi le code de forum.php
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
?>
<?php session_start();
include_once 'function/function.php';
include_once 'function/addPost.class.php';
$bdd = bdd();
if(!isset($_SESSION['id'])){
header('Location: index.php?p=connexion.php');
}
else {
if(isset($_POST['name']) AND isset($_POST['sujet'])){
$addPost = new addPost($_POST['name'],$_POST['sujet']);
$verif = $addPost->verif();
if($verif == "ok"){
if($addPost->insert()){
}
}
else {/*Si on a une erreur*/
$erreur = $verif;
}
}
?>
<!DOCTYPE html>
<head>
</head>
<body>
<div class="title">
Forum
</div>
<div class="article">
<div id="Cforum" class="col-12">
<?php
echo 'Bienvenue : '.$_SESSION['pseudo'].' :) - <a href="deconnexion.php">Deconnexion</a> ';
if(isset($_GET['categorie'])){ /*SI on est dans une categorie*/
$_GET['categorie'] = htmlspecialchars($_GET['categorie']);
?>
<div class="categories">
<h1><?php echo $_GET['categorie']; ?></h1>
</div>
<a href="addSujet.php?categorie=<?php echo $_GET['categorie']; ?>">Ajouter un sujet</a> <!-- liens pour Ajouter un sujet -->
<?php
$requete = $bdd->prepare('SELECT * FROM sujet WHERE categorie = :categorie ');
$requete->execute(array('categorie'=>$_GET['categorie']));
while($reponse = $requete->fetch()){
?>
<div class="categories">
<a href="forum.php?sujet=<?php echo $reponse['name'] ?>"><h1><?php echo $reponse['name'] ?></h1></a>
</div>
<?php
}
?>
<?php
}
else if(isset($_GET['sujet'])){ /*SI on est dans une categorie*/
$_GET['sujet'] = htmlspecialchars($_GET['sujet']);
?>
<div class="categories">
<h1><?php echo $_GET['sujet']; ?></h1>
</div>
<?php
$requete = $bdd->prepare('SELECT * FROM postSujet WHERE sujet = :sujet ');
$requete->execute(array('sujet'=>$_GET['sujet']));
while($reponse = $requete->fetch()){
?>
<div class="post">
<?php
$requete2 = $bdd->prepare('SELECT * FROM membres WHERE id = :id');
$requete2->execute(array('id'=>$reponse['propri']));
$membres = $requete2->fetch();
echo $membres['pseudo']; echo ': <br>';
echo $reponse['contenu'];
?>
</div>
<?php
}
?>
<form method="post" action="forum.php?sujet=<?php echo $_GET['sujet']; ?>">
<textarea name="sujet" placeholder="Votre message..." ></textarea>
<input type="hidden" name="name" value="<?php echo $_GET['sujet']; ?>" />
<input type="submit" value="Ajouter à la conversation" />
<?php
if(isset($erreur)){
echo $erreur;
}
?>
</form>
<?php
}
else { /*Si on est sur la page normal*/
$requete = $bdd->query('SELECT * FROM categories');
while($reponse = $requete->fetch()){
?>
<div class="categories">
<a href="forum.php?categorie=<?php echo $reponse['name']; ?>"><?php echo $reponse['name']; ?></a>
</div>
<?php
}
}
?>
</div>
</div>
</body>
</html>
<?php
}
?>
Déjà.. dans le lien que je t'ai donné expliquant comment poster ton code... relis le bien..ça parle de la coloration syntaxique !
Ensuite... quand tu as plusieurs variables dans l'url.. tu les sépare avec des & (la première avec un ? , les suivantes avec des & )
Comme ceci :
Au passage.. vu que tu utilises PDO, prends l’habitude d'appliquer ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Ensuite... quand tu as plusieurs variables dans l'url.. tu les sépare avec des & (la première avec un ? , les suivantes avec des & )
Comme ceci :
http://infos-clubs.fr/index.php?p=forum.php&categorie=FOOTBALL%20MASCULIN
Au passage.. vu que tu utilises PDO, prends l’habitude d'appliquer ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Il manque peut être un target _blank sur les balises <a>.
Cdt