09. januar 2006 - 16:07
Der er
16 kommentarer og 1 løsning
Jeg har lavet en Mysql db. 1 tabel, med 4 strenge
Jeg har lavet en tabel med brugere. Der er 4 strenge: Id, usename, password, Rank. Mit problem er at den henter Rank, men det henter kun Rank ud fra den første person der er oprettet (ID 1). Hvordan får jeg den til at kunne kende forskel på dem der logger ind ? Altså at id 2, der henter den og den Rank der står der... Det må være et eller andet med id, jeg skal have sat ind et eller andet sted: Her er login koden: <?php require_once('../Connections/PDA.php'); ?><?php mysql_select_db($database_PDA, $PDA); $query_RsRank = "SELECT * FROM brugere"; $RsRank = mysql_query($query_RsRank, $PDA) or die(mysql_error()); $row_RsRank = mysql_fetch_assoc($RsRank); $totalRows_RsRank = mysql_num_rows($RsRank); ?> Her er det felt hvor den henter Rank'en ind og visser den: <?php echo $row_RsRank['Rank']; ?>
Annonceindlæg fra Computerworld it-jobbank
09. januar 2006 - 16:09
#1
ups der skulle have stået: Mit problem er at den IKKE henter Rank korrekt, men henter kun Rank ud fra den første person der er oprettet......OSV
09. januar 2006 - 16:17
#2
skal du ikke have en WHERE på som udvælger den række som du er interesseret i ?
09. januar 2006 - 17:24
#3
hmm. fra mit øje ser det ud som du vil have fat i den bruger som er loggt pås rank... Her er et lille Eks, ved ik om det virker men man har da lov at prøve: log_on.php <? session_start(); ?> <form method="post" action="user_info.php"> username: <input type="text" name="username"><BR> Password: <input type="password" name="password"><BR> <input type="submit" name="submit" value="Log on"> </form> log_on.php slut user_info.php <? session_start(); ?> <html> <body> <? if($_POST["username"]){ $_SESSION["username"] = $_POST["username"];} if($_POST["password"]){ $_SESSION["password"] = $_POST["password"];} ?> <? $db = mysql_connect("localhost","danielic_dk","password"); mysql_select_db("danielic_dk", $db"); $foresp = mysql_query("SELECT * FROM navn_på_din_tabel WHERE username = '$_SESSION["username"]' password = '$_SESSION["password"]'"); while($data = mysql_fetch_array($foresp)){ echo "Bruger nr:"; echo $data["id"]; echo "<BR>Username:"; echo $data["username"]; echo "<BR>Password:"; echo $data["password"]; echo "<BR>Rank:"; echo $data["rank"]; } ?> Slut på user_info.php Husk alle de steder du skal have vist brugerens Rank skal du bruge den mysql kode jeg skrev. Du skal også huske at starte session_start(); i toppen på filen... Vis du ikke kender til session skulle du måske lige læse lidt om det på nette fordi det kan godt være lidt svært ellers :P... Håber du kan bruge det... MvH Daneil
09. januar 2006 - 17:24
#4
ps jeg hedder Daniel :-) og vis du kan bruge mit svar så acepter den her, kom til at skrive kommentar ;-)
09. januar 2006 - 17:47
#5
Jeg kan ikke rigtig se mig ud af den kode.. Jeg bruger dreamweaver, så jeg henter sådan set direkte fra databasen "træk & slip" princippet. Jeg laver en recordset og henter dataerne ud på den måde. Jeg har alle 4 punkter derinde, men der skal være en form for sorterings "kode" der kan finde ud af om det er ID 1 eller 2 der logger ind og tager så Rank strengen og visser den.. Men daniel du har fat i den rigtig tanke omkring hvordan det skal laves... Men jeg kan ikke finde rundt i den. Login delen er lavet, men er der ikke bare en simpel kode der skal sættes ind så den kan finde ud af det ?
09. januar 2006 - 17:58
#6
Her er min LOG IN kode: ?php require_once('Connections/PDA.php'); ?> <?php // *** Validate request to login to this site. session_start(); $loginFormAction = $_SERVER['PHP_SELF']; if (isset($accesscheck)) { $GLOBALS['PrevUrl'] = $accesscheck; session_register('PrevUrl'); } if (isset($_POST['username'])) { $loginUsername=$_POST['username']; $password=$_POST['password']; $MM_fldUserAuthorization = "Rank"; $MM_redirectLoginSuccess = "Fx45Zjklwer/index.php"; $MM_redirectLoginFailed = "index.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_PDA, $PDA); $LoginRS__query=sprintf("SELECT username, password, Rank FROM brugere WHERE username='%s' AND password='%s'", get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); $LoginRS = mysql_query($LoginRS__query, $PDA) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = mysql_result($LoginRS,0,'Rank'); //declare two session variables and assign them $GLOBALS['MM_Username'] = $loginUsername; $GLOBALS['MM_UserGroup'] = $loginStrGroup; //register the session variables session_register("MM_Username"); session_register("MM_UserGroup"); if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else { header("Location: ". $MM_redirectLoginFailed ); } } ?>
09. januar 2006 - 18:22
#7
ups forkert kode, sådan skal den se ud: <?php require_once('Connections/PDA.php'); ?> <?php // *** Validate request to login to this site. session_start(); $loginFormAction = $_SERVER['PHP_SELF']; if (isset($accesscheck)) { $GLOBALS['PrevUrl'] = $accesscheck; session_register('PrevUrl'); } if (isset($_POST['username'])) { $loginUsername=$_POST['username']; $password=$_POST['password']; $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "Fx45Zjklwer/index.php"; $MM_redirectLoginFailed = "index.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_PDA, $PDA); $LoginRS__query=sprintf("SELECT username, password FROM brugere WHERE username='%s' AND password='%s'", get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); $LoginRS = mysql_query($LoginRS__query, $PDA) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = ""; //declare two session variables and assign them $GLOBALS['MM_Username'] = $loginUsername; $GLOBALS['MM_UserGroup'] = $loginStrGroup; //register the session variables session_register("MM_Username"); session_register("MM_UserGroup"); if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else { header("Location: ". $MM_redirectLoginFailed ); } } ?>
10. januar 2006 - 20:23
#8
når du i din sql sætning skriver "SELECT * FROM BRUGERE" vil den hente alle records fra tabellen BRUGERE. Du skal på et eller andet niveau indikere hvilken record du vil have ud af tabellen.
10. januar 2006 - 20:25
#9
og når du udskriver resultatsættet med <?php echo $row_RsRank['Rank']; ?> uden at sætte denne i en eller anden form for løkke, vil der blive udskrevet den første record i dette resultatsæt. håber dette kan hjælpe dig lidt på vej, ellers sig endelig til....
12. januar 2006 - 09:21
#10
Hvordan indikere jeg hvilken record jeg vil have ud af tabellen ? Jeg vil mene det var noget med ID, der indikere hvilken konto det er, der logger på, men hvordan det skal laves ved jeg ikke... Håber du kan hjælpe ! Altså som det er nu så henter den hele tiden record 1 ud af tabellen...
12. januar 2006 - 22:00
#11
<?php require_once('Connections/PDA.php'); ?> <?php // *** Validate request to login to this site. session_start(); $loginFormAction = $_SERVER['PHP_SELF']; if (isset($accesscheck)) { $GLOBALS['PrevUrl'] = $accesscheck; session_register('PrevUrl'); } if (isset($_POST['username'])) { $loginUsername=$_POST['username']; $password=$_POST['password']; $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "Fx45Zjklwer/index.php"; $MM_redirectLoginFailed = "index.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_PDA, $PDA); $LoginRS__query=sprintf("SELECT * FROM brugere WHERE username='%s' AND password='%s'", get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); $LoginRS = mysql_query($LoginRS__query, $PDA) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = ""; //find user rank while($row = mysql_fetch_array($LoginRS)) { $rank = $row['Rank']; } //declare 3 session variables and assign them $GLOBALS['MM_Username'] = $loginUsername; $GLOBALS['MM_UserGroup'] = $loginStrGroup; $GLOBALS['MM_Rank'] = $rank; //register the session variables session_register("MM_Username"); session_register("MM_UserGroup"); session_register("MM_Rank"); if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else { header("Location: ". $MM_redirectLoginFailed ); } } ?> nu har du rank i variablen $MM_Rank på samme måde som du har Username i variablen $MM_Username og UserGroup i $MM_UserGroup
13. januar 2006 - 08:42
#12
Probelemmet er at, den kode jeg viste dig var fra index siden, her er koden fra den side hvor den skal være: <?php require_once('../Connections/PDA.php'); ?> <?php mysql_select_db($database_PDA, $PDA); $query_rsRANK = "SELECT * FROM brugere"; $rsRANK = mysql_query($query_rsRANK, $PDA) or die(mysql_error()); $row_rsRANK = mysql_fetch_assoc($rsRANK); $totalRows_rsRANK = mysql_num_rows($rsRANK); ?> længere nede står det her, hvor jeg vil have den til at visse det: <td class="style11"><?php echo $row_rsRANK['Rank']; ?></td>
14. januar 2006 - 15:29
#13
brug denne sql sætning istedet: SELECT * FROM brugere WHERE username='%s' AND password='%s'", get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)
17. januar 2006 - 13:55
#14
Det virker ikke helt efter hensigten :( Den kommer op med en fejl, når jeg får vist siden... Hmm jeg er meget nybegynder indefor ren php kode, derfor er jeg glad for dreamweaver klar det meste. Men hvis du kan visse hvordan det skal se ud færdigt, så vil jeg ikke be' om mere..
17. januar 2006 - 22:34
#15
hvad er fejlen
19. januar 2006 - 13:07
#16
<?php require_once('../Connections/PDA.php'); ?> <?php mysql_select_db($database_PDA, $PDA); SELECT * FROM brugere WHERE username='%s' AND password='%s'", get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password) ?> FEjl: Parse error: syntax error, unexpected T_STRING in C:\WEB\Fx45Zjklwer\index.php on line 4
31. januar 2006 - 13:17
#17
Lukker blev ikke rigitg klogere
Computerworld tilbyder specialiserede kurser i database-management