PHP sessie loopt brak

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Xanthium
  • Registratie: September 2005
  • Laatst online: 25-07 11:59
Hallo, ik probeer een login pagina op te zetten aan de hand van een PHP tutorial. Het werkt aardig alleen krijg ik steeds deze error bovenin de pagina als de gebruiker succesvol is ingelogd:

Notice: Use of undefined constant myusername - assumed 'myusername' in D:\wamp\www\index.php on line 3
Deprecated: Function session_is_registered() is deprecated in D:\wamp\www\index.php on line 3
Login Successful


check.php:
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
36
37
38
39
40
41
42
<?php
ob_start();
$host="localhost"; // Host name
$username="krol"; // Mysql username
$password="blabla"; // Mysql password
$db_name="app"; // Database name
$tbl_name="members"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "index.php"
session_register("myusername");
session_register("mypassword");
header("location:index.php");
}
else {

echo "login failed";
}

ob_end_flush();
?>



Ik snap dat de index.php de sessie van de check.php niet helemaal lekker overpakt. Ik snap alleen niet waar het aan kan liggen, na veel gepriegel leg ik m'n vraag daarom hier neer.

index.php:
code:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
session_start();
if(!session_is_registered(myusername)){
header("location:login.php");
}
?>

<html>
<body>
Login Successful
</body>
</html>


bvd.. _/-\o_

Acties:
  • 0 Henk 'm!

  • fiftyhillswest
  • Registratie: Oktober 2009
  • Laatst online: 19-09 15:10
PHP:
1
2
3
if(!session_is_registered("myusername")){
    //rest van het verhaal
}


misschien?

Had je door even te debuggen ook kunnen vinden, die error message is nogal obvious

[ Voor 69% gewijzigd door fiftyhillswest op 18-03-2010 18:19 ]


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 13:06
Zoals de error zelf al zegt is die functie deprecated. Zie: http://php.net/manual/en/function.session-is-registered.php

In plaat van session_register kun je dit doen:

PHP:
1
$_SESSION['hoi'] = "value";


En vervolgens checken of er een sessie is dmv:

PHP:
1
2
3
4
5
6
if (isset($_SESSION['hoi'])) {
     // doe iets
}
else {
     // doe iets
}


Overigens kom je code me wel bekend voor. http://www.phpeasystep.com/workshopview.php?id=6 anyone? :P

[ Voor 12% gewijzigd door Avalaxy op 18-03-2010 18:24 ]


Acties:
  • 0 Henk 'm!

  • Xanthium
  • Registratie: September 2005
  • Laatst online: 25-07 11:59
Avalaxy schreef op donderdag 18 maart 2010 @ 18:23:
Zoals de error zelf al zegt is die functie deprecated. Zie: http://php.net/manual/en/function.session-is-registered.php

In plaat van session_register kun je dit doen:

PHP:
1
$_SESSION['hoi'] = "value";


En vervolgens checken of er een sessie is dmv:

PHP:
1
2
3
4
5
6
if (isset($_SESSION['hoi'])) {
     // doe iets
}
else {
     // doe iets
}


Overigens kom je code me wel bekend voor. http://www.phpeasystep.com/workshopview.php?id=6 anyone? :P
haha ja dat was inderdaad mijn bron ;) dankjewel voor je tip, ik ga ermee aan de slag

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 13:06
Xanthium schreef op donderdag 18 maart 2010 @ 18:30:
[...]


haha ja dat was inderdaad mijn bron ;) dankjewel voor je tip, ik ga ermee aan de slag
Neem deze er bij: http://www.tizag.com/phpT/phpsessions.php
Goede tutorial voor beginners imho.