Timestamp & create row in mysql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bawo Sambo

Bawo Sambo

21/01/2012 11:43:27
Quote Anchor link
De bedoeling is als een gebruiker inlogd een timer uit te laten voeren.
wat ervoor zorgt dat als hij langer dan 10 minuten niet nog een keer heeft ingelogd. een melding verschijnt van dat die niet heeft inglogd in het ziekkenhuis.
want de bedoeling is om een in te loggen in een parkeergarage en daarna van parkeergarage naar de ziekenhuis als er tussen garage en ziekenhuis langer duurt dan 10 min verschijnt dus die melding.

ik denk dat dit zou kunnen met sessions, time(), timestamp en mqsql query
maar ik kom er niet uit

naast de member database met gebruikersnaam en wachtwoord
heb ik dus ook een aparte database aangemaakt met tabel en velden zoals
id- naam- tijd-binnenkomst

nu moet er gezorgt worden als de gebruiker automatisch een nieuwe regels creeert word in het tabel
als die inlogd word de tijd ook opgeslagen van de garage en ziekenhuis en als die niet ingelogd heeft wil ik dat in veld aangegeven hebben

wat ik nu voor me heb
inlog systeem gekoppeld aan de database
ik kan succesvol inloggen met de gebruiker
ik ben dus al in de garage

nu nog een timer. en er voor zorgen dat mijn gegevens word opgeslagen in mijn phpmyadmin database
ik ben een beginner. ik hoop dat jullie concrete en goede voorbeelden kunnen geven


Alvast bedankt!
 
PHP hulp

PHP hulp

27/12/2024 09:09:30
 
Noppes Homeland

Noppes Homeland

21/01/2012 12:00:03
Quote Anchor link
Maak gebruik van een DATETIME veld ipv TIMESTAMP!!

En bekijk dan eens de datum en tijd functies van je database die je ter beschikking staan. Uiteraard kan je ook het forum afzoeken op INTERVAL.

Oh phpmyadmin is geen database!! Je moet het hebben over MySQL. Tip gebruik de InnoDB engine ipv MyIsam.
 
Bawo Sambo

Bawo Sambo

21/01/2012 20:58:02
Quote Anchor link
Ja goed maar.
hoe maak ik een script waar nieuwe regels aan mijn tijd tabel worden toegevoegd als mijn gebruiker inlogd en waar zet ik dat dan neer of moet ik een aparte bestand aanmaken.

ik heb 3 PHP bestanden.

main_login.php

<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form name="form1" method="post" action="checklogin.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3"><strong>Member Login </strong></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="password" id="mypassword"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>

checklogin.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
ob_start();
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name="slagboom"; // Database name
$tbl_name="medewerkers"; // Table name

// Connect to server and select databse.

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];


// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");

$tijd = time(); // overnemen tijd
insert into `tijden`  where id='$myusername'

header("location:login_success.php");
}

else {
echo "Wrong Username or Password";
}


ob_end_flush();
?>


login_succes.php

// Check if session is not registered , redirect back to main page.
// Put this code in first line of web page.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
session_start();
if(!session_is_registered(myusername)){
header("location:main_login.php");
}

?>


<html>
<body>
Login Successful
</body>
</html>
 
Noppes Homeland

Noppes Homeland

21/01/2012 21:16:46
Quote Anchor link
Ik denk dat jij je code eerst maar eens uptodate moet maken

zomaar een paar onderwerpen:
- controles en validaties
- foutafhandeling
- sql injectie
- weg met addslashes / stripslashes
- weg met ob_ functies
- na een header volgt altijd een exit
- $_SESSION ipv de session functies
- geen overbodige variabelen aanmaken
- geen variabelen gebruiken voor: database, tabel en veldnamen
- php variabelen buiten quotes
- geen wachtwoorden opslaan in $_SESSION / $_COOKIES

Komt er eigenlijk op neer dat je beter opnieuw kunt beginnen.
 
Bawo Sambo

Bawo Sambo

21/01/2012 21:45:30
Quote Anchor link
oh dat is lastig want ik moet deze donderdag opleveren
 
Obelix Idefix

Obelix Idefix

21/01/2012 21:52:04
Quote Anchor link
Bawo Sambo op 21/01/2012 21:45:30:
oh dat is lastig want ik moet deze donderdag opleveren

Opleveren? Is het een schoolopdracht of aan een klant?
Hoe dan ook --> neem de adviezen van Noppes serieus. Het script wat er nu staat, zou ik direct gaan herschrijven. Daar zitten veel te veel fouten in. Denk dat een klant / docent daar ook niet op zit te wachten.


Om rijen in te voegen in een database zou je kunnen kijken naar 'insert'.
En je zult dus nog een query moeten maken om te controleren of de tijd verstreken is.
Gewijzigd op 21/01/2012 21:55:30 door Obelix Idefix
 
Bawo Sambo

Bawo Sambo

21/01/2012 22:12:29
Quote Anchor link
Obelix en Idefix op 21/01/2012 21:52:04:
Bawo Sambo op 21/01/2012 21:45:30:
oh dat is lastig want ik moet deze donderdag opleveren

Opleveren? Is het een schoolopdracht of aan een klant?


ja het is een schoolopdracht maar ja ik heb dus heel wat werk te doen. ik ben ook een beginner dus ik snap nog niet alles. ik heb 2 lessen gekregen over php basics en dat was het.
 
Obelix Idefix

Obelix Idefix

21/01/2012 22:19:28
Quote Anchor link
k hoop niet dat je het op deze manier aangeleerd krijgt op school, anders wordt het misschien tijd dat je docent(e) een opfriscursus gaat volgen.... ;-)
 
Jeroen VD

Jeroen VD

21/01/2012 22:31:40
Quote Anchor link
2 lessen en dan al zon opdracht? Na mijn tweede les begonnen wij met if-then procedures...
 
Bawo Sambo

Bawo Sambo

21/01/2012 22:58:49
Quote Anchor link
nja precies dus ik zit niet diep na te denken
hoe ik dit ga oplossen voor donderdag.

hebben jullie nog tips voor mij, wat ik zou kunnen doen?
 
Jeroen VD

Jeroen VD

21/01/2012 23:01:57
Quote Anchor link
Snap in ieder geval:

- de verschillende variabelensoorten
- vergelijkingen
- iteraties

Ga dan pas verder met de basis van mysql

Toevoeging op 21/01/2012 23:58:00:

En natuurlijk html, maar ik ga ervan uit dat je dat voldoende beheerst
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.