Ses derniers messages sur les forums
Très bien.
Merci bcp
Alors, oui merci beaucoup ca fonctionne à merveille maintenant.
Mais j'ai une autre question à propos de l'autoincrémentation de la base de donnée : si un message à pour id 14 et que je veux le supprimer, ca marchera mais l'incrémentation reprendra à 15 et non à 14. Est-ce donc génant à un moment ou à un autre pour la base de donnée? Et existe t-il un moyen de corriger ca?
Merci
C'est merveilleux, ca marche tr
<?php
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select password, id from membres where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['password'] != $password) {
echo '<p>Mauvais login / password. Merci de recommencer</p><p>Vous allez être redirigé dans quelques instants</p>';
header('Refresh: 2; url=/index.php');
exit;
}
else {
session_start();
$_SESSION['login'] = $login;
$_SESSION['id'] = $id;
echo '<p>Vous etes bien logué</p> <p>Vous allez être redirigé dans quelques instants</p>';
header('Refresh: 2; url=/espace.php');
?>
Voici mon nouveau bout de code et il dit ne pas connaitre la variable id (undefinied variable). J'ai une erreur à ce niveau : $_SESSION['id'] = $id;
Ok, donc j'ai bien fais cque tu m'as dis, malheureuement, toujours rien aucun message n'apparait.
Dans le lire.php?id_message=2 par exemple, voici la requète SQL qui s'affiche :
SELECT titre, date, message, membres.login as expediteur FROM messages, membres WHERE id_destinataire="" AND id_expediteur=membres.id AND messages.id="2" Vous avez aucun message.
La requète à l'air d'etre ok je ne vois pas ce qui cloche mais ca ne marche pas
<?php
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password'])) {
extract($_POST);
$sql = "select password from membres where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['password'] != $password) {
echo '<p>Mauvais login / password. Merci de recommencer</p><p>Vous allez être redirigé dans quelques instants</p>';
exit;
}
else {
session_start();
$_SESSION['login'] = $login;
echo '<p>Vous etes bien logué</p> <p>Vous allez être redirigé dans quelques instants</p>';
header('Refresh: 2; url=/espace.php');
}
?>
Voici mon code, pourrais-tu me donner le bout de code à rajouter stp? Car je ne comprends pas ce que tu as dit en fait
Ba justement le pb c'est que j'ai bien un id dans la table membre qui est forcément lié à un login.
Mais justement le $_SESSION ['id'] n'est pas reconnu.
Notice: Undefined index: id in C:\Program Files\wamp\www\espace.php on line 72
en remettant des $_SESSION['id'] partout, il ne le comprend pas (undefinied index)
Ah oui exact, j'ai bien un session['id'] dans ma requète, mais du coup quand je remplace le login par le id dans le $_SESSION, j'ai une erreur me disant que mon id n'est pas défini (Undefined index).
EN fait pour résumé , j'ai recopier exactement le membre.php, le lire.php, le envoyer.php et le supprimer.php.
Ce qui diffère est mon formulaire d'enregistrement, dans lequel je stocke ma variable login dans un champ login de ma table membres.
Du coup la seule ligne que j'ai modifié dans tous les .php présent sur ce site est :
$sql = 'SELECT titre, date, membres.login as expediteur, messages.id as id_message FROM messages, membres WHERE id_destinataire="'.$_SESSION['login'].'" AND id_expediteur=membres.id ORDER BY date DESC'; et non un $_SeSSION['id'] comme tu l'as dit car il ne comprends pas le $_SESSION['id'].
Je ne comprends pas pourquoi le id_destinataire n'est pas bon et pourquoi je devrais avoir un chiffre.
En faisant un print_r de $_SESSION, j'obtiens :
Array ( [login] => demo ).
Ca m'a l'air d'être correct non?