Besten

Op mijn site heb ik een inlogsysteem gemaakt (php/mysql) maar ik wil graag weten wie ingelogd is geweest en hoe vaak.
Hoe krijg ik dit voor elkaar

Bij voorbaat dank.
Jan van der veeken
Zonder die functie wordt er niks uitgevoerd. En je UPDATE query klopt niet.
Ik krijg een foutmelding voor onderstaande regel, wat is er mis?

<?php

$db = msqli_connect("localhost", "root", "", "ambicius");


Het staat in db.php
Het is handig om in het geval van foutmeldingen de foutmelding te laten zien.

Maar in dit geval zie ik dat je de functienaam msqli_connect() verkeerd geschreven hebt. Dat zou de foutmelding dan ook wel moeten laten weten, omdat je genoemde functie (msqli_connect) niet bestaat.
Dit is stom nu werkt het wel, bedankt.
Ben mij nu aan het oriënteren op php en ga het nog leuk vinden.

Jan

[size=xsmall]Toevoeging op 03/06/2016 12:44:32:[/size]

ben alweer begonnen met de update van de tijd en datum, mijn regel in de tabel is:

mysqli_query ("UPDATE 'ambicius' SET time = current_timestamp"); ambicius is de tabel en time de regel.

Dit is mijn login.php

<?php
session_start();
if(isset($_POST['login'])) {
include_once("db.php");

$email = strip_tags($_POST['email']);
$password = strip_tags($_POST['password']);

$email = stripslashes($email);
$password = stripslashes($password);

$email = mysqli_real_escape_string($db, $email);
$password = mysqli_real_escape_string($db, $password);

$sql = "SELECT * FROM ambicius WHERE email='$email' limit 1";
mysqli_query ("UPDATE `ambicius` SET time = current_timestamp");

$query = mysqli_query($db, $sql);
$row = mysqli_fetch_array($query);
$id = $row['id'];
$db_password = $row['password'];
if($password == $db_password) {
$_session['emailadres'] = $emailadres;
$_session['id'] = $id;
header('location: muziek.php');

} else {
echo"Je hebt niet de goede gegevens ingevuld!";

}
}
?>

Weet het niet meer.
Jan
functies in MySQL zijn altijd in hoofdletters geschreven en te herkennen aan de haakjes aan het uiteinde:
CURRENT_TIMESTAMP()

Als je al op 'current_timestamp' had gegoogled had het al moeten opvallen.

Verder raad ik hard af om password onbeveiligd op te slaan!!!
En na location-header()'s horen altijd nog een exit;
Hallo
Ben op W3schools aan het oefenen geweest en komt tot onderstaande regel.
mysqli_query INSERT INTO 'login'(user_id, time) VALUES ($id, NOW());

Mijn 2e tabel is login met (user_id int ai, time datetime)
In mijn hoofdtabel ambicius heb ik (id int ai, email varchar, wachtwoord varchar)

Toch werkt het nog niet
Groet Jan
Het is niet zo dat we hier een glazen bol hebben ;-)

Met iets als 'werkt niet' kunnen we weinig. Vertel op zijn minst wat er wel gebeurt, wat je verwacht, en wat je precies doet.
In de regel datetime moet de datum komen dat het betreffende koorlid heeft ingelogd zodat ik kan zien wie er onlangs heeft ingelogd.
Op het moment dat ik inlog en uitlog en ga daarna in de tabel login kijken dan is er niets gebeurd.
De regel heb ik gezet net na de regel: $_SESSION=[id] = $id;
zie onder:
$sql = "SELECT * FROM ambicius WHERE email='$email' limit 1";

$query = mysqli_query($db, $sql);
$row = mysqli_fetch_array($query);
$id = $row['id'];
$db_password = $row['password'];

if($password == $db_password) {
$_session['emailadres'] = $emailadres;
$_session['id'] = $id;
$sql = mysqli_query (INSERT INTO 'login'(user_id, time) VALUES ($id, NOW()));
header('location: muziek.php');

} else {
echo"Je hebt niet de goede gegevens ingevuld!";

}
}

 $sql = mysqli_query (INSERT INTO 'login'(user_id, time) VALUES ($id, NOW()));

Strings horen tussen dubbele-quotes.

En verder vind vraag ik me af of je mijn vorige post goed hebt gelezen.

Reageren