Gå til innhold

Kan man se hvem som er logget inn på en side?


Anbefalte innlegg

Hvorfor blir NOW(); til 0000-00-00 00:00:00 når jeg bruker queryen under? (row'en tid er datetime)

 

mysql_query("INSERT INTO logg (brukernavn,tid,ipadresse) VALUES ('$brukernavn','NOW()','$ip')"))

Fjern fnuttene rund NOW(), du. ;)

 

 

Bruk denne:

 

mysql_query("INSERT INTO logg (brukernavn,tid,ipadresse) VALUES ('$brukernavn',NOW(),'$ip')"))

 

:)

Lenke til kommentar
Videoannonse
Annonse

Jeg vil gjerne gjøre det slik at dersom brukeren har vært innlogget tidligere er det ikke nødvendig å lage en ny row med samme ip og brukernavn bare forskjellig tid og dato...Jeg vil altså gjøre det slik at dersom brukernavnet allerede finnes i tabellen så skal den bare oppdatere row'en der brukernavn = '$brukernavn', slik at det ikke blir lagt til en ny row for hver gang brukeren logger seg inn. Noen som har forslag til hvordan jeg gjør dette?

Lenke til kommentar

Sjekk først om raden finnes, gjør den ikke det så sender du en ny query som setter inn data - ellers så oppdaterer du data.

 

Du kan eventuelt gjøre brukernavnet unikt, og dersom spørringen ikke kunne oppdatere så legger du til en ny linje. Da holder det med en UPDATE og en INSERT.

Lenke til kommentar

Hehe... jeg er en av de som sjelden "leverer" koder, men jeg kommer gjerne med forslag og tips. Grunnen til dette er fordi jeg jobber som programmerer, og vil noen ha ferdige koder kan de kontaktet et programmeringsselskap.

 

Bruk f.eks. phpMyAdmin for å gjøre feltet brukernavn uniqe. Så lager du en spørring i scriptet ditt som INSERT'er brukernavn tid osv.

 

Ved insert og update spørringer er det viktig at du sjekker at noe virkelig ble lagret. Dette gjør du med mysql_affected_rows(). Dersom ingen rader ble lagret så setter sender du en UPDATE spørring.

 

Eks:

 

$query = "INSERT into ...";

$result = mysql_query($query);

if(mysql_affected_rows() < 1)

{

$query = "UPDATE ...";

$result = mysql_query($query);

}

Lenke til kommentar

Får bare meldingen feil brukernavn eller passord på koden under...hvorfor?

 

<?php
session_start();
include("config.php");

$link = mysql_connect($mySQLhost, $mySQLuser, $mySQLpass) or die("Could not connect: " . mysql_error());
mysql_select_db($mySQLdb);

$brukernavn = strtolower($_POST['brukernavn']);
$pass =  md5($_POST['pass']);
$ip = $_SERVER['REMOTE_ADDR'];

if(!$_POST['brukernavn']){
$feil = 1;
echo"Du skrev ikke inn noe brukernavn!<br/>";
}

if(!$_POST['pass']){
$feil = 1;
echo"Du skrev ikke inn noe passord!<br/>";
}

$q =("SELECT uid, passord FROM users WHERE brukernavn = '$brukernavn'");
$row = mysql_fetch_array(mysql_query($q));

  if ($row['passord'] == $pass and $row['uid'] !=="" ){
  $feil = 1;
 echo"Din konto er ikke aktivert!";
 }

if  ($row['passord'] == $pass and $row['uid'] == "") {


 if (mysql_query("INSERT INTO logg (brukernavn,tid,ipadresse) VALUES ('$brukernavn',NOW(),'$ip')")){
 $_SESSION["bruker"] = $brukernavn;

 header("Location: http://nisselink.sjurvaage.com/minside/");
}  }

if(mysql_affected_rows() < 1){

if(mysql_query("UPDATE logg SET dato = NOW(), ip = '$ip' WHERE brukernavn = '$brukernavn'")){
$_SESSION["bruker"] = $brukernavn;

 header("Location: http://nisselink.sjurvaage.com/minside/");

}
}

if ($feil != 1){ 
echo "Feil brukernavn eller passord.<p><a href='http://nisselink.sjurvaage.com/loginn/'>Prøv igjen!</a></p>"; }

mysql_close($link);
?>

Endret av Tha_Zaynt
Lenke til kommentar

beklager hvis jeg er litt innpåsliten, men jeg får altså ikke dette til å funke...problemet er fortsatt at jeg får feilmeldingen feil brukernavn eller passord når jeg logger inn 2 ganger etter hverandre...update queryen slår altså ikke til, men forårsaker en eller annen feil siden variabelen $feil blir til en..

Lenke til kommentar

prøv med to likhetstegn i if-setningen..

vet ikke om det kommer til å funke, men jeg tror du må brkue to for at den ikke bare skal forandre $feil, men sjekke om den er lik 1..

litt rotete forklart, og rett meg om jeg tar feil her..

Lenke til kommentar
Sjekk først om raden finnes, gjør den ikke det så sender du en ny query som setter inn data - ellers så oppdaterer du data.

 

Du kan eventuelt gjøre brukernavnet unikt, og dersom spørringen ikke kunne oppdatere så legger du til en ny linje. Da holder det med en UPDATE og en INSERT.

eller bruke REPLACE into, som overskriver hvis det finnes, gitt en unik id match.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...