Avatar billede math01 Nybegynder
27. maj 2003 - 15:12 Der er 10 kommentarer

if findes FEJL ?

hejsa..

jeg er snart træt af PHP, hvad er det for noget mand ?

jeg prøver på at hive noget fra MYSQL database,

        $get_user = mysql_query("select * from ".$table['users']." where username='$username' AND password='$password'") or die(mysql_error());
        if (!mysql_num_rows($get_user)) echo "<font color=\"ff0040\">"._USERS_ERRORUSER."</font><br><a href=\"java script:history.go(-1)\">"._BACK."</a>";

hvis der ikke findes noget i databasen, så sku den vise USERS.ERROR osv. men den viser slet ikke noget ???

håber nogen kan hjælpe før computeren ender ude på gaden
Avatar billede exp Juniormester
27. maj 2003 - 15:16 #1
er dette variabler?:

_USERS_ERRORUSER
_BACK
Avatar billede nikolajdu Nybegynder
27. maj 2003 - 15:16 #2
Du har set din underscore foran dit variabelnavn?
Avatar billede ztyxx Nybegynder
27. maj 2003 - 15:18 #3
plus du mangler et par {} i din if()

$get_user = mysql_query("select * from ".$table['users']." where username='$username' AND password='$password'") or die(mysql_error());
        if (!mysql_num_rows($get_user)) {
            echo "<font color=\"ff0040\">".$USERS_ERRORUSER."</font><br><a href=\"java script:history.go(-1)\">".$BACK."</a>";
        }
Avatar billede jakoba Nybegynder
27. maj 2003 - 15:21 #4
prøv at skrive simpelt og overskueligt. så er det nemmere bårde for dig og for os at kikke på din kode og se hvad der evt er forklert eller risikabelt.

        $sql_kommando = "
            SELECT *
            FROM ".$table['users']."
            WHERE username='$username'
              AND password='$password'
        ";
        $get_user = mysql_query($sql_kommando) or die(mysql_error());
        if (mysql_num_rows($get_user) == 0) {
            echo "<font color=\"ff0040\">"
                ._USERS_ERRORUSER
                ."</font><br><a href=\"java script:history.go(-1)\">"
                ._BACK
                ."</a>";
        }

Det ser altsammen meget korrekt ud. Dog kender keg ikke de konstanter du benytter _USERS_ERRORUSER og _BACK.  Er du skikker på at de findes og at de indeholder noget.

mvh JakobA
Avatar billede math01 Nybegynder
27. maj 2003 - 15:21 #5
ik kig på det her den er ligemeget for jeg har kigget i HTML
der stod ikke font color osv.

echo "<font color=\"ff0040\">"._USERS_ERRORUSER."</font><br><a href=\"java script:history.go(-1)\">"._BACK."</a>";

og if betingelsen behøver ikke have {  } hvis det er en linje man skal bruge ?
Avatar billede math01 Nybegynder
27. maj 2003 - 15:24 #6
$sql_kommando = "
            SELECT *
            FROM ".$table['users']."
            WHERE username='$username'
              AND password='$password'
        ";
        $get_user = mysql_query($sql_kommando) or die(mysql_error());
        if (mysql_num_rows($get_user) == 0) {
            echo "test";
        }

stadigvæk intet vises, kan det skyldes i databasen ?
Avatar billede math01 Nybegynder
27. maj 2003 - 15:25 #7
$SQL = "
                SELECT *
                FROM ".$table['users']."
                  WHERE username='$username'
                    AND password='$password'
                ";
                   
        $get_user = mysql_query($SQL) or die(mysql_error());
        if (mysql_num_rows($get_user) == 0) {
            echo "<font color=\"ff0040\">asd"
                ._USERS_ERRORUSER
                ."</font><br><a href=\"java script:history.go(-1)\">"
                ._BACK
                ."</a>";
        } else {
            echo "test";
        }

PS: så får jeg altid TEST viset, det er total mærkeligt...kan PHP server opsætninger være forkert sæt op ?
Avatar billede exp Juniormester
27. maj 2003 - 15:25 #8
umiddelbart ja, for teksten skal jo kun udskrives hvis databasen er tom...!
Avatar billede jakoba Nybegynder
27. maj 2003 - 15:36 #9
næe, det betyder blot at der altid bliver fundet noget i din database.
måske du har fået indsat en række hvor både usernavn og password er tomme strenge ??

prøv med et par debuglinier:
            $SQL = "
                SELECT *
                FROM ".$table['users']."
                  WHERE username='$username'
                    AND password='$password'
                ";
        echo $SQL ."<br>";      // DEBUG LINIE Hvad spørger vi efter?
        $get_user = mysql_query($SQL) or die(mysql_error());
        if (mysql_num_rows($get_user) == 0) {
            echo "<font color=\"ff0040\">asd"
                ._USERS_ERRORUSER
                ."</font><br><a href=\"java script:history.go(-1)\">"
                ._BACK
                ."</a>";
        } else {
            while ( $row = mysql_fetch_array( $get_user ) ) {  // debug while
                var_dump( $row );
                echo "<br>";
            }
            echo "test";
        }

mvh JakobA
Avatar billede math01 Nybegynder
27. maj 2003 - 15:40 #10
jeg tror fejlen er fundet...

det har noget med at jeg har gemt SESSION før, og de er ikke slettet endnu...undskyld :)
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