1. Ça fait plus de 3 semaines que j'essaie d'exécuter la tâche suivante :
– "Si le membre qui se connecte a déjà fait une contribution dans la base de données, le rediriger vers la page X. Sinon, le rediriger vers la page Y."
2. Pour cela j'ai deux tables dans ma base de données :
• Members (id, username, password)
• Contributions (id, username, post)
3. Le membre parvient à se connecter sans problème et obtient une session :
• $_SESSION['id']
4. Le problème est que je n'arrive toujours pas à le rediriger vers la page souhaitée. Merci d'avance pour votre aide.
Voici mon code :
Code : Tout sélectionner
<?php
session_start();
$bdd = new PDO('mysql:host=127.0.0.1;dbname=*****;charset=utf8', 'root', '',
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
if(isset($_POST['formconnection']))
{
if(!empty($_POST['codeconnect']))
{
$userconnect = $bdd->prepare("SELECT * FROM members WHERE password = ?");
$userconnect->execute(array($_POST['passwordconnect']));
$userexist = $userconnect->rowCount();
if($userexist == 1)
{
$userinfo = $userconnect->fetch();
$_SESSION['id'] = $userinfo['id'];
//MON PROBLÈME SE SITUE DANS LES 2 LIGNES SUIVANTES
$usercontribution = $bdd->query("SELECT * FROM contributions WHERE username = {$_SESSION['id']}");
if(isset($usercontribution))
{
header("Location:contribute.php?id=".$_SESSION['id']);
}
else{
header("Location:contributions.php?id=".$_SESSION['id']);
}
}
else
{
$erreur = "<br />Mot de passe erroné !";
}
}
else
{
$erreur = "Tapez votre mot de passe !";
}
}
?>