Date après session destroye qui s'enregistre pas

Résolu/Fermé
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017 - 2 mars 2014 à 00:38
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017 - 3 mars 2014 à 00:11
Bonjour,

Voici mon code :

<?php
$titre = "Déconnexion";
include("includes/debut.php");
?>
<h2> Déconnexion </h2><br />
<font size = "3">
<?php
if(!$is_registered){
echo '<b><font color="red">Erreur, vous n\'êtes pas connecté.</font></b><br/><br/>';
}
else
{
?>
<img src="" />
<br /><br />

<?php
session_destroy();
$sql = ("UPDATE membres SET derniereco='NOW()'  WHERE id = $ID"); 
?>

<b>Vous êtes maitenant déconnecté(e) de <font color="blue"><?php echo $nom; ?></font> ! Redirection...</b>

<head>
<meta http-equiv="refresh" content="2;url=index.php" />
</head>

<?php
}
?>
</font>
</div>
<?php
include("includes/bas.php");
?>


Alors voila mon souci,

J'ai mis cette ligne :

$sql = ("UPDATE membres SET derniereco='NOW()' WHERE id = $ID");

Pour enregistrer la date de la déconnexion du membre mais celle-là ne s'enregistre pas.
J'ai aucune erreur qui s'affiche ni rien.

Pouvez-vous m'aider ?

Merci par avance.

9 réponses

Utilisateur anonyme
2 mars 2014 à 01:26
Bonjour

Je n'ai pas analysé le reste de ton code, mais il ne faut pas mettre NOW() entre apostrophes. 'NOW()' entre apostrophes est une chaîne de caractères comme 'toto', alors que NOW() sans apostrophes est l'appel à une fonction.
0
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017
Modifié par Lucryio le 2/03/2014 à 10:57
j'ai essayé en mettant NOW(DATE) mais la date s'enregistre pas, vous avez une autre solution ?

j'ai essayé ça aussi :

<?php

session_destroy();
$req = $bdd->prepare('UPDATE membres(derniereco) VALUES(NOW())');
$req->closeCursor();

?>

mais la date s'enregistre toujours pas et pas d'erreur qui s'affiche à l'écran.
0
Utilisateur anonyme
2 mars 2014 à 16:52
C'était NOW() et non pas NOW(DATE)

Rassure-moi, cette requête, tu l'exécutes bien quelque part ? J'ai bien peur que non.
As-tu une idée de ce que ça veut dire exécuter une requête ?
0
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017
2 mars 2014 à 18:14
je comprend plus rien là.

Comment je doit m'y prendre pour que lorsque le membre se déconnecte la date s'enregistre dans la bdd ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
2 mars 2014 à 18:54
Réponds à ma question : as-tu une idée de ce que ça veut dire exécuter une requête ?
0
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017
2 mars 2014 à 18:59
Bin oui, elle execute la requête, en gros elle fait ce qu'on lui demande quoi.
0
Utilisateur anonyme
2 mars 2014 à 21:55
Qui exécute une requête ? Quelle instruction ? Je n'en vois pas dans ton code.
0
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017
2 mars 2014 à 23:39
En mettant ça :

$sql("INSERT INTO membres VALUES derniereco = NOW()");
$sql ("UPDATE membres SET derniereco = NOW()");
$sql->fetch();

J'obtiens l'erreur suivante :

Fatal error: Function name must be a string in C:\wamp\www\pokemon mania\deconnexion.php on line 18

soit cette ligne : $sql("INSERT INTO membres VALUES derniereco = NOW()");

Mais j'ai l'impression de me perdre de plus en plus la dedans.
0
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017
3 mars 2014 à 00:11
c'est bon, j'ai réussi je suis un vrai abruti moi j'ai voulu chercher trop loin pour loin.

Pour info si quelqu'un aurais le même souci, voile comment j'ai procédé :

<?php
$derniereco = $bdd->prepare("UPDATE membres SET derniereco = NOW() WHERE ID = :id");
$derniereco->bindValue(':id', $ID, PDO::PARAM_INT);
$derniereco->execute();
session_destroy();
?>
0