Inloggen werkt niet.

Status
Niet open voor verdere reacties.

Razing

Gebruiker
Lid geworden
13 okt 2008
Berichten
167
Ik ben bezig dus nog steeds met de vader voor me website.
Alles werkt nu bijna, alleen nog wat kleine dingen.

Dit is de URL: http://www.trainerew.nl/svhalle/

Schoonheids foutjes komen later. Eers alles zelf af hebben.

The problem isssssss:
Het inloggen op de toto werkt niet. Zodra je inlogt zegt hij dat wachtwoord en gebruiker onjuist is. Terwijl dat gewoon klopt. Als je een pagina moet zien moet je het even zeggen. (Als je op de links gaat staan kan je gewoon zien waar je zit en waar je heen kan)

Dit is alvast de pagina waar hij heen schiet als je op Login drukt:

<meta http-equiv="refresh" content="0;url=?id=toto&ga=index#blijf">
PHP:
<?php 
  $username = $_SERVER["LOGIN"];
  $pwd = $_SERVER["PWD"];

  login($username, $pwd);
?>

En dit de pagina, security.php, waar hij alles checkt.
PHP:
<?php 
  require "encryptionclass.php";
  
  function login($username, $pwd) {
    global $SID;
    $location = "?id=toto&ga=showmypredictions#blijf"; 
    loginwithtarget($username,$pwd,$location);
  }
  
  function loginwithtarget($username, $pwd, $location) {
    global $User, $SID;

    if (CheckUserLogin($username, $pwd) == FALSE) {
      ErrorRedir("Gebruikersnaam of wachtwoord onjuist","index.php"); 
      exit; 
    }

    RegisterUser($User);

    header("Location: $location"); 
    exit; 
  }

  function CheckAdmin($perms) {
    global $dbaseUserData;

    $NormalUser = 1;
    $PrivelegedUser = 2;
    $AdminUser = 4;
    $RootUser = 8;
    
    return $perms >= $AdminUser;
  }

  function CheckUserLogin($username, $pwd) {
    global $dbaseUserData, $User,$leagueID;

    $encr = new Encryption($pwd);
    $pwd = $encr->Encrypt($pwd);

    $User = new User;
    $User->loggedIn = FALSE;
    $User->usertype = 1;

    $link = OpenConnection();
    if ($link == FALSE) {
      return FALSE;
    }

    $userquery = "SELECT * FROM $dbaseUserData where username = \"$username\" and lid='$leagueID'";
    $userresult = mysql_query($userquery)
        or die("Query failed: $userquery");
    if ($userline = mysql_fetch_array($userresult, MYSQL_ASSOC)) {
      if ($pwd == $userline["password"]) {
        $User->userid =  $userline["userid"];
        $User->username = stripslashes($username);
        $User->emailaddr = $userline["email"];
        $User->icon = $userline["icon"];
        $User->usertype = $userline["usertype"];
        $User->createdate = $userline["since"];
        $User->lang = $userline["lang"];
        $User->dflths = $userline["dflths"];
        $User->dfltas = $userline["dfltas"];
        $User->lang = $userline["lang"];
        $User->auto = $userline["auto"];
        $User->loggedIn = TRUE;

        return TRUE;
      }
    }
    CloseConnection($link);
    return FALSE;
  }
?>

Ik hoop serieus dat iemand mij kan helpen, de site moet morgen avond af zijn. En ik ben echt blij als iemand mij met een groot probleem kan helpen!
 
Maak van:

PHP:
$username = $_SERVER["LOGIN"];
$pwd = $_SERVER["PWD"];

eens:

PHP:
$username = $_POST["LOGIN"];
$pwd = $_POST["PWD"];

En trouwens,

Ik ben bezig dus nog steeds met de vader voor me website.

Ik neem aan dat je de website voor je vader bedoeld? :P
 
Maak van:

PHP:
$username = $_SERVER["LOGIN"];
$pwd = $_SERVER["PWD"];

eens:

PHP:
$username = $_POST["LOGIN"];
$pwd = $_POST["PWD"];

En trouwens,



Ik neem aan dat je de website voor je vader bedoeld? :P

Ja dat bedoel ik haha!

Maargoed even @ontopic ; Nopes hij werkt niet, hij zegt telkens dat wachtwoord enzo niet kloppen. Ik heb in de index.php session_start(); staan en als ik die weghaal zegt hij dat hij de headers al heeft gestart, maar als die er staat niet.
 
Helaas, het is dus niet altijd zo eenvoudig.

Maar uit deze code kan ik niet opmaken wat er misgaat. Geen vreemde tekens in je username / pass? Opgeslagen met dezelfde encryptie als waarmee je ze probeert op te halen? De variabelen bestaan wel (probeer ze eens te echoën)? Heb je error_reporting aan staan?
 
Helaas, het is dus niet altijd zo eenvoudig.

Maar uit deze code kan ik niet opmaken wat er misgaat. Geen vreemde tekens in je username / pass? Opgeslagen met dezelfde encryptie als waarmee je ze probeert op te halen? De variabelen bestaan wel (probeer ze eens te echoën)? Heb je error_reporting aan staan?

PHP:
<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>

Hij showt de wachtwoord en gebruiker wel. Heb nu session_start uit de index gehaalt omdat hij zei dat ze al eerder gestart waren als je inlogt, heb de doorstuur er ook uitgehaalt en krijg nu deze boven de header:

