Avatar billede s0mmer Nybegynder
14. november 2003 - 11:26 Der er 27 kommentarer og
2 løsninger

Lille login system

Hej
Jeg har lavet noget database med tabeller med brugernavn og password.
Nu skal ejg have lavet login delen
Den ska have 2 input felter hvor den tjekker om de er ens med databasen er hvis ja ska den sendes til et sted. Men hvis det er eks. bruger admin pass admin så ska den sendes til et andet sted.
Forklaret dårligt, men håber i ka hjælpe?
Avatar billede sukos Juniormester
14. november 2003 - 11:36 #1
Jeg ville nok lave en kolonne mere i DB'en, og ud fra den værdi sende til den ene eller anden side.
Avatar billede s0mmer Nybegynder
14. november 2003 - 11:45 #2
ye.. eks. admin kolonne. 0 fra nej og 1 fra ja. så er standard bare 0.

men så kommer det næste jo. hvordan sammenligner jeg det fra inputfelterne med noget fra databasen?
Avatar billede domaz.dk Novice
14. november 2003 - 11:53 #3
lav tabel:
$tabelSQL = "create Table community
(
id integer not null primary key auto_increment,
brugernavn tinytext not null,
password tinytext not null,
brugertype tinytext not null
)";
mysql_query($tabelSQL);


config.php start:
// dinne sql indstillinger
function sql_kontakt() {
mysql_connect("server", "brugernavn", "kodeord");
mysql_select_db("database");
}
config.php slut.

Login.php start:
// formen hvor du skal skrive brugernavn og password
<form method='post' action='login_godkend.php'>
brugernavn: <input type='text' name='brugernavn'><br>
password: <input type='password' name='password'>
</form>
Login.php slut.

Godkend.php start:
// henter config.php
require("config.php");

// kontakter din database
sql_kontakt();

// tjekker om brugernavnet passer til passwordet
$query = mysql_query("SELECT brugernavn, password, brugertype, id FROM community WHERE brugernavn='$brugernavn' AND password='$password'");
if (mysql_num_rows($query) == "0"){
?>

Forkert Navn og/ell. Kodeord<br>
Prøv igen eller <a href="index.php?site=opret_bruger">opret</a> dig som bruger.

<?php
} else {
// starter session's
while($r = mysql_fetch_array($query)) {
$s_brugernavn = $r["brugernavn"];
$s_password = $r["password"];
$s_brugertype = $r["brugertype"];
$s_id = $r["id"];
}
session_start();
session_register ("s_brugernavn");
session_register ("s_password");
session_register ("s_brugertype");
session_register ("s_id");

// er du admin kommer du her...
if ($s_brugertype == 'admin') {
header("Location:admin.php");
// hvis du er bruger kommer du her...
} else {
header("Location:bruger.php");
}
}
Godkend.php slut.
Avatar billede domaz.dk Novice
14. november 2003 - 11:55 #4
du skal lige huske at requeste i godkend.php...

skriv øverst:

$brugernavn = $_REQUEST["brugernavn"];
$password = $s_REQUEST["password"];
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:05 #5
har gjort det på en lidt anden måde.. se her:

<?
include("db_con.php4");

$brugernavn = $_REQUEST["brugernavn"];
$password = $s_REQUEST["password"];

if($_POST)
{
$query = mysql_query("SELECT brugernavn, password, brugertype, id FROM community WHERE brugernavn='$brugernavn' AND password='$password'");
if (mysql_num_rows($query) == "0"){
?>

Forkert Navn og/ell. Kodeord<br>
Prøv igen

<?php
} else {
// starter session's
while($r = mysql_fetch_array($query)) {
$s_brugernavn = $r["brugernavn"];
$s_password = $r["password"];
$s_brugertype = $r["brugertype"];
$s_id = $r["id"];
}
session_start();
session_register ("s_brugernavn");
session_register ("s_password");
session_register ("s_brugertype");
session_register ("s_id");

// er du admin kommer du her...
if ($s_brugertype == 'admin') {
header("Location:admin.htm");
// hvis du er bruger kommer du her...
} else {
header("Location:bruger.htm");
}
}


?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p>&nbsp;</p><center>
  Login
</center>
<table width="46%" border="0" cellpadding="3">
  <tr>
    <td width="27%"><p>Brugernavn:</p>
      </td>
    <td width="73%"><input type="text" name="brugernavn" id="bruger"></td>
  </tr>
  <tr>
    <td>Password:</td>
    <td><input type="text" name="pass" id="password"></td>
  </tr>
  <tr>
    <td height="27">&nbsp;</td>
    <td><form method="post"><input type="submit" name="Submit" value="Login"></td>
  </tr>
</table>

</body>
</html>

hvor db_con bare er alle mine connect options, men får fejl på linje 70.
"Parse error: parse error in /usr/home/steffen/public_html/login.htm on line 70"

Hvorfor dog det ?
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:22 #6
helpme helpme :)
Avatar billede sukos Juniormester
14. november 2003 - 12:28 #7
<?php
session_start();
if(isset($_POST["brugernavn"])) {
include("db_con.php4");

$brugernavn = $_POST["brugernavn"];
$password = $_POST["pass"];

$query = mysql_query("SELECT `brugernavn`, `password`, `brugertype`, `id` FROM `community` WHERE `brugernavn`='". $brugernavn ."' AND `password`='". $password ."'")or die (mysql_error());

    if (mysql_num_rows($query) == 0){
?>

Forkert Navn og/ell. Kodeord<br>
Prøv igen

<?php
exit();
} else {

while($r = mysql_fetch_array($query)) {
$s_brugernavn = $r["brugernavn"];
$s_password = $r["password"];
$s_brugertype = $r["brugertype"];
$s_id = $r["id"];
}
session_start();
session_register ("s_brugernavn");
session_register ("s_password");
session_register ("s_brugertype");
session_register ("s_id");

    // er du admin kommer du her...
    if ($s_brugertype == 'admin') {
    header("Location:admin.htm");
    // hvis du er bruger kommer du her...
    } else {
    header("Location:bruger.htm");
    }
}

}
?>
Avatar billede exp Juniormester
14. november 2003 - 12:28 #8
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:30 #9
ingen fejl på side, men ka så til gengæld heller ik logge in eller noget.
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:31 #10
vi har kode.. vi mangler bare at rette det så det kører. gider ik downloade
Avatar billede sukos Juniormester
14. november 2003 - 12:37 #11
Hvad så med

