Ma Skrevet 12. februar 2006 Del Skrevet 12. februar 2006 Håper noen kan se på disse kodene og hjelpe meg litt. Det er snakk om loginn side, og jeg får ikke logget inn som bruker selv om jeg får tilsendt passord i mailen. Jeg tror det kan ha noe med passordet når det sjekkes mot databasen i control.php for å gi/avslå tilgang til en side. control.php funker når pasordet er ukryptert, men jeg har kryptert det (tror jeg da) inn i databasen. Hvordan kan control.php sjekke om det krypterte passordet stemmer? signup.php <?php include("connection.php"); include("db.php"); else: function errorfillin($msg) { die($msg); } if ($_POST['MUsername']=='' or $_POST['MFirstName']=='' or $_POST['MEmail']=='') { errorfillin('One or more required fields were left blank.\\n'. 'Please fill them in and try again.'); } function error($msg) { die($msg); } $sql = "SELECT COUNT(*) FROM member WHERE MUsername = '$_POST[MUsername]'"; $result = mysql_query($sql); if (!$result) { error('A database error occurred in processing your '. 'submission.\\nIf this error persists, please '. 'contact us'); } function erroruserexist($msg) { die($msg); } if (@mysql_result($result,0,0)>0) { erroruserexist('A user already exists with your chosen userid.\\n'. 'Please try another.'); } [B]$newpass = substr(md5(time()),0,6);[/B] $sql = "INSERT INTO member SET MUsername = '$_POST[MUsername]', MPassword = PASSWORD('$newpass'), MFirstName = '$_POST[MFirstName]', MEmail = '$_POST[MEmail]'"; if (!mysql_query($sql)) error('A database error occurred in processing your '. 'submission.\\nIf this error persists, please '. 'contact us.'); // Email the new password $message = "Hi! Your account has been created! To log in, proceed to the following address: (...) Your personal login ID and password are as follows: MUsername: $_POST[MUsername] MPassword: $newpass Your Webmaster "; mail($_POST['MEmail'],"Your Password for Your Website", $message, "From:us <[email protected]>"); ?> control.php <?php include("connection.php"); include("db.php"); session_start(); $MUsername = isset($_POST['MUsername']) ? $_POST['MUsername'] : $_SESSION['MUsername']; $MPassword = isset($_POST['MPassword']) ? $_POST['MPassword'] : $_SESSION['MPassword']; if(!isset($MUsername)) { ?> <head> <title> Please Log In </title> </head> <body> <h1> Login Required </h1> <p>You must log in to access this area of the site. If you are not a registered user, <a href="signup.php">click here</a> to sign up </p> <p><form method="post" action="<?=$_SERVER['PHP_SELF']?>"> User ID: <input type="text" name="MUsername" size="8" /><br /> Password: <input type="password" name="MPassword" SIZE="8" /><br /> <input type="submit" value="Log in" /> </form></p> </body> </html> <?php exit; } $_SESSION['MUsername'] = $MUsername; $_SESSION['MPassword'] = $MPassword; $sql = "SELECT * FROM member WHERE MUsername = '$MUsername' AND MPassword = '$MPassword'"; $result = mysql_query($sql); if (!$result) { error('A database error occurred while checking your '. 'login details.\\nIfhis error persists, please '. 'contact us.'); } if (mysql_num_rows($result) == 0) { unset($_SESSION['MUsername']); unset($_SESSION['MPassword']); ?> <head> <title> Access Denied </title> </head> <body> <h1> Access Denied </h1> <p>Your user ID or password is incorrect, or you are not a registered user on this site. To try logging in again, click <a href="<?=$_SERVER['PHP_SELF']?>">here</a>. To register for instant access, click <a href="signup.php">here</a>.</p> </body> </html> <?php exit; } Lenke til kommentar
Gilbert Skrevet 12. februar 2006 Del Skrevet 12. februar 2006 Brukeren skriver inn et passord som du sjekker opp mot et kryptert passord. Du må kryptere passordet brukeren skriver inn og sjekke mot krypteringen i databasen. $MPassword = md5($MPassword); Lenke til kommentar
Ma Skrevet 12. februar 2006 Forfatter Del Skrevet 12. februar 2006 Jeg skjønner ikke helt hvor jeg skal skrive det. Et passord blir automatisk laget og mailet til brukeren. Jeg regner med at det er det denne linjen gjør: $newpass = substr(md5(time()),0,6); skal jeg da skrive $MPassword = md5($MPassword); der passordet sjekkes? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå