Je me présente, je m'appel Steven et j'ai commencé la programmation il y a tout juste un mois.
Je me suis débrouillé tout seul jusqu'ici pour créer mon site, l'heberger sur le net et ajouter de nouvelles choses dessus au fur et à mesure que j'apprend à bien programmer
Il faut donc savoir que mon site est composé d'un index, d'une page de contenu html pure(texte, images), d'une page de contact, d'une chatbox, d'une page d'édition de profil et d'une page de désinscription. ET Que mon site REQUIERT une inscription avant de pouvoir le visiter librement. Il redirige donc touts les utilisateurs "anonymes" vers la page d'inscription automatiquement (choix personnel de ma part, même si je sais que c'est pas la meilleure chose à faire. Ne vous en faite pas je suis au courant.)
Je me heurte actuellement à deux problèmes intéressants dont je peine à trouver la solution, que ce soit par pure reflexion logique ou par des recherches en ligne:
1) Je veux que ma chatbox fasse un echo du nom de l'utilisateur quand il poste son message. Chose que j'ai fais dans mon code, mais le problème c'est que ma BDD refuse de récuperer ce echo pour le mettre dans ma table "chat" colonne "pseudo" de la base de données de ma chatbox... Le echo par contre marche très bien, puisque j'arrive à le faire apparaitre dans le "formulaire" de ma chatbox au dessus du message à entrer.
EDIT1: le echo du pseudo utilisateur marche mais apparait aussi dans la fenetre de chat, il remplace le pseudo de touts les utilisateurs dans l'historique du chat... Je n'avais pas remarqué et c'est pas cool du coup... :/
EDIT2: Correction de la seconde page de code
Code : Tout sélectionner
<?php
session_start();
$bdd = new PDO('INFORMATIONS CONFIDENTIELLES');
if(isset($_SESSION['id'])) {
$requser = $bdd->prepare("SELECT * FROM membres WHERE id = ?");
$requser->execute(array($_SESSION['id']));
$user = $requser->fetch();
if(isset($_POST['message']) AND !empty($_POST['message'])){
$pseudo = ($_POST[$user['pseudo']]);
$message = htmlspecialchars($_POST['message']);
$messagelength = strlen($message);
if($messagelength <= 176) {
$insertmsg = $bdd->prepare('INSERT INTO chat(pseudo, message) VALUES(?, ?)');
$insertmsg->execute(array($pseudo, $message));
}
else {
$error = "Votre message est trop long ! (176 caractères maximum.)";
}
} else {
$error = "Veuillez insérer votre message !";
}
?>
<html>
<head>
<link rel="stylesheet" href="Style/chatbox.css">
<link rel="stylesheet" media="screen and (max-width:1024px)" href="Style.css">
<title>Chatbox</title>
<meta charset="utf-8">
</head>
<body>
<navbar>
<ul>
<li><a href="Confidentiel.php">Accueil</a></li>
<li><a href="Confidentiel.php">En savoir plus</a></li>
<li><a href="Confidentiel.php">Me contacter</a></li>
<li><a href="Confidentiel.php">Mon profil</a></li>
<li class="current"><a href="Confidentiel.php">Chatbox</li>
<li><a href="Confidentiel.php">English version</a></li>
</ul>
</navbar>
<h1>Chatbox</h1>
<section>
<div class="chat">
<form method="POST" action="">
<p style="color:orange">Votre pseudo: <?= $user['pseudo']; ?></p>
<p>Votre message:</p>
<textarea type="text" name="message" placeholder="Message" rows="5" cols="50" ></textarea>
<p><input type="submit" name="Envoyer"></p>
<div class="error">
<?php
if(isset($error)) {
echo ''.$error."";
}
?>
</div>
</form>
</div>
<div class="chatbox">
<?php
$allmsg = $bdd->query('SELECT * FROM chat ORDER BY id DESC LIMIT 0,5');
while($msg = $allmsg->fetch())
{
?>
<p style="color:orange"><?php echo $msg['pseudo']; ?> :</p>
<p style="color:white"><?php echo $msg['message']; ?></p>
<?php
}
?>
</div>
</section>
</body>
<footer>
<div class="container">
<a href="Confidentiel.php">Mentions légales</a>
</div>
</footer>
</html>
<?php
}
else {
header("Location: connexion.php");
}
?>Voici le code de ma page de profil:
Code : Tout sélectionner
<?php
session_start();
$bdd = new PDO('CONFIDENTIEL');
if(isset($_GET['id']) AND $_GET['id'] > 0) {
$getid = intval($_GET['id']);
$requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
$requser->execute(array($getid));
$userinfo = $requser->fetch();
?>
<html>
<head>
<link rel="stylesheet" href="Style/inscriptionstyle.css">
<link rel="stylesheet" media="screen and (max-width:1024px)" href="Style/inscriptionstyle.css">
<title>Profil</title>
<meta charset="utf-8">
</head>
<body>
<navbar>
<ul>
<li><a href="CONFIDENTIEL">Accueil</a></li>
<li><a href="CONFIDENTIEL">En savoir plus</a></li>
<li><a href="CONFIDENTIEL">Me contacter</a></li>
<li class="current"><a href="CONFIDENTIEL">Mon profil</a></li>
<li><a href="CONFIDENTIEL">Chatbox</a></li>
<li><a href="CONFIDENTIEL">English version</a></li>
</ul>
</navbar>
<h1>Profil de <?php echo $userinfo['pseudo']; ?></h1>
<div class="profil">
<?php
if(!empty($userinfo['avatar']))
{
?>
<img src="membres/avatars/<?php echo $userinfo['avatar']; ?> "width=250" />
<?php
}
?>
<p>Votre pseudo est: <?php echo $userinfo['pseudo']; ?></p>
<p>Votre adresse e-mail est: <?php echo $userinfo['mail']; ?></p>
<?php
if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id']) {
?>
<p><a href="editionprofil.php">Editer mon profil</a></p>
<p><a href="deconnexion.php">Se déconnecter</a></p>
<p><a href="desinscription.php">Supprimer mon compte</a></p>
<?php
}
?>
</div>
</body>
<footer>
<div class="container">
<a href="CONFIDENTIEL">Mentions légales</a>
</div>
</footer>
</html>
<?php
}
else {
header('Location: connexion.php');
}
?>Si vous avez des pistes sur la marche à suivre ou qui peuvent m'aider à me débloquer, je suis preneur !
En tout cas merci de m'avoir lu jusqu'au bout !