$findes = mysql_query("SELECT * FROM bruger WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error());
if (mysql_num_rows($findes) > 0){ $userid = mysql_query("SELECT nr FROM bruger WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error()); $_SESSION['userid'] = $userid; $_SESSION['brugernavn'] = $brugernavn; echo 'Du er logget ind med brugerid <b>'.$_SESSION['userid'].'</b> og brugernavnet <b>'.$_SESSION['brugernavn'].'</b>'; } elseif (mysql_num_rows($findes) < 1){ echo 'Brugeren findes desværre ikke. Kontakt <a href="mailto:admin@nixx.dk">webmasteren</a> for at blive oprettet!'; echo "Hvad så".$_SESSION['brugernavn']."... Går det?"; } else { $msg = "Din login informationer var ikke korrekte. Forsøg venligst igen."; header("Location: /logind.htm?msg=".$msg); exit; } ?>
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /customers/nixx.dk/nixx.dk/httpd.www/logind_check.php:9) in /customers/nixx.dk/nixx.dk/httpd.www/logind_check.php on line 131
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /customers/nixx.dk/nixx.dk/httpd.www/logind_check.php:9) in /customers/nixx.dk/nixx.dk/httpd.www/logind_check.php on line 131 No Database Selected
De to første fejl skyldes at du skriver noget tekst eller lignende til browseren før du skriver din session. Det går ikke. Hvis du placerer dette script øverst i dit program, så burde det virke.
Den sidste fejl omhandler database. Har du styr på store/små bogstaver?
Alt der kode du har vist herinde skal være først i dit script. I øjeblikket er det i følge din fejlmelding på blandt andet linie 131. Det skal helt op i toppen.
Mht. databasen skal du kontrollere dit brugernavn og password, samt databasenavn. PHP kan gost se forskel på store og små bogstaver, og derfor er "users" ikke det samme som "Users".
har lgie prøvet at slette alt anden end koden inde på siden så nu er der kun php koden, men nu skriver den dette: Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /customers/nixx.dk/nixx.dk/httpd.www/logind_check.php on line 5 No Database Selected
$db = mysql_connect("localhost", "nixx_dk","nicolai"); if ($link) { mysql_select_db("nixx_dk", $users); }else{ die('Could not connect: ' . mysql_error()); }
$kodeord = md5($kodeord);
$findes = mysql_query("SELECT * FROM bruger WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error());
if (mysql_num_rows($findes) > 0){ $id = mysql_query("SELECT nr FROM bruger WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error()); $_SESSION['id'] = $id; $_SESSION['brugernavn'] = $brugernavn; $_SESSION['kodeord'] = $kodeord; echo 'Du er logget ind med brugerid <b>'.$_SESSION['id'].'</b> og brugernavnet <b>'.$_SESSION['brugernavn'].'</b>'; } elseif (mysql_num_rows($findes) < 1){ echo 'Brugeren findes desværre ikke. Kontakt <a href="mailto:admin@nixx.dk">webmasteren</a> for at blive oprettet!'; echo "Hvad så".$_SESSION['brugernavn']."... Går det?"; } else { $msg = "Din login informationer var ikke korrekte. Forsøg venligst igen."; header("Location: /logind.htm?msg=".$msg); exit; } ?>
kan du ikke prøve at få lortet til at virke, for skal nemlig til eksame nu, så har ikke lige tid, men hvis du vil lave det så det virker så skal du nok få nogle flere point!
okaii kodn ser altså sådan ud som jeg lige har indsat! hvad kan der være i vejen med den? min database hedder: nixx_dk og tablen hedder: users og det er localhost hvad kan problemet være?
Jeg er skam online, men laver lidt andet også :-) For du ikke en mere detaljeret fejlmelding om hvad databasefejlen er? Koden ser umiddelbart rigtig ud, så jeg tror fejlen ligger i brugernavn, databasenavn eller password.
Du mangler vist også at indsætte dit password til databasen: $db = mysql_connect("host", "user","password"); if ($link) { mysql_select_db("database", $db); }else{ die('Could not connect: ' . mysql_error()); }
næh... du skal bruge den samme variabel for din mysql-handle. Du bruger i øjeblikket først $db, så $link, og til sidst $links. Det skal naturligvis være den samme hele vejen :-)
$links = mysql_connect("localhost", "nixx_dk","nicolai"); if ($links) { mysql_select_db("users", $links); //"users" er navnet på databasen, $links er //navnet på handlen til databaseforbindelsen }else{ die('Could not connect: ' . mysql_error()); }
$links er dit handle til databasen. Du definerer det her: $links = mysql_connect("localhost", "nixx_dk","nicolai"); Dvs at $links indeholder forbindelsen til databasen, så du skal bruge den hvergang du vil noget med databasen. Du kan kalde den hvad du har lyst til, blot du bruger det samme navn hele vejen igennem.
Nej, man behøver ikke bruge $links hvergang, man skal have fat i DB'en :)
I PHP bruges altid den senest oprettede DB-connection. Er der kun oprettet én, behøver man ikke eksplicit angive databaseforbindelsen ... den er på forhånd givet implicit ;o)
$findes = mysql_query("SELECT * FROM users WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error());
if (mysql_num_rows($findes) > 0){ $id = mysql_query("SELECT nr FROM users WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error()); $_SESSION['brugernavn'] = $brugernavn; $_SESSION['kodeord'] = $kodeord; echo 'Du er logget ind med brugerid <b>'.$_SESSION['id'].'</b> og brugernavnet <b>'.$_SESSION['brugernavn'].'</b>'; } elseif (mysql_num_rows($findes) < 1){ echo 'Brugeren findes desværre ikke. Kontakt <a href="mailto:admin@nixx.dk">webmasteren</a> for at blive oprettet!'; echo "Hvad så".$_SESSION['brugernavn']."... Går det?"; } else { $msg = "Din login informationer var ikke korrekte. Forsøg venligst igen."; header("Location: /logind.htm?msg=".$msg); exit; } ?>
og når jeg prøver at logge ind skriver den bare dette:
Brugeren findes desværre ikke. Kontakt webmasteren for at blive oprettet!Hvad så... Går det?
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.