Avatar billede fzone Nybegynder
18. juli 2004 - 21:56 Der er 14 kommentarer og
1 løsning

Flere problemer

Nu har jeg ændret lidt på koden fra foregående spørgsmål (Kan ikke samle oplysninger fra database) og har nu et nyt problem. I den nedenstående kode, skal jeg have MySQL til at kontrollere samtlige rækker, altså ikke bare den første, når den kontrollerer om brugernavnet findes.
---
<?
session_start();
//Indsamler brugerdata
$user_ind = $_REQUEST["user"]; $pass_ind = $_REQUEST["pass"];
//Krypterer
$pass = md5($pass_ind);
//Forbind til DB
$db = mysql_connect("localhost", "wizcom_dk", "96HTXnKF");
//Vælg DB
mysql_select_db("wizcom_dk", $db);
//Mit spørgsmål omhandler denne del:
//Hent liste over brugere
$liste_over_brugere = mysql_result(mysql_query("SELECT user FROM brugere"),0);
if (strpos($liste_over_brugere, $user_ind) == 0){
echo "Du har indtastet forkert brugernavn<br><a href=\"login_form\">Prøv igen</a>";
echo "<br>" . $liste_over_brugere;
exit;
}
//Nogen der ved hvad der er galt?
//Henter password fra DB
$pass_from_db = mysql_result(mysql_query("SELECT password FROM brugere WHERE user =

'$user_ind'"),0);
if ($pass == $pass_from_db) {
echo "Du er nu logget ind<br>Klik her for at komme videre: <a href=\"byen.php\">Byen</a>";
$_SESSION["bruger"] = $user_ind;
} else {
echo "Du har indtastet forkert password<br> <a href=\"login_from.php\">Prøv Igen</a>";
echo "<br>" . $liste_over_brugere;
}
?>
---
Nogen der har en ide til hvad der skal gøres?
Avatar billede arne_v Ekspert
18. juli 2004 - 21:58 #1
Du skal have en while løkke som løber gennem records.
Avatar billede arne_v Ekspert
18. juli 2004 - 21:58 #2
PS: Det er vel ikke dit rigtige database password du har postet ?
Avatar billede fzone Nybegynder
18. juli 2004 - 21:59 #3
nej, det er bare noget andet, der er skrevet istedet for...
Avatar billede arne_v Ekspert
18. juli 2004 - 22:01 #4
Det skal vel være noget a la:

$liste_over_brugere = mysql_query("SELECT user FROM brugere");
while ($bruger_info = mysql_fetch_array(liste_over_brugere, MYSQL_ASSOC)) {
    print $bruger_info["brugernavn"] . "<br/>\n";
}
mysql_free_result($rs);

men jeg er ikke skrap til PHP. Jeg tror faktisk at du får bedre svar på
den slags PHP spørgsmål i PHP kategorien.
Avatar billede arne_v Ekspert
18. juli 2004 - 22:02 #5
Den sidste linie skal være:

mysql_free_result($liste_over_brugere);
Avatar billede fzone Nybegynder
18. juli 2004 - 22:02 #6
hmm... en while løkke som løber igennem hvilke records?
Avatar billede fzone Nybegynder
18. juli 2004 - 22:03 #7
sry, havde ikke set dine sidste to svar, prøver lige at rode med det stykke kode
Avatar billede fzone Nybegynder
18. juli 2004 - 22:04 #8
skal den sidste linje ikke først smides ind efter at resultaterne er blevet gennemgået? Sletter den indholdet af det array ($liste_over_brugere)
Avatar billede arne_v Ekspert
18. juli 2004 - 22:06 #9
Den skal erstatte:

mysql_free_result($rs);

(jeg havde ikke fået rettet igenne fra hvor jeg havde copy pastet fra)
Avatar billede fzone Nybegynder
18. juli 2004 - 22:08 #10
k
Avatar billede fzone Nybegynder
18. juli 2004 - 22:10 #11
hmm... jeg får følgende fejl:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
på linje 13 i scriptet.
Med mindre jeg er blevet for dårligt til at tælle er det denne linje:
mysql_free_result($liste_over_brugere);
Avatar billede arne_v Ekspert
18. juli 2004 - 22:11 #12
Jeg tror du tæller forkert.

Jeg er sikke rpå at det er linien:

while ($bruger_info = mysql_fetch_array(liste_over_brugere, MYSQL_ASSOC)) {

som driller
Avatar billede arne_v Ekspert
18. juli 2004 - 22:12 #13
Og jeg har visrt glemt et dollar tegn:

while ($bruger_info = mysql_fetch_array($liste_over_brugere, MYSQL_ASSOC)) {
Avatar billede fzone Nybegynder
18. juli 2004 - 22:17 #14
tja... fejlmeddelelsen forsvandt, men til gengæld er jeg tilbage i status quo. Der sker stadig ingenting.
Men lige til generel oplysning kan jeg sige at værdien af $liste_over_brugere er Resource id #2 og værdien af $bruger_infor er ingenting 8der står ikke noget)
Avatar billede fzone Nybegynder
26. juli 2004 - 17:59 #15
nevermind, har klaret det
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