Top
Phpuniverset logo
 

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Forside Forum PHP, mysql online / offline memberlist

online / offline memberlist


 

online / offline memberlist

stengaard  

hej jeg har et problem ved at få dette til at virke... har et script der skulle sætte   
brugeren i status 1 når personen logger ind og i status 0 når brugeren logger af igen, men
den kommer ikke længere til loggerin.php scriptet så går den i sort

min table.

CREATE TABLE `login` (
  `ID` int(11) NOT NULL auto_increment,
  `user` varchar(50) NOT NULL default '',
  `pass` varchar(25) NOT NULL default '',
  `ip` varchar(15) NOT NULL default '',
  `navn` varchar(51) NOT NULL default 'Ikke oplyst',
  `email` varchar(50) NOT NULL default '',
  `status` char(1) NOT NULL default '',
  `timestamp` timestamp(14) NOT NULL,
  PRIMARY KEY  (`ID`),
  UNIQUE KEY `idx_brugere` (`user`)
) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=10 ;

min loggerin.php

<?php

session_start
();
if (
$_POST['bruger'] == "" AND $_POST['pass'] == "") {
$_SESSION['status'] = "nobrugerpass";
print(
"<script language='javascript'>
location.href='login.php';
</script>"
);
}
elseif (
$_POST['bruger'] == "") {
$_SESSION['status'] = "nobruger";
print(
"<script language='javascript'>
location.href='login.php';
</script>"
);
}
elseif (
$_POST['pass'] == "") {
$_SESSION['status'] = "nopass";
print(
"<script language='javascript'>
location.href='login.php';
</script>"
);
}
else
{
include(
"access.php");
$query "SELECT user, pass FROM login  WHERE user = '".$_POST['bruger']."' AND pass=
'"
.$_POST['pass']."'";
$result mysql_query($query)or die("MySQL fejl: " mysql_error());
$log mysql_fetch_array($result);
if (
$_POST['bruger'] == $log['user'] && $_POST['pass'] == $log['pass']) {
$_SESSION['status'] = "login";
$_SESSION['navn'] = $_POST['bruger'];
//sætter status til at være 1, = at brugeren er online.
$status mysql_query("UPDATE login SET status = '1' WHERE user = $_SESSION['navn']") or
die(
"MySQL fejl: " mysql_error());
print(
"<script language='javascript'>
location.href='index.php';
</script>"
);
}
else
{
$_SESSION['status'] = "fejl";
print(
"<script language='javascript'>
location.href='login.php';
</script>"
);
}
}

?>




Dato : 12.11.2005, 11:08

Visninger : 1763

Points : 100

 

Lav 
$status = mysql_query("UPDATE login SET status = '1' WHERE user = $_SESSION['navn']") or
die("MySQL fejl: " . mysql_error()); 

om til
$status = mysql_query("UPDATE login SET status = 1 WHERE user = '$_SESSION['navn']'") or
die("MySQL fejl: " . mysql_error()); 

og brug header("location: side.php"); i stedet for javascript.


Dato : 12.11.2005, 12:40

Kommentar af : Nicolas Frantzen  

 

hvordan skal den forstås

og brug header("location: side.php"); i stedet for javascript. 


Dato : 12.11.2005, 12:45

Kommentar af : stengaard  

 

sådan her 

header("location: index.php");


Dato : 12.11.2005, 12:46

Kommentar af : stengaard  

 

det virker ikke den gør ikke noget i tablen angående status 1 

<?php

session_start
();
if (
$_POST['bruger'] == "" AND $_POST['pass'] == "") {
$_SESSION['status'] = "nobrugerpass";
header("location: login.php");
}
elseif (
$_POST['bruger'] == "") {
$_SESSION['status'] = "nobruger";
header("location: login.php");
}
elseif (
$_POST['pass'] == "") {
$_SESSION['status'] = "nopass";
header("location: login.php");
}
else
{
include(
"access.php");
$query "SELECT user, pass FROM login  WHERE user = '".$_POST['bruger']."' AND pass=
'"
.$_POST['pass']."'";
$result mysql_query($query)or die("MySQL fejl: " mysql_error());
$log mysql_fetch_array($result);
if (
$_POST['bruger'] == $log['user'] && $_POST['pass'] == $log['pass']) {
$_SESSION['status'] = "login";
$_SESSION['navn'] = $_POST['bruger'];
//sætter status til at være 1, = at brugeren er online.
$status mysql_query("UPDATE login SET status = '1' WHERE user = '$_SESSION['navn']'") or
die(
"MySQL fejl: " mysql_error());
header("location: index.php"); 
}
else
{
$_SESSION['status'] = "fejl";
header("location: login.php");
}
}

?>


Dato : 15.11.2005, 20:35

Kommentar af : stengaard  

 

Jeg sagde:

lav 
$status = mysql_query("UPDATE login SET status = '1' WHERE user = '$_SESSION['navn']'") or
die("MySQL fejl: " . mysql_error()); 

om til

$status = mysql_query("UPDATE login SET status = 1 WHERE user = '$_SESSION['navn']'") or
die("MySQL fejl: " . mysql_error()); 


Du kan ikke sætte en string ind i et integer felt i databasen, derfor skal der ikke være
nogle '' omkring tallet.


Dato : 24.11.2005, 13:00

Kommentar af : Nicolas Frantzen  

 

har fået det til at virke

Dato : 24.11.2005, 14:31

Godkendt svar af : stengaard  

 

Nå.

Dato : 24.11.2005, 15:05

Kommentar af : Nicolas Frantzen  




Login for at skrive et indlæg :



   Brugernavn

Password
 

+ Opret en ny Bruger, Klik her

+ Glemt brugernavn/password

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk

Bund