Avatar billede fedora Nybegynder
17. februar 2005 - 20:53 Der er 3 kommentarer og
1 løsning

PHP-login - fejl..

Okay jeg har nu været i gang med mit login i et stykke tid, men den vil kun tillade den første bruger i min database, hvad kan fejlen være???

index.php:

<?php

### Starter sessions ###
session_start();

### Indkluder dvs. filer ###
include("config/db.php");
include("config/functions.php");

### Globale variabler ###
global $db_hostname;
global $db_username;
global $db_password;
global $db_database;
global $conn;
global $banned_ip;


### Connect til MySql-database ###
$conn = @mysql_connect($db_hostname,$db_username,$db_password);
@mysql_select_db($db_database,$conn);

### Vis Ip-adresse ###
$IP = $_SERVER['REMOTE_ADDR'];
@$FIP = $_SERVER['HTTP_X_FORWARDED_FOR'];

if (($FIP != "") && ($FIP != "unknown")) $IP = $FIP;
$IP = explode(",", $IP);
$IP = $IP[0];

$hostmask = gethostbyaddr($IP);


### Hent banned ip-adresser ###
$get_ip = "SELECT addr FROM ip";
$get_ip_res = @mysql_query($get_ip,$conn);
$ip_info = @mysql_fetch_array($get_ip_res);
$banned_ip = $ip_info['addr'];

### Hoveddelen af siden ###

switch(@$_GET['mode']) {
case 'auth':
//Tjekker om brugerinput er tomt
if (!$_POST['login_username']) {
$_SESSION['submit1'] = "1";
header("Location: index.php");
}

else if (!$_POST['login_password']) {
$_SESSION['submit2'] = "1";
header("Location: index.php");
}

// Registrer sessions
$_SESSION['login_username'] = $_POST['login_username'];
$_SESSION['login_password'] = $_POST['login_password'];

// Vælg tabel
$get_user = "SELECT id, user, pass FROM login";
$get_user_res = @mysql_query($get_user,$conn);

// angiver arrays
$user_info = @mysql_fetch_array($get_user_res);
$username = $user_info['user'];
$password = $user_info['pass'];

// Godkender password
if ($_POST['login_username'] == "$username" AND $_POST['login_password'] == "$password") {
print("<script>location.href='users/main/index.php';</script>");

} else {
$_SESSION['submit1'] = "1";
$_SESSION['submit2'] = "1";
header("Location: index.php");

}
break;

default:
// Tjekker om brugeren er banned
if($hostmask != $banned_ip) {
?>
<html>
<head>
<title>|Star-Fighters| - Login</title>
</head>
<body>
<br>
<br>
<form action="index.php?mode=auth" method="post">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="300">
<tr>
<td background="grafik/top.jpg" colspan="2" height="30" valign="middle"><center>Velkommen til CrewArea</center></td>
</tr>
<tr>
<td><font color="<? user_form_empty(); ?>">&nbsp;Brugernavn:</font></td>
<td><input type="text" name="login_username" size="25"></td>
</tr>
<tr>
<td><font color="<? pass_form_empty(); ?>">&nbsp;Adgangskode:</font></td>
<td><input type="password" name="login_password" size="25"></td>
</tr>
<tr>
<td background="grafik/top.jpg" colspan="2" height="30"><center><input type="submit" value="Log Ind"></center></td>
</tr>
</table>
</form>
<center>Din ip-adresse: <u><?= $hostmask; ?></u>
<br>
Login by: #Team-sF.dk | ^FeoDra<br>
Version: 2.0
</center>
</body>
</html>

<?php
unset($_SESSION['submit1']);
unset($_SESSION['submit2']);

} else {

?>

<html>
<head>
<title>|Star-Fighters| - Din ip er blevet blokeret!</title>
</head>
</html>
<?php

}
}

db.php:

<?php

$db_hostname = "localhost";
$db_username = "????";
$db_password = "????";
$db_database = "teamsf";

?>

functions.php:
<?php

// Funktioner

### Skift farve vis brugernavn forkert! ###
function user_form_empty() {
if (@$_SESSION['submit1'] == "1") {
print("red");
}
}


### Skift farve hvis password er forkert ###
function pass_form_empty() {
if (@$_SESSION['submit2'] == "1") {
print("red");
}
}
Avatar billede coderdk Praktikant
17. februar 2005 - 22:40 #1
Avatar billede coderdk Praktikant
17. februar 2005 - 22:40 #2
Hint: WHERE :)
Avatar billede fedora Nybegynder
28. februar 2005 - 10:33 #3
Ja ja, så siger jeg tak, hvis du vil have point så indlæg lie svar :D
Avatar billede coderdk Praktikant
28. februar 2005 - 10:36 #4
Alrighty then :D
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