PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Loginproblem mit dem Addon "Login mit Captcha"



seg98
11.02.2009, 18:12
Hallo,
wenn ich mich einloggen möchte und alles richtig eingebe, wird mir nach dem Klick auf "login" gesagt, dass ich nicht angemeldet sein, nicht freigeschaltet etc. Also werde nicht eingeloggt.

Hier ist der Code, dass für das Login zu ständig ist (header.php):

<?
require ('lib/functions.lib.php');
db_connect();
require ('lib/session.lib.php');
require ('lib/layout.lib.php');
require ( 'lib/extras.lib.php' );
if (!isset($_GET['content']) || empty ($_GET['content'])) $_GET['content'] = '/intern/startseite';

if (!file_exists('content'.$_GET['content'].'.php')) $_GET['content'] = '/error/keine_seite';

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title><?=$seitenname;?></title>
<meta name="Author" content="Designerscripte.net">
<meta name="Publisher" content="Designerscripte.net">
<meta name="Copyright" content="Designerscripte.net">
<meta name="Keywords" content="vms,paid4,loginscript">
<meta name="Description" content="Verdien was Du willst">
<meta name="Page-topic" content="Loseseite zu Klamm.de">
<meta name="Audience" content="">
<meta name="Content-language" content="DE">
<meta name="Page-type" content="Nicht Gewinnorientiert">
<meta name="Robots" content="INDEX,FOLLOW">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" href="/css/main.css" type="text/css">
<link rel="stylesheet" href="css/main.css" type="text/css">

<?
if ($_GET['content'] == '/intern/startseite') @require_once ('lib/texte/alt_startseitenpopup.txt');
if ($_GET['content'] == '/betteln') @require_once ('lib/texte/alt_bettelseitenpopup.txt');
?>
</head>
<body>
<div align="center">
<? if ($_SESSION['login'] != 'true') {?>
<div id="login">
<form action="" method="post">
<b>Nickname:</b>
<input type="Text" name="nickname" value="<?=$_POST['nickname'];?>" style="width:110px;">
<b>Passwort:</b>
<input type="Password" name="passwort" value="" style="width:110px;">
<input name="autologin" value="true" type="hidden">
<img src="login_image.php"></b>
<input type="text" name="login_pin">
<input type="Submit" name="checkid" value="Login"></form>
</div>
<?}?>
<div id="head">
<div id="logo"><?=$seitenname;?></div>
<div>
<?@require_once ('lib/texte/alt_headerbanner.txt');?>
</div>
</div>
<table cellspacing="0" cellpadding="0" border="0" width="800">
<tr>
<td width="132" valign="top"><?@include_once('lib/menue_links.php');?></td>
<td width="5"></td>
<td width="526" valign="top">

Ich hoffe ihr könnt mir helfen.
Ich bedanke mich bei allen Helfern im Vorraus für eure Hilfe.
Wenn ihr noch was braucht bitte bescheid sagen.

Mfg seg98

Lokutos
11.02.2009, 18:37
Hier ist der Code, dass für das Login zu ständig ist (header.php):

seit wann ist den die dafür zuständig ???

bau mal im menü die original loginfunktion ein und probier die mal aus wenn die geht liegt es an der loginfunktion die du nutzt

fals es nicht geht tausch mal die session.lib aus

eRaaaa
11.02.2009, 18:39
seit wann ist den die dafür zuständig ???


wenn du mal richtig hinschauen würdest, hättest du sicherlich gesehen dass sein loginformular halt in dieser datei ist, ist vllt nicht ganz unwichtig.

aber die session.lib wäre auch wichtig, falls du diese geändert hast

seg98
11.02.2009, 18:56
<?
/*
Datei : session.lib.php
Änderungen in dieser Datei nur dann vornehmen wenn Sie wissen was Sie tun!
*/
@session_start();

// Variabeln definieren
if (!isset($_SESSION['login'])) $_SESSION['login'] = "";
if (!isset($_SESSION['werber'])) $_SESSION['werber'] = "0";
if (!isset($_SESSION['uid'])) $_SESSION['uid'] = "0";
if (!isset($_POST['nickname'])) $_POST['nickname'] = "";
if (!isset($_POST['passwort'])) $_POST['passwort'] = "";
if (!isset($_POST['checkid'])) $_POST['checkid'] = "";
if (!isset($_POST['autologin'])) $_POST['autologin'] = "";
if (!isset($_GET['logout'])) $_GET['logout'] = "";
if (!isset($_GET['ref'])) $_GET['ref'] = "0";

if ($_SESSION['werber'] == "0") $_SESSION['werber'] = (int)$_GET['ref'];

// Seiteneinstellungen laden...
$pageconfig = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_seitenkonfig LIMIT 1"));