<?php
session_start();
if(isset($HTTP_POST_VARS["brugernavn"])) {
include("db_con.php4");

$brugernavn = $HTTP_POST_VARS["brugernavn"];
$password = $HTTP_POST_VARS["pass"];

$query = mysql_query("SELECT `brugernavn`, `password`, `brugertype`, `id` FROM `community` WHERE `brugernavn`='". $brugernavn ."' AND `password`='". $password ."'")or die (mysql_error());

    if (mysql_num_rows($query) == 0){
?>

Forkert Navn og/ell. Kodeord<br>
Prøv igen

<?php
exit();
} else {

while($r = mysql_fetch_array($query)) {
$s_brugernavn = $r["brugernavn"];
$s_password = $r["password"];
$s_brugertype = $r["brugertype"];
$s_id = $r["id"];
}
session_start();
session_register ("s_brugernavn");
session_register ("s_password");
session_register ("s_brugertype");
session_register ("s_id");

    // er du admin kommer du her...
    if ($s_brugertype == 'admin') {
    header("Location:admin.htm");
    // hvis du er bruger kommer du her...
    } else {
    header("Location:bruger.htm");
    }
}

}
?>
Avatar billede sukos Juniormester
14. november 2003 - 12:38 #12
Hov, det er jo fordi du først smider din form action lige før submit knappen! :O)
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:39 #13
det samme.. ligeså snart man har trykket submit sletter den bare hva der stod i inputfelterne.. og så kommer man ik videre..
Avatar billede sukos Juniormester
14. november 2003 - 12:40 #14
<?php
session_start();
if(isset($_POST["brugernavn"])) {
include("db_con.php4");

$brugernavn = $_POST["brugernavn"];
$password = $_POST["pass"];

$query = mysql_query("SELECT `brugernavn`, `password`, `brugertype`, `id` FROM `community` WHERE `brugernavn`='". $brugernavn ."' AND `password`='". $password ."'")or die (mysql_error());

    if (mysql_num_rows($query) == 0){
?>

Forkert Navn og/ell. Kodeord<br>
Prøv igen

<?php
exit();
} else {

while($r = mysql_fetch_array($query)) {
$s_brugernavn = $r["brugernavn"];
$s_password = $r["password"];
$s_brugertype = $r["brugertype"];
$s_id = $r["id"];
}
session_start();
session_register ("s_brugernavn");
session_register ("s_password");
session_register ("s_brugertype");
session_register ("s_id");

    // er du admin kommer du her...
    if ($s_brugertype == 'admin') {
    header("Location:admin.htm");
    // hvis du er bruger kommer du her...
    } else {
    header("Location:bruger.htm");
    }
}

}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>"><p>&nbsp;</p><center>
  Login
</center>
<table width="46%" border="0" cellpadding="3">
  <tr>
    <td width="27%"><p>Brugernavn:</p>
      </td>
    <td width="73%"><input type="text" name="brugernavn" id="bruger"></td>
  </tr>
  <tr>
    <td>Password:</td>
    <td><input type="text" name="pass" id="password"></td>
  </tr>
  <tr>
    <td height="27">&nbsp;</td>
    <td><input type="submit" name="Submit" value="Login"></td>
  </tr>
</table>

</body>
</html>
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:40 #15
ups..
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:43 #16
sådan.. nu hver gang jeg trykker submit skriver den på blank side:
Table 'steffen.community' doesn't exist
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:44 #17
og det er uanset hva jeg skriver i felterne..
Avatar billede sukos Juniormester
14. november 2003 - 12:46 #18
Ja, så er det jo fordi du IKKE har en table som hedder community i din database steffen

Iøvrigt et ret flot navn, steffen :O)
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:48 #19
hvorfor skal jeg have en der hedder community ?
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:48 #20
ups. ændrer lige community i koden til min tal navn :)
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:48 #21
tabel *
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:49 #22
sådan.. nu skriver den bare det der forkert brugernavn og/ellr. kodeord lige meget om det rent faktisk passer.
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:52 #23
jeg har bruger test pass test brugertype admin og id 1

så burde jeg kunne logge ind. men den skriver der forkert noget ligemeget om den er i db eller ej.. hvorfor det?
Avatar billede sukos Juniormester
14. november 2003 - 12:57 #24
Måske fordi dit password i DB'en er krypteret?
Avatar billede s0mmer Nybegynder
14. november 2003 - 12:58 #25
så ska den være det standard.. fordi jeg har ik sat den til noget..
Avatar billede s0mmer Nybegynder
14. november 2003 - 13:00 #26
password VARCHAR 250 null NULL
Avatar billede sukos Juniormester
15. november 2003 - 10:13 #27
Du fandt ud af det?
Avatar billede s0mmer Nybegynder
17. november 2003 - 13:35 #28
yep.. nu har jeg bare problem med at få den til at gå videre til side.. siger at header allerede sendt ud
Avatar billede s0mmer Nybegynder
20. november 2003 - 21:04 #29
nu virker det. mange tak for hjælpen
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