Avatar billede dj-meisner Nybegynder
16. juli 2005 - 20:32 Der er 17 kommentarer

PHP: Hvad gør jeg forkert?

Hey, hvad gør jeg forkert her?

<?php
session_start();
include("db.php");
$dato = date("U");
$tid = $dato -2;

$count = mysql_query("SELECT count(*) FROM  brugere WHERE timeout > $tid");

if ($count > 0){

$sdsd = mysql_query("SELECT * FROM online WHERE date > $tid");
$zzz = mysql_fetch_array($sdsd);
if ($zzz['bruger'] != $_SESSION['brugernavn']){

echo "<script>alert('$zzz[bruger] er logget på'); </script>";

}

}
?><script>setTimeout("location.reload(true)",2000);</script>


Den skal udskrive når en bruger logger på!
Avatar billede dj-meisner Nybegynder
16. juli 2005 - 20:32 #1
tabel online

CREATE TABLE `online` (
  `id` int(4) NOT NULL auto_increment,
  `bruger` varchar(200) NOT NULL default '',
  `date` varchar(200) NOT NULL default '',
  `ip` varchar(200) NOT NULL default '',
  UNIQUE KEY `id` (`id`)
) TYPE=MyISAM AUTO_INCREMENT=19 ;


også tabellen brugere:
CREATE TABLE `brugere` (
  `id` int(4) NOT NULL auto_increment,
  `brugernavn` varchar(200) NOT NULL default '',
  `kodeord` varchar(200) NOT NULL default '',
  `online` varchar(200) NOT NULL default '',
  `clothes` varchar(200) NOT NULL default '1',
  `haar` varchar(200) NOT NULL default '1',
  `tilbehor` varchar(200) NOT NULL default '1',
  `oprettet` varchar(200) NOT NULL default '',
  `timer` int(11) NOT NULL default '0',
  `motrikker` int(11) NOT NULL default '0',
  `topid` varchar(200) NOT NULL default '0',
  `leftid` varchar(200) NOT NULL default '0',
  `rum` varchar(200) NOT NULL default '2.jpg',
  `feltid` varchar(200) NOT NULL default '0',
  `kon` varchar(200) NOT NULL default '',
  `zindex` varchar(200) NOT NULL default '',
  `email` varchar(200) NOT NULL default '',
  `navn` varchar(200) NOT NULL default '',
  `fritekst` text NOT NULL,
  `alder` varchar(200) NOT NULL default '',
  `timeout` varchar(200) NOT NULL default '',
  `timer2` varchar(200) NOT NULL default '',
  `point` varchar(200) NOT NULL default '',
  `bindex` varchar(200) NOT NULL default '',
  `status` varchar(200) NOT NULL default 'alm',
  `order` varchar(200) NOT NULL default '',
  `aktiv` varchar(200) NOT NULL default '',
  `humor` varchar(200) NOT NULL default 'glad',
  UNIQUE KEY `id` (`id`)
) TYPE=MyISAM AUTO_INCREMENT=34 ;
Avatar billede foxmulder58 Praktikant
16. juli 2005 - 20:46 #2
Jeg har anvendt dette login script:


<?php
if (!$_POST['send']) {
?>
<form name="login" action="<? $PHP_SELF; ?>" method="post">
Brugernavn!<br>
<input type="text" name="name" size="15" maxlength="30">
<br>
Adgangskode!<br>
<input type="password" name="pass" size="15" maxlength="30">
<br>
<input type="submit" name="send" value="Login">
<br>
</form>
<?php
} else {

  $query = mysql_query("SELECT * FROM user");

  $password = md5($_POST['pass']);

  while ($row = mysql_fetch_array ($query)) {
    $id = $row['id'];
    $check = $row['password'];
  }
  if ($password == md5($check)) {
    $_SESSION['id'] = $id;
    $_SESSION['login'] = 1;
    echo "Du er nu logget ind I vores system!";
  } else {
    echo "Du kunne ikke logge ind!";
  }
}
?>


