Avatar billede codemanager Nybegynder
21. januar 2004 - 21:37 Der er 16 kommentarer og
1 løsning

Hvorfor virker dette ikke

Hey

skulle denne kode ikke virke

mysql_query("insert into Bruger (lastlogin) values ('$today') WHERE brugernavn = '$s_brugernavn'") or die (mysql_error());
Avatar billede erikjacobsen Ekspert
21. januar 2004 - 21:39 #1
Nej, du mener måske
  mysql_query("update Bruger set lastlogin='$today' WHERE brugernavn = '$s_brugernavn'") or die (mysql_error());
Avatar billede codemanager Nybegynder
21. januar 2004 - 21:41 #2
hmm ja måske men den opdater ikke

her er koden på hele filen

<?php
session_start();
include ("mysql_funktioner.php");
aabn_forbindelse_og_vaelgdb();

//henter felter fra "Bruger" hvor brugernavn er lig med det indtastede
$dotjek = mysql_query("SELECT brugernavn, password, admin  FROM Bruger WHERE brugernavn='$_POST[brugernavn]'") or die (mysql_error());

//Er der klikket på submit?
if(isset($_POST['brugernavn'], $_POST['password'])) {

//Laver "$brugertjek" for at hente de enkelte kolonners værdi
$brugertjek = mysql_fetch_object($dotjek);

//Hvis brugernavnet IKKE findes i "Bruger", sæt session "navne_fejl" og send brugeren tilbage
if($brugertjek->brugernavn != $_POST['brugernavn']) {
$_SESSION['navne_fejl'] = 1;
header("Location:../admin.php");
exit;
}
//brugernavnet fandtes, og session "brugernavn" sættes
$_SESSION['s_brugernavn'] = $_POST['brugernavn'];

//Hvis brugernavet er rigtig sættes lastlogin = med dagens dato og kl
$today = date("h:i d-m-Y");
  mysql_query("update Bruger set lastlogin='$today' WHERE brugernavn = '$s_brugernavn'") or die (mysql_error());


    //Hvis indtastet password IKKE er korrekt.
    if($brugertjek->password != ($_POST['password'])) {
    $_SESSION['password_fejl'] = 1;
    header("Location:../admin.php");
exit;
    //Både brugernavn og password stemte, så vi sætter endnu en session, "admin"
    //og giver den feltets værdi fra "Bruger" og redirecter til beskyttet side
    }else{
    $_SESSION['s_admin'] = $brugertjek->admin;
    header("Location:index.php");
exit;
    }
   

//Fjerner $dotjek fra ram
mysql_free_result($dotjek);

}
?>
Avatar billede erikjacobsen Ekspert
21. januar 2004 - 21:42 #3
Hvor kommer $s_brugernavn fra ?
Avatar billede codemanager Nybegynder
21. januar 2004 - 21:43 #4
//brugernavnet fandtes, og session "brugernavn" sættes
$_SESSION['s_brugernavn'] = $_POST['brugernavn'];
Avatar billede erikjacobsen Ekspert
21. januar 2004 - 21:45 #5
Så $s_brugernavn sættes ikke, eller hvad?
Avatar billede codemanager Nybegynder
21. januar 2004 - 21:46 #6
Jo den går for jeg kan godt log-in, men den ville ikke opdater lastlogin
Avatar billede erikjacobsen Ekspert
21. januar 2004 - 21:48 #7
Kan du ikke vise den linie, hvor $s_brugernavn får en værdi??
Avatar billede codemanager Nybegynder
21. januar 2004 - 21:49 #8
jamen det gør den her

//brugernavnet fandtes, og session "s_brugernavn" sættes
$_SESSION['s_brugernavn'] = $_POST['brugernavn'];
Avatar billede erikjacobsen Ekspert
21. januar 2004 - 21:51 #9
Nej, det gør den ikke. Hvis du bruger $s_brugernavn må du have en linie et sted hvor den får en værdi.
Avatar billede erikjacobsen Ekspert
21. januar 2004 - 21:52 #10
...men hvis det er fordi du slet ikke har den, kan du jo lige starte med at

  $s_brugernavn = $_SESSION['s_brugernavn'];
Avatar billede codemanager Nybegynder
21. januar 2004 - 21:54 #11
Her er hele siden

<?php
session_start();
include ("mysql_funktioner.php");
aabn_forbindelse_og_vaelgdb();

//henter felter fra "Bruger" hvor brugernavn er lig med det indtastede
$dotjek = mysql_query("SELECT brugernavn, password, admin  FROM Bruger WHERE brugernavn='$_POST[brugernavn]'") or die (mysql_error());

//Er der klikket på submit?
if(isset($_POST['brugernavn'], $_POST['password'])) {

//Laver "$brugertjek" for at hente de enkelte kolonners værdi
$brugertjek = mysql_fetch_object($dotjek);

//Hvis brugernavnet IKKE findes i "Bruger", sæt session "navne_fejl" og send brugeren tilbage
if($brugertjek->brugernavn != $_POST['brugernavn']) {
$_SESSION['navne_fejl'] = 1;
header("Location:../admin.php");
exit;
}
//brugernavnet fandtes, og session "brugernavn" sættes
$_SESSION['s_brugernavn'] = $_POST['brugernavn'];

//Hvis brugernavet er rigtig sættes lastlogin = med dagens dato og kl
$today = date("h:i d-m-Y");
  mysql_query("update Bruger set lastlogin='$today' WHERE brugernavn = '$s_brugernavn'") or die (mysql_error());


    //Hvis indtastet password IKKE er korrekt.
    if($brugertjek->password != ($_POST['password'])) {
    $_SESSION['password_fejl'] = 1;
    header("Location:../admin.php");
exit;
    //Både brugernavn og password stemte, så vi sætter endnu en session, "admin"
    //og giver den feltets værdi fra "Bruger" og redirecter til beskyttet side
    }else{
    $_SESSION['s_admin'] = $brugertjek->admin;
    header("Location:index.php");
exit;
    }
   

//Fjerner $dotjek fra ram
mysql_free_result($dotjek);

}
?>
Avatar billede codemanager Nybegynder
21. januar 2004 - 21:55 #12
Jeg må indrømme at jeg ikke er helt med
Avatar billede erikjacobsen Ekspert
21. januar 2004 - 22:15 #13
Problemet er sikkert bare at $s_brugernavn er tom. Det er det hele.
Avatar billede codemanager Nybegynder
21. januar 2004 - 22:31 #14
jamen den kan jo ikke være tom for når jeg logger videre til index, den skal man jo ikke havde lov og komme ind på hvis den er tom
Avatar billede erikjacobsen Ekspert
22. januar 2004 - 13:19 #15
Den er måske ikke tom på næste side, men nok på denne. Du har ikke tænkt at prøve
at skrive den, eller din sql-sætning ud, så du kan se det passer? Eller bare
indsætte den linie jeg gav dig?
Avatar billede tommya Nybegynder
23. januar 2004 - 13:47 #16
Problemet er at $s_brugernavn skal referes til som $_SESSION['s_brugernavn'] og ikke $s_brugernavn.

Linie hvor du opdatere ser derfor således ud:
mysql_query("update Bruger set lastlogin='$today' WHERE brugernavn = '" . $_SESSION['s_brugernavn'] . "'") or die (mysql_error());
Avatar billede codemanager Nybegynder
24. januar 2004 - 17:31 #17
Jeps nu virker det barium

sorry jeg først skriver nu men har haft lidt problemer med min profil
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