if ($pageconfig['wartung'] == 1 && $_SESSION['uid'] != $admin_id) {
setCookie('uid','',time()-86400*30);
setCookie('passwort','',time()-86400*30);
setCookie('autologin','',time()-86400*30);
$_SESSION['uid'] = "";
$_SESSION['passwort'] = "";
$_SESSION['login'] = "";
header ("location: ".$domain."/wartung.php");
die();
}


// Login
if ($_POST['checkid'] == 'Login' && $_POST['userid'] && $_POST['passwort'] && $_POST['login_pin'] == $_SESSION['pin_login']) {

$_POST['nickname'] = addslashes($_POST['nickname']);

$login_check = db_query("SELECT k.uid,k.passwort,k.status,k.hinweis FROM
".$db_prefix."_userdaten u
LEFT JOIN ".$db_prefix."_kontodaten k ON k.uid=u.uid
WHERE u.nickname='".$_POST['nickname']."' AND k.passwort='".md5($_POST['passwort'])."' LIMIT 1");

if (mysql_num_rows($login_check)) {
$login_check = mysql_fetch_array($login_check);

// Wenn User noch nicht freigeschaltet!
if ($login_check['status'] == 0) {
$_SESSION['uid'] = "";
$_SESSION['passwort'] = "";
$_SESSION['login'] = "";
$_GET['content'] = '/error/kein_zutritt';
}

// Wenn beim User alles O.K. ist!
if ($login_check['status'] == 1) {
db_query("UPDATE ".$db_prefix."_kontodaten SET login_ip='".$ip."' , loginzeit='".time()."' WHERE uid=".$login_check['uid']." and passwort='".md5($_POST['passwort'])."' LIMIT 1");
if ($_POST['autologin'] == 'true') {
setCookie('uid',$login_check['uid'],time()+86400*30);
setCookie('passwort',$login_check['passwort'],time()+86400*30);
setCookie('autologin','true',time()+86400*30);
}
$_SESSION['uid'] = $login_check['uid'];
$_SESSION['passwort'] = $login_check['passwort'];
$_SESSION['login'] = "true";
header ("location: ".$domain);
die();
}

// Wenn User gesperrt wurde!
if ($login_check['status'] == 2) {
$_SESSION['uid'] = "";
$_SESSION['passwort'] = "";
$_SESSION['login'] = "";
$_GET['content'] = '/error/user_gesperrt';
}

// Wenn es den User garnicht giebt
} else {
$_GET['content'] = '/error/kein_zutritt';
}

} else {
if ($_POST['checkid'] == 'Login') $_GET['content'] = '/error/kein_zutritt';
}

// Autologin
if ($_SESSION['login'] != 'true' && isset($_COOKIE['autologin']) && isset($_COOKIE['uid']) && isset($_COOKIE['passwort'])) {

$_COOKIE['uid'] = (int)$_COOKIE['uid'];
$_COOKIE['passwort'] = addslashes ($_COOKIE['passwort']);

$login_check = db_query("SELECT `uid`,`passwort`,`status`,`hinweis` FROM ".$db_prefix."_kontodaten WHERE uid=".$_COOKIE['uid']." and passwort='".$_COOKIE['passwort']."' LIMIT 1");
if (mysql_num_rows($login_check)) {
$login_check = mysql_fetch_array($login_check);
if ($login_check['status'] == 1) {
db_query("UPDATE ".$db_prefix."_kontodaten SET login_ip='".$ip."' , loginzeit='".time()."' WHERE uid=".$_COOKIE['uid']." and passwort='".$_COOKIE['passwort']."' LIMIT 1");
$_SESSION['uid'] = $login_check['uid'];
$_SESSION['passwort'] = $login_check['passwort'];
$_SESSION['login'] = "true";
}
}
}

// Logout
if ($_GET['logout'] == 'true') {
setCookie('uid','',time()-86400*30);
setCookie('passwort','',time()-86400*30);
setCookie('autologin','',time()-86400*30);
$_SESSION['uid'] = "";
$_SESSION['passwort'] = "";
$_SESSION['login'] = "";
header ("location: ".$domain);
die();
}
if (isset ($_SESSION['uid']) && isset ($_SESSION['passwort']) && !empty ($_SESSION['uid']) && !empty ($_SESSION['passwort'])){
db_query ("UPDATE ".$db_prefix."_kontodaten SET last_active = ".time()." WHERE uid = ".$_SESSION['uid']." AND passwort = '".$_SESSION['passwort']."' LIMIT 1");
}
?>

Ich habe ja schon mal versucht userid (rot) zu nickname zu ändern, da ich man sich ja mit dem nickname und nicht mit der userid einloggt. Klappte aber auch nicht.