ik heb voor mijn site het login systeem van Jan Koehoorn gebruikt het login systeem uit de Loginscript Revisited tutorial.
Ik gebruik de zelfde toepassing als Jan ook doet dus precies het zelfde
maar hij haalt sessie's door elkaar denk ik.
Als ik ingelogd ben en iemand anders logt in komt die op mijn account.

Het is exact hetzelfde behalve wat er gebeurt na het inloggen.
Ik laat hierna een query uitvoeren met het ID uit de session.

Tutorial :
http://www.phphulp.nl/php/tutorials/10/415/

Dit doe ik na het aanmaken van de sessie:

<?
$id2 = $_SESSION['id'];


$query2 =  mysql_query("SELECT * FROM members WHERE id='$id2'");
    
while ($row2 = mysql_fetch_assoc($query2))
{
$id      = $row2['id'];
$email = $row2['email'];
$ras    = $row2['type'];
$level = $row2['level'];
}


$query =  mysql_query("SELECT * FROM characters WHERE currentchar='Yes' AND memberid='$id2'");
$num = mysql_num_rows($query);
if($num != 0)
{
$char = 1;
}
else
{
$char = 0;
}

if($char == 1)
{
  $row = mysql_fetch_assoc($query);

$id           	   = $row['id'];
$name          	= $row['name'];
$memberid    = $row['memberid'];
$health          = $row['health'];
$army          	= $row['army'];
$rank            = $row['rank'];
$money         = $row['money'];
$secure_level = $row['secure_level'];
$stay             = $row['place'];
} 
$actual_date = date("F j, Y, g:i a");
$actual_time = time();
mysql_query("UPDATE characters SET online='$actual_time' WHERE name='$name'");
?>


weet iemand het probleem of zou mij kunnen helpen
mvg
Chango911.
ik weet neit of het toegestaan is om te kicken xD maar omdat hij uit actieve topics lisjht weg is kick ik hem bij deze
Heb jeje database wel goed ingesteld? Misschien krijgt id overal hetzelfde getal dus is elke member hetzelfde id nummer het kan dat zijn maar ik betwijfel het :)
dit heb ik gecheckt en dit is niet het geval :( alle id's zijn verschilend
Probeen elke keer eens je $_SESSION['id'] te echoen miss is ie daar wel hetzelfde
[edit]ik heb geleerd van dat $ dingetjes zoveel mogenlijk buiten die ' dingetjes moete dus probeer ook eens om dit
<?
"SELECT * FROM members WHERE id='$id2'"
// te veranderen naar
$sql = "SELECT * FROM members WHERE id='".$_SESSION[id2]."'";
$query2 = mysql_query($sql) or die (mysql_error());
?>
Geen idee of dit werkt maar het valt te proberen
[/edit]
ik denk dat ik misschien variable's dubbel geplaatst heb ofzo maar ik zal dat eens proberen

EDIT :
hier de functie waarin de session's worden geplaatst als het ene fout is zou die hierin meoten staan denk ik maar ik zie hem niet :O

<?php
 function check_login ($email, $password) {

        $sql = "SELECT id FROM members WHERE email = '$email' AND password = '$password'";
        if ($res = mysql_query ($sql)) {
            if (mysql_num_rows ($res) == 1) {
                // de query is gelukt en we hebben 1 resultaat
                $row = mysql_fetch_assoc ($res);
                $_SESSION['id'] = $row['id'];
                $_SESSION['logged_in'] = true;
            }
            else {
                to_login ();
            }
        }
        else {
            to_login ();
        }
    }
?>
Ik weet het niet meer :$ ik denk dat een 'pro' hier maar naar moeten kijke :p
ok maar ik heb het even getest met die session te printen maar hij geeft bijb eide het zelfde id aan :( dus het ligt daaraan maar waar zit de fout dan in hmmmm

EDIT:
maar dit komt vast omdat de session logged_in nog bestaat :(
hij controleert of die nog bestaat :( en zojah dan voert hij niks uit dus ik meot zorgen dat hij ook controleert op een andere session nog :)
ik denk eentje met het email erin ofzo
Kunnen mensen dezelfde email adress in de database toevoegen? Of dezelfde passwoorden als mensen dat kunnnen, kunnen ze gewoon jou email adres en paswoord invoegen in zijn ze binnen onder jou id?
;) nop er wordt gecontroleerd op dubbele emailadressen bij registratie ;)
maar ik heb het nu zo gedaan :) als je het loginformulier verstuurd maar session logged_in bestaat al :) worden sessie's verwijderd dus session['id'] en die wordt opneiuw gemaakt met de nieuwe login info


EDIT :
werkt nog steeds niet :(
En werkt het dan wel?

Reageren