Toon posts:

[php]sessions probleempje

Pagina: 1
Acties:
  • 108 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi!
Ik gebruik het volgende inlog script:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?
 
session_start();

if ($HTTP_POST_VARS["username"] &amp;&amp; $HTTP_POST_VARS["password"]) { 
    $db_host = "XXXXXXX"; 
    $db_login = "XXXXXXXX"; 
    $db_pass = "XXXXXXXXX"; 
    $db_database = "XXXXXXX"; 
    mysql_connect("$db_host", "$db_login", "$db_pass") or die("MySQL errror"); 
    mysql_select_db("$db_database")or die("Database error"); 
    $result = mysql_query("Select userid,email,number from users where login='$username'");
    $row = mysql_fetch_array($result);
    $userid = $row['userid'];
    $email = $row['email'];
    $mynr = $row['number'];

    // password coderen 
    $passgecodeerd = md5($HTTP_POST_VARS["password"]); 
    $username = $HTTP_POST_VARS["username"]; 
    
    // variabelen in een session zetten 
    session_register("username"); 
    session_register("password"); 
    session_register("passgecodeerd"); 
    session_register("userid"); 
    session_register("email"); 
    session_register("mynr"); 

    header("Location: users.php"); 

    exit; 
} else { 

?> 
<p>&amp;nbsp;</p>
<table>
  <form action='login.php' method='post'>
    <tr> 
      <td><small>Username:</small> </td>
      <td>
        <input class=small size=30 type=text name=username>
      </td>
    </tr>
    <tr> 
      <td><small>Password:</small></td>
      <td>
        <input class=small size=30 type=password name=password>
      </td>
    </tr>
    <tr> 
      <td colspan=2 align="right">
        <input class=small type=submit value=Login name=login>
      </td>
    </tr>
  </form>
</table>

<?

 } 
?> 
?>

Maar nou is er iets vreemds aan de hand:
Ik was ingelogt, een vriend ook. Hij ging weg en ik logte een keer opnieuw in. Toen kreeg ik mijn username met zijn userid ofzo! Wat zit er fout in dit script? Please tell me...

Verwijderd

Op maandag 10 september 2001 20:50 schreef WebMasterMike het volgende:
Hoi!
Ik gebruik het volgende inlog script:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
 
session_start();

if ($HTTP_POST_VARS["username"] &amp;amp;amp;&amp;amp;amp; $HTTP_POST_VARS["password"]) { 
    $db_host = "XXXXXXX"; 
    $db_login = "XXXXXXXX"; 
    $db_pass = "XXXXXXXXX"; 
    $db_database = "XXXXXXX"; 
    mysql_connect("$db_host", "$db_login", "$db_pass") or die("MySQL errror"); 
    mysql_select_db("$db_database")or die("Database error"); 
    $result = mysql_query("Select userid,email,number from users where login='$username'");
    $row = mysql_fetch_array($result);
    $userid = $row['userid'];
    $email = $row['email'];
    $mynr = $row['number'];

    // password coderen 
    $passgecodeerd = md5($HTTP_POST_VARS["password"]); 
    $username = $HTTP_POST_VARS["username"];

// variabelen in een session zetten
session_register("username");
session_register("password");
session_register("passgecodeerd");
session_register("userid");
session_register("email");
session_register("mynr");


dus zo $object->result = 1;
$object->username=$HTTP_POST_VARS["username"];

en dan doe je session_register("object");

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
   header("Location: users.php"); 

    exit; 
} else { 

?> 
<p>&amp;amp;amp;nbsp;</p>
<table>
  <form action='login.php' method='post'>
    <tr> 
      <td><small>Username:</small> </td>
      <td>
        <input class=small size=30 type=text name=username>
      </td>
    </tr>
    <tr> 
      <td><small>Password:</small></td>
      <td>
        <input class=small size=30 type=password name=password>
      </td>
    </tr>
    <tr> 
      <td colspan=2 align="right">
        <input class=small type=submit value=Login name=login>
      </td>
    </tr>
  </form>
</table>

<?

 } 
?> 
?>

Maar nou is er iets vreemds aan de hand:
Ik was ingelogt, een vriend ook. Hij ging weg en ik logte een keer opnieuw in. Toen kreeg ik mijn username met zijn userid ofzo! Wat zit er fout in dit script? Please tell me...
Ik zou er dus voor kiezen, om een object aan te maken in plaats van een array. Met een object kan je wat gerichter zoeke/selecteren enzo voorsts

Verwijderd

Topicstarter
ehm ja.. bedankt voor je antwoord..????
Nog iemand anders die WEL wat zegt??

Verwijderd

ik heb je precies antwoord gegeven op je vraag. Werk met objecten in plaats van arrays, kijk is goed naar de code en je zal het wel begrijpen

Verwijderd

