KingHansen
New Member
Hei, jeg er ny på dette forumet, og ganske nybegynner når det gjelder PHP. Jeg holder nå på å lage et forum, men har fått litt problemer når det gjelder å registrere brukere og å få logget inn.
Problemet mitt er at jeg får registrert brukerne, uten problemer. Men jeg får ikke logget inn med brukeren. Men hvis jeg derimot registrerer brukeren manuelt via php myAdmin, så kan jeg logge inn med brukeren. Da ligger jo passordet i klar tekst i databasen, så har en mistanke om at det er en feil som gjør at hashede passord ikke blir hentet riktig eller noe slikt.
Her er koden som utgjør login scriptet:
Og her er koden for å registrere en bruker:
Itillegg kan jeg legge til at dette er koden som blir brukt for å utføre selve logg inn prosessen, fra, head.php:
Problemet mitt er at jeg får registrert brukerne, uten problemer. Men jeg får ikke logget inn med brukeren. Men hvis jeg derimot registrerer brukeren manuelt via php myAdmin, så kan jeg logge inn med brukeren. Da ligger jo passordet i klar tekst i databasen, så har en mistanke om at det er en feil som gjør at hashede passord ikke blir hentet riktig eller noe slikt.
Her er koden som utgjør login scriptet:
PHP:
<?php session_start();
include_once("connect.php");
// Sjekk om username tekstboksen er utfyllt
if (isset($_POST['username'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM forum_users WHERE username='".$username."' AND password='".$password."' LIMIT 1";
$res = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($res) == 1) {
$row = mysql_fetch_assoc($res);
$_SESSION['uid'] = $row['id'];
$_SESSION['username'] = $row['username'];
header("Location: index.php");
exit();
} else {
echo "Ugyldig innloggings informasjon. Vennligst returner til forrige side.";
exit();
}
}
?>
Og her er koden for å registrere en bruker:
PHP:
<?php include 'connect.php'; ?>
<?php include 'head.php'; ?>
<?php include 'menu.php'; ?>
<?php
//include("db.php");
if (isset($_POST['username']) && isset($_POST['password']) && isset($_POST['email'])) {
$username = mysql_real_escape_string($_POST['username']);
$email = mysql_real_escape_string($_POST['email']);
$password = md5($_POST['password']);
$sql = mysql_query("SELECT username FROM forum_users WHERE username = '".$username."'");
if (mysql_num_rows($sql)>0)
{
die ("Brukernavn er allerede tatt.");
}
mysql_query("INSERT INTO forum_users (username, password, email) VALUES ( '$username', '$password', '$email')") or die (mysql_error()); echo "Kontoen er opprettet.";
}
?>
<html></html>
<form action="register.php" method="post">
<table width="200" border="0">
<tr>
<td>Brukernavn:</td>
<td> <input name="username" type="text" /></td>
</tr>
<tr>
<td>Passord:</td>
<td> <input type="password" name="password" /></td>
</tr>
<tr>
<td>Email:</td>
<td> <input name="email" type="text" /></td>
</tr>
<tr>
<td><input formaction="register.php" type="submit" value="Submit" /></td>
</tr>
</table>
</form>
Itillegg kan jeg legge til at dette er koden som blir brukt for å utføre selve logg inn prosessen, fra, head.php:
PHP:
<?php
if (!isset($_SESSION['uid'])) {
echo "<form action='login_parse.php' method='post'>
Brukernavn: <input type='text' name='username' />
Passord: <input type='password' name='password' />
<input formaction='login_parse.php' type='submit' name='submit' value='Logg inn' />
";
} else {
echo "<p>You are logged is as ".$_SESSION['username']." • <a href='logout_parse.php'>Logout</a>";
}
?>
