automatisch data in database opslaan
ik zou graag een soort stats maken met volgende gegevens:
ip,browser,date en time, ik heb dit in volgende code gegoten, maar dit lukt niet (ik weet ook niet of het mogelijk is)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?
$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
$date=date("d.m.y");
$time=date("H:i:s");
mysql_connect("localhost", "username", "pass") or die(mysql_error());
$db = mysql_select_db("stats") or die(mysql_error());
$result = mysql_query("SELECT * FROM stats") or die(mysql_error());
$query="INSERT INTO stats(ip,browser,date,time)";
?>
$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
$date=date("d.m.y");
$time=date("H:i:s");
mysql_connect("localhost", "username", "pass") or die(mysql_error());
$db = mysql_select_db("stats") or die(mysql_error());
$result = mysql_query("SELECT * FROM stats") or die(mysql_error());
$query="INSERT INTO stats(ip,browser,date,time)";
?>
weet iemand wat er mis is?
dit moet worden:
dit is men mysql "code"
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
CREATE TABLE `stats` (
`id` INT NOT NULL ,
`browser` VARCHAR( 200 ) NOT NULL ,
`system` VARCHAR( 200 ) NOT NULL ,
`ip` VARCHAR( 200 ) NOT NULL ,
`date` DATE NOT NULL ,
`time` TIME NOT NULL ,
PRIMARY KEY ( `id` )
) TYPE = MYISAM ;
`id` INT NOT NULL ,
`browser` VARCHAR( 200 ) NOT NULL ,
`system` VARCHAR( 200 ) NOT NULL ,
`ip` VARCHAR( 200 ) NOT NULL ,
`date` DATE NOT NULL ,
`time` TIME NOT NULL ,
PRIMARY KEY ( `id` )
) TYPE = MYISAM ;
Gewijzigd op 01/01/1970 01:00:00 door wouter reyntjens
Voor het invoeren van de datum (en tijd) van het heden, kun je ook de databasefunctie NOW() gebruiken. En wanneer je zowel de datum als de tijd van het heden wilt opslaan, waarom doe je dat dan niet in 1 veld van het type DATETIME?
ik heb voor de zekerheid date en time eens weggelaten om te kijken wat er ging gebeuren, maar tot men verbazing gebeurt er niets:s de insert gebeurt niet! Ziet iemand nog een fout ?
Waar voer je de query uit? Het staat in elk geval niet in bovenstaande code. En natuurlijk controleren of het is gelukt!
de bedoeling is de volgende:
een bezoeker komt op men site en zonder dat die het weet wordt de bovenstaande info opgeslaan in de database, gaat dit?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
mysql_connect("localhost", "username", "pass") or die(mysql_error());
$db = mysql_select_db("stats") or die(mysql_error());
$query="INSERT INTO stats(ip,browser,date,time) VALUES('".$ip. "' '".$browser. "NOW())";
$res=mysql_query($query);
?>
dit is dus men database en ik het van bovenstaande code date en time samengegooid in datetime met zelfde naam id database
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
mysql_connect("localhost", "username", "pass") or die(mysql_error());
$db = mysql_select_db("stats") or die(mysql_error());
$query="INSERT INTO stats(ip,browser,datum,time) VALUES('".$ip. "' '".$browser. "NOW())";
$res=mysql_query($query)or die(mysql_query());
?>
$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
mysql_connect("localhost", "username", "pass") or die(mysql_error());
$db = mysql_select_db("stats") or die(mysql_error());
$query="INSERT INTO stats(ip,browser,datum,time) VALUES('".$ip. "' '".$browser. "NOW())";
$res=mysql_query($query)or die(mysql_query());
?>
kheb het aangepast zoals je zei en ik heb men database ook aangepast, datum en time terug gezet met elk datetime als waarde, wat moet ik nog veranderen?
Maak 1 veld type DATETIME dat je datumtijd noemt.
iemand een suggestie?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
mysql_connect("localhost", "username", "pass") or die(mysql_error());
$db = mysql_select_db("stats") or die(mysql_error());
$query="INSERT INTO stats(ip,browser) VALUES('".$ip. "' '".$browser. "";
$res=mysql_query($query)or die(mysql_query());
?>
$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
mysql_connect("localhost", "username", "pass") or die(mysql_error());
$db = mysql_select_db("stats") or die(mysql_error());
$query="INSERT INTO stats(ip,browser) VALUES('".$ip. "' '".$browser. "";
$res=mysql_query($query)or die(mysql_query());
?>
edit:
Dus in de dataabse moet je een veld maken met karakter ipv Varchar, DATETIME, dan genereert hij de datum en tijd automatisch wanneer je iets opslaat in de DB...
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
mysql_connect("localhost", "username", "pass") or die(mysql_error());
$db = mysql_select_db("stats") or die(mysql_error());
$query="INSERT INTO stats(ip,browser,datetime) VALUES('".$ip. "' '".$browser. "NOW())";
$res=mysql_query($query)or die(mysql_query());
?>
$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
mysql_connect("localhost", "username", "pass") or die(mysql_error());
$db = mysql_select_db("stats") or die(mysql_error());
$query="INSERT INTO stats(ip,browser,datetime) VALUES('".$ip. "' '".$browser. "NOW())";
$res=mysql_query($query)or die(mysql_query());
?>
ipv
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
mysql_connect("localhost", "username", "pass") or die(mysql_error());
$db = mysql_select_db("stats") or die(mysql_error());
$query="INSERT INTO stats(ip,browser,datum,time) VALUES('".$ip. "' '".$browser. "NOW())";
$res=mysql_query($query)or die(mysql_query());
?>
$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
mysql_connect("localhost", "username", "pass") or die(mysql_error());
$db = mysql_select_db("stats") or die(mysql_error());
$query="INSERT INTO stats(ip,browser,datum,time) VALUES('".$ip. "' '".$browser. "NOW())";
$res=mysql_query($query)or die(mysql_query());
?>
De goede query is.
$query="INSERT INTO stats(ip,browser,datum) VALUES('".$ip. "' '".$browser. "NOW())";
dat zeg ik...
Klaasjan:
Nee kan ook niet.
De goede query is.
$query="INSERT INTO stats(ip,browser,datum) VALUES('".$ip. "' '".$browser. "NOW())";
De goede query is.
$query="INSERT INTO stats(ip,browser,datum) VALUES('".$ip. "' '".$browser. "NOW())";
Wat denk je van:
$query = "INSERT INTO stats (ip, browser, datum) VALUES ('" . $ip . "', '" . $browser . "', NOW())";
Let dan vooral op de . en , en '
nou joh idd :) :) die zag ik helemaal over het spreekwoordelijke hoofd.. :0