Topicstarter
ooooo! zeg dat dan gelijk!! Maar bedankt iig, ik zal er ff naar kijken!

Verwijderd

Topicstarter
uh.. toch begrijp ik em niet..
Kan je het een beetje uitleggen ofzo??

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<? 
session_start();
if($object->result) {        // Kijk of object->result 1 is, als dat zo is, ga dan meteen door naar main.php3
header("Location: main.php3");
} else { //anders volgt nu de inlogprocedure
?>

<form action="index.php3" method="post">
<center>Loginnaam: <input type="password" name="login"> </center>
<br>
<center><input type="hidden" name="Submit" value="1"><input type="submit" value="Login"></center>
</form>
<? if($Submit) {

$db = mysql_connect();
mysql_select_db("login", $db);
$var = "select * from login where(loginnaam='$login')";
$voeruit = mysql_query($var);
if(mysql_num_rows($voeruit) == 1) {

$object->login = $login;         // maakobject
$object->result = 1;
session_register("object");

echo "<center>Je bent succesvol ingelogd. Klik <a href=\"main.php3\">hier</a> om verder te gaan.</center>";

} else {
echo "<center>Helaas is deze loginnaam niet juist</center>";
}
}
?>

<?
}
?>

Om het je nog sterker te vertellen op bovenstaande manier werkt het inlogscript van PHP Freakz ook.

Verwijderd

Topicstarter
Hmmz, oke. Maar het gaat er dus om dat ik meerdere pagina's beveilig en dat deze alle dezelfde in de session opgeslagen variabelen kunnen gebruiken, die uniek zijn per computer.

Heb nu dit op elke pagina na de login van de topic..
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
session_start();
$controle == FALSE; 
include ("functie.php3"); 
$controle = password($username, $passgecodeerd); 

if ($controle == TRUE) {  

//DE PAGINA

else {
    echo "Please login first!"; 
} 
?>

en functie.php3 is
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?
 

function password($username, $passgecodeerd) { 
    verbind();

    $pass_uit_database = ""; // voor de zekerheid 

    // deze sql code haalt het wachtwoord uit de database van de opgegeven username 
    $sql = "SELECT password FROM users WHERE login LIKE '%$username%' ORDER BY userid DESC"; 
    $resultaat = mysql_query($sql) or die(mysql_error()); 

    if ($row = mysql_fetch_object($resultaat)) {
        // password md5-en 
        $pass_uit_database = md5($row->password); 

        if($passgecodeerd == $pass_uit_database) {
            return TRUE; 
        } 
        else { 
            echo "Login-error<br>"; 
            return FALSE; 
        } 
    } 
    else { 
        echo "Login-error<br>"; 
        return FALSE; 
    } 
} 

?> 
?>

eigenlijk dit script...

Duzz, hoe moet ik verder??

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

vragen op phpfreakz
daar komt het script vandaan

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
ja maar hij is zodanig aangepast, dat dat geen zin heeft denk, en het gaat meer om een session-probleem dan een script-probleem geloof ik..

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op dinsdag 11 september 2001 19:54 schreef WebMasterMike het volgende:
ja maar hij is zodanig aangepast, dat dat geen zin heeft denk, en het gaat meer om een session-probleem dan een script-probleem geloof ik..
wat werkt er niet dan?

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
dat waar ik mee begon dus...

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op maandag 10 september 2001 20:50 schreef WebMasterMike het volgende:
Hoi!
Ik gebruik het volgende inlog script:
[.code]

Maar nou is er iets vreemds aan de hand:
Ik was ingelogt, een vriend ook. Hij ging weg en ik logte een keer opnieuw in. Toen kreeg ik mijn username met zijn userid ofzo! Wat zit er fout in dit script? Please tell me...
das geen fout
tenminste niet iets waar wij aan hebben
probeer de error opnieuw te creeeren /beter te omschrijven

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Ja oke, het is waarschijnlijk een beetje vaag ja, maar op de een of andere manier kreeg ik zijn userid mee (blijkbaar) nadat ik met mijn username en password inlogde. En vandaar dus de vraag of dit zou kunnen komen door een fout in de genoemde scripts, en of dit dan eventueel beter kan/moet..

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op dinsdag 11 september 2001 20:05 schreef WebMasterMike het volgende:
Ja oke, het is waarschijnlijk een beetje vaag ja, maar op de een of andere manier kreeg ik zijn userid mee (blijkbaar) nadat ik met mijn username en password inlogde. En vandaar dus de vraag of dit zou kunnen komen door een fout in de genoemde scripts, en of dit dan eventueel beter kan/moet..
kan ik nog steeds nix mee
sorry
heb geen zin te gaan debuggen voor iets waarvan ik niet exact weet wat er nou fout is
probeer gewoon de fout na te bootsen

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
oke dan niet he :'(
Pagina: 1