Avatar billede ellert Nybegynder
17. marts 2003 - 23:56 Der er 8 kommentarer og
1 løsning

Meeeeeget underligt PHP prob.

Hej!

Jeg har et meget underligt problem:
Mit login script, som jeg skrev for et stykke tid siden, virker ikke, nu hvir jeg bruger koden et andet sted?!

det består af 2 filer:
------------------------------------------
index.php:
<?php
    if (isset($_SESSION['admin']) && $_SESSION['admin'] == "1") {
        Print "
            INDE, er du nu :)<BR><BR>
            Navn: ".$_SESSION['admin_name']."
            <BR>
            Email: ".$_SESSION['admin_email']."
            <BR>
            Date: d. ".date("d/m - Y | H:i")."

            <FORM method=\"post\" action=\"do_login.php\">
            <INPUT type=\"hidden\" name=\"logud\" value=\"1\">
            <INPUT type=\"submit\" value=\"Log ud\">
            </FORM>

            <DIV class=\"title2\">Tilføj nyhed</DIV>
            <FORM method=\"post\" action=\"newnew.php\">
            Title: <INPUT type=\"text\" name=\"title\"><BR>
            <TEXTAREA name=\"note\" rows=\"4\">Note</TEXTAREA><BR>
            <INPUT type=\"hidden\" name=\"Name\" value=\"".$_SESSION['admin_name']."\">
            <INPUT type=\"hidden\" name=\"Email\" value=\"".$_SESSION['admin_email']."\">
            <INPUT type=\"hidden\" name=\"date\" value=\"".date("d/m - Y | H:i")."\">
            <INPUT type=\"submit\" value=\"Tilføj\">
            </FORM>

            <DIV class=\"title2\">Ny gøgl-filur</DIV>
            <FORM method=\"post\" action=\"newgogl.php\">
            Title: <INPUT type=\"text\" name=\"title\"><BR>
            <TEXTAREA name=\"note\" style=\"width:98%;\" rows=\"9\">Note</TEXTAREA><BR>
            <INPUT type=\"hidden\" name=\"Name\" value=\"".$_SESSION['admin_name']."\">
            <INPUT type=\"hidden\" name=\"Email\" value=\"".$_SESSION['admin_email']."\">
            <INPUT type=\"hidden\" name=\"date\" value=\"".date("d/m - Y | H:i")."\">
            <INPUT type=\"submit\" value=\"Tilføj\">
            </FORM>

        ";
    } else {
        print "<DIV class=\"title2\">LOGIN</div>";
        print "
            <FORM method=\"post\" action=\"do_login.php\">
            U: <INPUT type=\"text\" name=\"f_username\"><BR>
            P: <INPUT type=\"password\" name=\"f_password\"><BR>
            <BR><INPUT type=\"submit\" value=\"OK - Lad os komme ind...\" style=\"border:1px solid black;\">
            </FORM>
        ";
            if (isset($_REQUEST['error_code'])) print "FEJL! Kode: ".$_REQUEST['error_code'];
    }

------- og do_login.php: --------------------------------

<?
session_start();

if ($_POST['logud'] == "1") {
    session_destroy();
    header("location: index.php");
    exit;
}

    include("../db.php");

    if (isset($_POST['f_username'])) $f_username = $_POST['f_username'];
    if (isset($_POST['f_password'])) $f_password = $_POST['f_password'];

    if($f_username && $f_password){

        $rs = mysql_query("SELECT * FROM admin WHERE user = '$f_username' AND password = '$f_password'");
        $antal = mysql_num_rows($rs);
            if($antal > 0){


                session_register("admin_name", "admin_email", "admin");
                $admin = 1;

                $row = mysql_fetch_array($rs);

                $admin_name = $row["Name"];
                $admin_email = $row["Email"];

                header("location: index.php?c=1");

            } else {
                header("location: index.php?login_error_code=1");
            }

    } else {
    header("location: index.php?login_error_code=2");
    }
?>

-----------------------------------------------------

indholdet af db.php, stemmer rigtigt nok...

Det hele melder fejlen:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\htdocs\exp.2\admin\do_login.php on line 18
Warning: Cannot add header information - headers already sent by (output started at D:\htdocs\exp.2\admin\do_login.php:18) in D:\htdocs\exp.2\admin\do_login.php on line 33


MEN, det underlige er, at på min gamle sider virker scriptet fint - bare ikke på den nye. Og det er den samme kode?!?

Jeg bruger WinXP, med IIS (m. PHP) som webserver.

På forhånd tak!

Forresten, jeg leder IKKE efter svaret: "Brug htacces, det er meget smartere..."!

// eLLERT
// detersmart.dk
Avatar billede ellert Nybegynder
18. marts 2003 - 00:10 #1
Nå, glæder mig til at se svaret i morgen! :)
Avatar billede Slettet bruger
18. marts 2003 - 07:37 #2
måske er din kode rigtig nok men det er altså database tabellerne der ikke findes tror jeg
Avatar billede andy Nybegynder
18. marts 2003 - 08:45 #3
Ja, jeg tror sku ikke du har fået din database med over.

Prøv at ændre:
$rs = mysql_query("SELECT * FROM admin WHERE user = '$f_username' AND password = '$f_password'");

til

$rs = mysql_query("SELECT * FROM admin WHERE user = '$f_username' AND password = '$f_password'") or die(mysql_error());
Avatar billede avminarm Juniormester
18. marts 2003 - 09:19 #4
ellers drop din database her
Avatar billede xyborx Nybegynder
18. marts 2003 - 09:25 #5
Hvilken PHP version kører du med? Er register_globals on eller off?
Avatar billede ellert Nybegynder
18. marts 2003 - 14:27 #6
register_globals er off... Det er der også taget højde for!
Avatar billede hobz Nybegynder
18. marts 2003 - 14:51 #7
Jeg kunne nu godt tænke mig, at se indholdet af db.php
Avatar billede ellert Nybegynder
18. marts 2003 - 14:55 #8
Connection'en virker nu! JEg skulle ha kigget lidt bedre efter i db.php - der blev ikke connectet til noget som helst... :D

Mange tak for hjælpen alle sammen...

// eLLERT
// detersmart.dk
Avatar billede ellert Nybegynder
18. marts 2003 - 14:55 #9
spm.lukkes
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