Avatar billede tlunde Nybegynder
05. september 2002 - 21:20 Der er 8 kommentarer og
1 løsning

Fejl MySQL...

Hejsa, jeg får en fejl i linie 21 i denne kode...kan nogen se fejlen?

<?
include("config.php");

db_connect();
$query = mysql_query("SELECT brugernavn, password FROM community WHERE brugernavn='$_POST[brugernavn]' AND password='$_POST[password]'");
$antal = mysql_num_rows($query);

if($antal == 0) {
header("Location: fejl.php?fejl=login");
}

if ($_POST[autologin] == "ok") {
setcookie("brugernavn", "$brugernavn", time()+1209600);
setcookie("password", "$password", time()+1209600);
    session_start();
    session_register("brugernavn");
    session_register("password");

db_connect();
$query = mysql_query("SELECT logins FROM brugere WHERE brugernavn='$brugernavn' AND password='$password'");
while($row = mysql_fetch_array($query)) {
    $logon1 = $row[logins] + 1;

mysql_query("UPDATE brugere SET logins = '$logon1' WHERE brugernavn = '$brugernavn' AND password = '$password'") or die(mysql_error());
    header("Location:bruger.php");
}
}

else
{
    session_start();
    session_register("brugernavn");
    session_register("password");

db_connect();
$query = mysql_query("SELECT logins FROM community WHERE brugernavn='$_POST[brugernavn]' AND password='$_POST[password]'");
while($row = mysql_fetch_array($query)) {
    $logon1 = $row[logins] + 1;

mysql_query("UPDATE community SET logins = '$logon1' WHERE brugernavn = '$_POST[brugernavn]' AND password = '$_POST[password]'") or die(mysql_error());
}

    header("Location: bruger.php");

}
?>
Avatar billede dmcn Praktikant
05. september 2002 - 21:24 #1
Et hint: I stedet for at selecte, øge med en og update, så lur lidt på følgende:
UPDATE tabel SET felt = felt + 1
Du sparer en del SQL, og får måske fjernet fejlen. ;)
Avatar billede tlunde Nybegynder
05. september 2002 - 21:24 #2
Test det her med test/test: http://www.thomaslunde.dk/site/demo/login.php

Det er når jeg slår autologin til den brokker sig, uden autologin logger den rigtigt nok på...
Avatar billede MrJ Praktikant
05. september 2002 - 21:24 #3
hvad er fejl meddelelsen?
Avatar billede tlunde Nybegynder
05. september 2002 - 21:26 #4
Ja, det har du ret i n0rmality...det sparer da ca. 3 linier!
Avatar billede MrJ Praktikant
05. september 2002 - 21:26 #5
ok
Avatar billede tlunde Nybegynder
05. september 2002 - 21:26 #6
Her er fejlen den kommer med:

Warning: Supplied argument is not a valid MySQL result resource in e:\www\thomaslunde.dk\home\site\demo\login_ok.php on line 21
Avatar billede dmcn Praktikant
05. september 2002 - 21:29 #7
Det er ikke så meget linietallet, som det er generel god optimeringsstil. Jo færre mysql-query's, jo bedre.
Avatar billede tlunde Nybegynder
05. september 2002 - 21:30 #8
Lige en anden ting. Når jeg har lavet denne query:
$query = mysql_query("SELECT logins FROM brugere WHERE brugernavn='$brugernavn' AND password='$password'");

hvad betyder så præsist det efterfølgende:
while($row = mysql_fetch_array($query)) {
Avatar billede tlunde Nybegynder
07. september 2002 - 09:04 #9
nå, åbenbart ikke meget hjælp at hente her!!
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
Computerworld tilbyder specialiserede kurser i database-management

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