jeg kan heller ikke se hvad linie 2 gør der på dit script "include("db.php");" er du sikker på den skal være dér??


mvh
mads
Avatar billede dj-meisner Nybegynder
16. juli 2005 - 20:56 #3
Hvad fanden snakker du om? Læs evt. spørgsmålet igen og forstå..
Avatar billede dj-meisner Nybegynder
16. juli 2005 - 20:57 #4
"Den skal udskrive når en bruger logger på!"
Avatar billede hmortensen Nybegynder
16. juli 2005 - 21:03 #5
Måske sådan her:
$count = mysql_result(mysql_query("SELECT count(*) FROM  brugere WHERE timeout > $tid"), 0);
Avatar billede dj-meisner Nybegynder
16. juli 2005 - 21:08 #6
ja, men nu udskriver den intet navn :S
Avatar billede foxmulder58 Praktikant
16. juli 2005 - 21:11 #7
ok den skal udskrive brugernavnet ! det er det du mener?


mvh
mads
Avatar billede hmortensen Nybegynder
16. juli 2005 - 21:11 #8
Du skal vel også ha det i en løkke:
while ($zzz = mysql_fetch_array($sdsd)) {
  if ($zzz['bruger'] != $_SESSION['brugernavn']){
    echo "<script>alert('$zzz[bruger] er logget på'); </script>";
  }
}
Avatar billede dj-meisner Nybegynder
16. juli 2005 - 21:18 #9
foxmulder58 - du ved ikke hvad du taler om.. Er det ikke bedre hmortensen hjælper? Hun ved nok lidt mere end dig. - Ikke for at genere!
Avatar billede dj-meisner Nybegynder
16. juli 2005 - 21:19 #10
Du udskriver den slet intet..
Kode.


<?php
session_start();
include("db.php");
$dato = date("U");
$tid = $dato -2;
$count = mysql_result(mysql_query("SELECT count(*) FROM  brugere WHERE timeout > $tid"), 0);

if ($count > 0){

$sdsd = mysql_query("SELECT * FROM online WHERE date > $tid");
$zzz = mysql_fetch_array($sdsd);
while ($zzz = mysql_fetch_array($sdsd)) {
  if ($zzz['bruger'] != $_SESSION['brugernavn']){
    echo "<script>alert('$zzz[bruger] er logget på'); </script>";
  }
}
}
?><script>setTimeout("location.reload(true)",2000);</script>
Avatar billede dj-meisner Nybegynder
16. juli 2005 - 21:22 #11
Doh, skal nok lige slette $zzz :P 2sek
Avatar billede dj-meisner Nybegynder
16. juli 2005 - 21:24 #12
virker ikke :S
Avatar billede foxmulder58 Praktikant
16. juli 2005 - 21:24 #13
Tro iøvrigt du skal justere lidt på din attitude...mr. dj ...tror du ikke?
Avatar billede dj-meisner Nybegynder
16. juli 2005 - 21:24 #14
Nu udskriver den altså slet ikke noget.
Avatar billede dj-meisner Nybegynder
16. juli 2005 - 21:25 #15
fox, nej, siger bare du ikke skal komme og blande dig i et spørgsmål du ikke ved hvad svaret er til.

Du kommer med et login system lige pludselig?
Avatar billede hmortensen Nybegynder
16. juli 2005 - 21:26 #16
Jeg har ikke mere tid lige nu. Hvis der er ikke er kommet nogen løsning, vil jeg prøve at kigge på det i morgen.
Avatar billede foxmulder58 Praktikant
16. juli 2005 - 21:27 #17
nej det var bare et forslag til et login der udskrive "Du er nu logget ind" du kunne bare sige du ikke kan bruge dette. det er jo fair nok...men at starks dele øretæver ud i min karma er en smule overdrevent.


ha det godt!


mvh
Mads
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester