Je réalise actuellement un site pour un RPG sur Harry Potter : http://www.poudlard-express.fr/
Pour ce site j'ai réalisé un système de statut/commentaire un peu à la facebook.
Or je rencontre quelques petits problèmes....
Tout d'abord, au lieu d'avoir :
Statut 1
Commentaire 1.0
Commentaire 1.1
Statut 2
Commentaire 2.0
Commentaire 2.1
J'ai :
Statut 1
Commentaire 1.0
Commentaire 1.1
Commentaire 2.0
Commentaire 2.1
Statut 2
Vide
Ensuite mon deuxième problème est que je ne récupère pas les bons id membre.. C'est à dire que si Joueur X écrit un statut, joueur Y commente ce statut, ça m'affichera "Commentaire de Joueur X" alors que c'est Y qui a commenté....
Je vous donne les codes de mes pages :
statut.php
<?php
include("include.php");
$bdd = bdd();
if(!empty($_SESSION['membre']))
{
if(!empty($_GET['maison']))
if(is_numeric($_GET['maison']))
if($_GET['maison'] <= 4 && $_GET['maison'] >=0)
$maison = $_GET['maison'];
else $maison = 0;
else $maison = 0;
else $maison = 0;
$requete = $bdd->prepare("SELECT id_maison FROM membre WHERE id_membre=?");
$requete->execute(array($_SESSION['membre']));
$membre = $requete->fetch();
if($maison == 0 || $maison == $membre['id_maison'])
{
if(!empty($_POST['message']))
{
$requete = $bdd->prepare("INSERT INTO statut VALUES('', ?, ?, ?, ?)");
$requete->execute(array($maison, (int) $_SESSION['membre'], $_POST['message'], time() ));
$page .= 'Le statut a bien été envoyé !';
}
$page .= '
<form action="?maison='.$maison.'" method="post">
<p>
<label for="message"></label><br />
<textarea rows="4" cols="50" name="message" id="message">Éditer un statut...</textarea>
<br/>
<input type="submit" value="Publier"/>
</p>
</form>
';
$requete = $bdd->prepare("SELECT id_statut, id_membre, contenu, date FROM statut WHERE id_maison=? ORDER BY id_statut DESC LIMIT 0, 10");
$requete->execute(array($maison));
while($statut = $requete->fetch())
{
$pseudo = $bdd->query("SELECT prenomPerso, nomPerso FROM membre WHERE id_membre=".$statut['id_membre'])->fetch();
$page .= '
<fieldset><table>
<center><tr><td>'.$statut['contenu'].'</td></tr></center>
<tr><td><p>écrit par '.$pseudo['prenomPerso'].' '.$pseudo['nomPerso'].' le '.date('d/m/Y',$data['date']).' • <a href="commentaire1.php?id='.$statut['id_statut'].'">Commentaires</a></p></td></tr>
</table></fieldset><br />
';
}
if($maison == 0)
$maison = "Public";
elseif($maison == 1)
$maison = "Grifondor";
elseif($maison == 2)
$maison = "Pouffsouffle";
elseif($maison == 3)
$maison = "Serdaigle";
elseif($maison == 4)
$maison = "Serpentard";
}
}
?>
commentaire.php
<?php
include("include.php");
$bdd = bdd();
if(!empty($_SESSION['membre']))
{
if(!empty($_GET['maison']))
if(is_numeric($_GET['maison']))
if($_GET['maison'] <= 4 && $_GET['maison'] >=0)
$maison = $_GET['maison'];
else $maison = 0;
else $maison = 0;
else $maison = 0;
$requete = $bdd->prepare("SELECT id_maison FROM membre WHERE id_membre=?");
$requete->execute(array($_SESSION['membre']));
$membre = $requete->fetch();
if($maison == 0 || $maison == $membre['id_maison'])
{
if(!empty($_POST['message']))
{
$requete = $bdd->prepare("INSERT INTO statut VALUES('', ?, ?, ?, ?)");
$requete->execute(array($maison, (int) $_SESSION['membre'], $_POST['message'], time() ));
$page .= 'Le statut a bien été envoyé !';
}
$page .= '
<form action="?maison='.$maison.'" method="post">
<p>
<label for="message"></label><br />
<textarea rows="4" cols="50" name="message" id="message">Éditer un statut...</textarea>
<br/>
<input type="submit" value="Publier"/>
</p>
</form>
';
$requete = $bdd->prepare("SELECT id_statut, id_membre, contenu, date FROM statut WHERE id_maison=? ORDER BY id_statut DESC LIMIT 0, 10");
$requete->execute(array($maison));
while($statut = $requete->fetch())
{
$pseudo = $bdd->query("SELECT prenomPerso, nomPerso FROM membre WHERE id_membre=".$statut['id_membre'])->fetch();
$page .= '
<fieldset><table>
<center><tr><td>'.$statut['contenu'].'</td></tr></center>
<tr><td><p>écrit par '.$pseudo['prenomPerso'].' '.$pseudo['nomPerso'].' le '.date('d/m/Y',$data['date']).' • <a href="commentaire1.php?id='.$statut['id_statut'].'">Commentaires</a></p></td></tr>
</table></fieldset><br />
';
}
if($maison == 0)
$maison = "Public";
elseif($maison == 1)
$maison = "Grifondor";
elseif($maison == 2)
$maison = "Pouffsouffle";
elseif($maison == 3)
$maison = "Serdaigle";
elseif($maison == 4)
$maison = "Serpentard";
}
}
?>
Ça serait sympa de m'aider