Notice: Undefined variable: _SESSION in /home/sis0088/domains/trainerew.nl/public_html/svhalle/toto/sessiondata.php on line 4

Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /home/sis0088/domains/trainerew.nl/public_html/svhalle/toto/sessiondata.php on line 4

Notice: Undefined variable: _SESSION in /home/sis0088/domains/trainerew.nl/public_html/svhalle/toto/sessiondata.php on line 14

Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /home/sis0088/domains/trainerew.nl/public_html/svhalle/toto/sessiondata.php on line 14

En de volgende op de doorstuur login pagina:
Warning: session_register() [function.session-register]: Cannot send session cache limiter - headers already sent (output started at /home/sis0088/domains/trainerew.nl/public_html/svhalle/index.php:12) in /home/sis0088/domains/trainerew.nl/public_html/svhalle/toto/sessiondata.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at /home/sis0088/domains/trainerew.nl/public_html/svhalle/index.php:12) in /home/sis0088/domains/trainerew.nl/public_html/svhalle/toto/security.php on line 20




EDIT: Sessiondata.php
PHP:
<?php 
$User = new User;

if (array_key_exists("User",$_SESSION)) {
  $User = $_SESSION["User"];
}

$userid = $User->userid;
$username = $User->username;
$email = "";
$password = "";

$ErrorCode = "";
if (array_key_exists("ErrorCode",$_SESSION)) {
  $ErrorCode = $_SESSION["ErrorCode"];
}

session_unregister("ErrorCode");

function RegisterUser() {
  global $User;
  $_SESSION["User"] = $User;
  if (FALSE == session_register("User")) {
    die("Can't register User");
  }
}

function UnregisterUser() {
  $_SESSION["USER"] = "";
  session_unregister("User");
}

?>
 
Laatst bewerkt:
session_start() moet er wel boven.

Waarschijnlijk wordt deze pagina ergens geinclude. Am I right? En voor die include wordt al output verzonden. Dan krijg je namelijk de headers already sent error.

De include van deze pagina moet helemaal bovenaan de pagina staan, of je moet session_start() helemaal boven aan de pagina zetten die door de gebruiker wordt opgevraagd.
 
session_start() moet er wel boven.

Waarschijnlijk wordt deze pagina ergens geinclude. Am I right? En voor die include wordt al output verzonden. Dan krijg je namelijk de headers already sent error.

De include van deze pagina moet helemaal bovenaan de pagina staan, of je moet session_start() helemaal boven aan de pagina zetten die door de gebruiker wordt opgevraagd.

Zodra ik session start bovenaan de pagina zet krijg ik allemaal foutmedingen met classes en main_function o.i.d.

Haal ik het weg krijg ik foutmeldingen over een variable....
 
Maar waar heb je het dan bovenaan staan?

Je hebt neem ik aan een pagina die wordt aangeroepen door de browser (lees: index.php).

In index.php staat waarschijnlijk include('sessiondata.php'); . Boven die include staat dan waarschijnlijk al output (regel 12 van je index begint de output).

Zet nu eens die include HELEMAAL BOVENAAN je pagina.
 
Maar waar heb je het dan bovenaan staan?

Je hebt neem ik aan een pagina die wordt aangeroepen door de browser (lees: index.php).

In index.php staat waarschijnlijk include('sessiondata.php'); . Boven die include staat dan waarschijnlijk al output (regel 12 van je index begint de output).

Zet nu eens die include HELEMAAL BOVENAAN je pagina.

Dit staat er in de index.php bovenaan:
PHP:
<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>

En dan hebben we de pagina.php (cases voor toto) en daar worden alle bestanden geinclude voor de toto:

PHP:
<?php
  require "toto/systemvars.php";
  require "toto/configvalues.php";
  require "toto/sortfunctions.php";
  require "toto/security.php";
  require "toto/lang/lang.dutch2.php";
  require "toto/msgfunctions.php";
?>
                    <?php include('includes/stats.php'); ?>
					<td style="width:498px; height:415px">
						<table  cellspacing="0" cellpadding="0">
						  <tr>
							<td  style="width:498px; height:188px">
								<br style="line-height:23px">
								<img src="images/pageplaatjes/toto.jpg" width="464" height="105" border="0" />
                                <br><br><div align="center">
<?php
  if ($User->loggedIn == FALSE) {
              echo "<a href=\"?id=toto&ga=loginpanel#blijf\">Inloggen</a> | <a href=\"?id=toto&ga=createnewuser#blijf\">Aanmelden</a> | <a href=\"?id=toto&ga=helpindex#blijf\">Spelregels</a>";
  } else { 
              include 'toto/menus.php'; 
  }
?>                                                                
                                </div></td>
						  </tr>
						  <tr>
							<td  style="width:498px; height:198px">
								<table  cellspacing="0" cellpadding="0" class="list">
								  <tr>
									<td align="left" style="width:498px; height:198px">
<?php
echo "<br \>";
$page=$_GET['ga'];
if($page)
{
if(file_exists("toto/".$page.".php"))
{
  include("toto/".$page.".php");
}
else
{
  include("404.php");
}
}
else
{
include("toto/index.php");
}
?>
                                          </div>
									</td>
								  </tr>
								</table>
							</td>
						  </tr>
						  <tr>
							<td  style="width:498px; height:34px"></td>
						  </tr>
						</table>
					</td>
				  </tr>
				</table>
			</td>
 
Als je niet de verwachte resultaten krijgt, dan moet je de variabelen echoën. Zo kun je zien of de variabele bevat wat je er verwachtte.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan