07. oktober 2003 - 14:08Der er
34 kommentarer og 1 løsning
virker ik
hej eksperter. Når jeg prøver at oprette en bruger på mit websted skriver den:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /web/www/frac/users/betav/add_profil.php on line 21 Din profiler er nu blevet oprettet.
jeg tror at det er en fejl. men hvis i vil se det med jeres egne øjne kan i prøve at oprette en bruger på www.betav.frac.dk /mit websted understøtter MysQl
tak det hjalp på opret bruger problemet men når jeg så skal logge ind skriver den:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /web/www/frac/users/betav/tjek_user.php on line 8 Ugyldigt brugernavn!
håber at i også kan hjælpe mig med det.
jeg ved ikke om jeg skal oprette et andet spørgsmål.
<? session_start(); addslashes($username); addslashes($passcode); $password = md5($passcode); require("db_ind.inc"); $passquery = mysql_query("SELECT password, id FROM profiler WHERE username = '$username'"); if (!mysql_num_rows($passquery)) { echo "Ugyldigt brugernavn!<p>"; exit(); } else { if($row = mysql_fetch_array($passquery)) { $dbpassword = $row["password"]; $profilid = $row["id"]; } if($dbpassword == $password) { $login = (true); } if ($dbpassword != $password) { echo "Forkert brugernavn eller password!!!<br>"; echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>"; exit(); } session_register(username); session_register(password); session_register(profilid); $today = date("d-m-Y"); require("db_ind.inc"); mysql_query("UPDATE profiler set lastlogin = '$today' WHERE username = '$username'"); header("Location: muligheder.php"); } ?>
<? session_start(); addslashes($username); addslashes($passcode); $password = md5($passcode); require("db_ind.inc"); $passquery = mysql_query("SELECT password, id FROM profiler WHERE username = '$username'"); if (@mysql_num_rows($passquery)==0) { echo "Ugyldigt brugernavn!<p>"; exit(); } else { if($row = mysql_fetch_array($passquery)) { $dbpassword = $row["password"]; $profilid = $row["id"]; } if($dbpassword == $password) { $login = (true); } if ($dbpassword != $password) { echo "Forkert brugernavn eller password!!!<br>"; echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>"; exit(); } session_register(username); session_register(password); session_register(profilid); $today = date("d-m-Y"); require("db_ind.inc"); mysql_query("UPDATE profiler set lastlogin = '$today' WHERE username = '$username'"); header("Location: muligheder.php"); } ?>
$passquery = mysql_query("SELECT password, id FROM profiler WHERE username = '$username' AND password='$password'"); if (@mysql_num_rows($passquery)==0) { echo "Ugyldigt brugernavn/kodeord!<p>"; exit(); }
når jeg har oprettet en bruger siger den at brugenavn er forkert så jeg tænkte om du kunne lave et nyt script til mig som viker. du har jo tosalt fået 200 points
<? session_start(); $username = mysql_escape_string(htmlspecialchars(stripslashes($username))); $password = mysql_escape_string(htmlspecialchars(stripslashes($passcode))); require("db_ind.inc"); $passquery = mysql_query("SELECT password, id FROM profiler WHERE username = '$username' AND password='md5($password)'"); if (@mysql_num_rows($passquery)==0) { echo "Ugyldigt brugernavn/kodeord!<p>"; exit(); } else { $row = mysql_fetch_array($passquery); $dbpassword = $row["password"]; $profilid = $row["id"];
if($dbpassword == $password) { $login = (true); } elseif ($dbpassword != $password) { echo "Forkert brugernavn eller password!!!<br>"; echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>"; exit(); } session_register(username); session_register(password); session_register(profilid); $today = date("d-m-Y"); require("db_ind.inc"); mysql_query("UPDATE profiler set lastlogin = '$today' WHERE username = '$username' AND password='md5(password)'"); header("Location: muligheder.php"); } ?>
Jeg er ekstremt dårlig til PHP, men kunne det ikke være fordi der var noget galt med login scriptet? Prøv, når du har oprettet en ny bruger, at chcke om denne bruger er blevet skrevet ind i databasen. Hvis den er det, er det nok i login scriptet den er gal.
<? session_start(); $username = mysql_escape_string(htmlspecialchars(stripslashes($username))); $password = mysql_escape_string(htmlspecialchars(stripslashes($passcode))); require("db_ind.inc"); $passquery = mysql_query("SELECT password, id FROM profiler WHERE username = '$username' AND password=md5('$password')"); if (@mysql_num_rows($passquery)==0) { echo "Ugyldigt brugernavn/kodeord!<p>"; exit(); } else { $row = mysql_fetch_array($passquery); $dbpassword = $row["password"]; $profilid = $row["id"];
if($dbpassword == $password) { $login = (true); } else { echo "Forkert brugernavn eller password!!!<br>"; echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>"; exit(); } session_register(username); session_register(password); session_register(profilid); $today = date("d-m-Y"); require("db_ind.inc"); mysql_query("UPDATE profiler set lastlogin = '$today' WHERE username = '$username' AND password=md5('password')"); header("Location: muligheder.php"); } ?>
det sidste script du har skrevet virker ikke ohmish. Jeg tænkte at hvis du fik alle filerne at du så kunne lave det for jeg kan ikke finde ud af det. hvis du vil det kan du så ikke skrive det for så ligger jeg et link herinde.
$username = mysql_escape_string(htmlspecialchars(stripslashes($username))); $password = mysql_escape_string(htmlspecialchars(stripslashes($passcode))); require("db_ind.inc"); $passquery = mysql_query("SELECT password, id FROM profiler WHERE username = '$username' AND password=md5('$password')"); if (@mysql_num_rows($passquery)==0)
til dette:
$username = mysql_escape_string(htmlspecialchars(stripslashes($username))); $password = mysql_escape_string(htmlspecialchars(stripslashes($password))); $passquery = mysql_query("SELECT id, username, password FROM profiler WHERE username='$username' AND password=md5('$password')"); if (mysql_num_rows($passquery)==0)
ændrede passcode til password og jeg Selctede id, username og password istedet for bare id og password. Nu kommer fejlmeddelelsen ikke længere. Men jeg har ikke fået lavet scriptet da den stadig kommer med ugyldig brugernavn/password. Øv!
Nå, men jeg er bare en ultra noob der prøver at lære lidt ved at hjælpe.
Tror faktisk den virker alligevel, det var bare mig der havde lavet noget rod og skrevet passwordet forkert :) . HÅBER DEN VIRKER! Hjælp mig gud og lad mig have gjort noget rigtigt!
Synes godt om
Ny brugerNybegynder
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.