KosseMedlem sedan juni 2000162 inlägg Följande kod verkar inte fungera som det ska och jag fattar inte varför. Letar inte scriptet nedan i alla samtliga rader i tabellen tavlanden och kollar om både användarnman och lösenord är rätt? Verkar helt slumpartat på vilket användarnamn scriptet accepterar eller inte, men oftast fungerar det översta i tabellen.
$link = mysql_connect ("server", "kosse", "lösenordet")
or die ("Kunde inte koppla upp mot databasen.");
mysql_select_db("kosse");
$resultat = mysql_query("SELECT * FROM tavlanden");
if (mysql_num_rows($resultat) > 0) {
while ($row = mysql_fetch_row($resultat)) {
if ($row[1]==$anvandarnamn && $row[2]==$losen)
{
setcookie("ianvandarnamn",$anvandarnamn,time()+157680000); //Kakor sättes.
setcookie("ilosen",$losen,time()+1800);
header("Location: index.php?ID=tavlandestartsida");
$finns=1;
break;
}
}
}
if (!$finns) {
echo "$stil Ditt användarnamn eller lösenord är fel, försök igen.";
}
LarsGMedlem sedan dec. 200012 464 inlägg Kan du inte lägga in sökningen direkt i sql-frågan? Då slipper du loopen i programmet.
$link = mysql_connect ("server", "kosse", "lösenordet")
or die ("Kunde inte koppla upp mot databasen.");
mysql_select_db("kosse");
$resultat = mysql_query("SELECT * FROM tavlanden where anvandarnamn = '$anvandarnamn' and losen = '$losen'");
if (mysql_num_rows($resultat) > 0) {
setcookie("ianvandarnamn",$anvandarnamn,time()+157680000); //Kakor sättes.
setcookie("ilosen",$losen,time()+1800);
header("Location: index.php?ID=tavlandestartsida");
$finns=1;
break;
}
if (!$finns) {
echo "$stil Ditt användarnamn eller lösenord är fel, försök igen.";
}
Använder du rätt arrayindex i ditt program?
------------------
essentitia preter non sans multiplicandum
KosseMedlem sedan juni 2000162 inlägg Kunde man skriva så också?, där ser man. Är väldans ny på den hära med mySQL.
Jag tror jag vet vad som var fel innan, servern måste fått fnatt eftersom jag aldrig stängde kopplingen till databasen. När jag la till det fungerade det som det skulle...
KosseMedlem sedan juni 2000162 inlägg Förresten, vad är ett arrayindex?
LarsGMedlem sedan dec. 200012 464 inlägg När du skriver $row[1] så är 1 ett arrayindex. Jag bara undrade om de arrayindex du använder när du jämför stämmer med de positioner som kolumnerna har i tabellen.
------------------
essentitia preter non sans multiplicandum
KosseMedlem sedan juni 2000162 inlägg Ok, jo dom stämmer. Det har jag kollat.
KosseMedlem sedan juni 2000162 inlägg Om jag skriver såhär utan whileloop verkar jag inte få några värden i resultat, varför inte? Blir inte $resultat en indexarray precis som $row blev med while loopen?
$resultat = mysql_query("SELECT * FROM tavlanden where anvandarnamn = '$anvandarnamn' and losen = '$losen'");
LarsGMedlem sedan dec. 200012 464 inlägg Nej, $resultat är bara ett värde (handle) som du använder för att få tag på posterna. För att hämta en post får man göra
$row = mysql_fetch_row($resultat);
------------------
essentitia preter non sans multiplicandum
KosseMedlem sedan juni 2000162 inlägg Ok, då fattar jag den biten.
Tackar för hjälpen!