functies aanzetten als het ware
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
class login {
public static function LastIp($ip) {
$ip = $_SERVER['REMOTE_ADDR'];
$db->query("INSERT INTO user WHERE ip = '" .mysql_real_escape_string($_POST['last_ip']) ."'");
$_SESSION['last_ip'] = $ip;
}
}
?>
class login {
public static function LastIp($ip) {
$ip = $_SERVER['REMOTE_ADDR'];
$db->query("INSERT INTO user WHERE ip = '" .mysql_real_escape_string($_POST['last_ip']) ."'");
$_SESSION['last_ip'] = $ip;
}
}
?>
Ik weet hoe ik een classe iets kan luiten uitvoeren
Door bijvoorbeeld dit te gebruiken wat verder in me script staat, ,maar hoe zet ik nou precies een functie aan het werk hoe zorg ik dat mijn script het leest en gebruikt, om de een of andere reden begrijp ik het niet zal misschien heel dom klinken, maar ik ben echt een php leek.
Begin gewoon bij het begin door bijv. de phpbeginnershandleiding te lezen. Daarna kun je misschien verder gaan met SQL en OOP (beide handleidingen beschikbaar op die site)
Maar waarschijnlijk wil je dit niet, want dan heeft hij geen beschikking over de meegegeven variabelen, dus probeer dit eens:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Gewijzigd op 31/08/2011 13:20:50 door Jacco Brandt
Code (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
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 session_start();
require_once('db.class.php');
class login {
public function LogIn($name, $password) {
//als naam en wachtwoord goed gepost zijn.
if(!isset($_POST['name']) && (!isset($_POST['password']) )) {
echo ('Velden niet ingevuld');
} else {
global $db;
$res = $db->query("SELECT * FROM user WHERE name = '" . $db->escape_all_not_tolerated_chararacters($name)
. "' AND password = '" . $db->escape_all_not_tolerated_chararacters($password) . "'");
if($db->numRows($res == 1)){
// dan maak sessie loggedin met name/pass. en ip.
$_SESSION['loggedin'] = $name && $password;
echo ("u bent ingelogd " . $res ." ");
}
else {
echo $ip;
echo ('naam of wachtwoord onjuist');
}
}
}
public static function LastIp($ip) {
$ip = $_SERVER['REMOTE_ADDR'];
$db->query("INSERT INTO user WHERE ip = '" .mysql_real_escape_string($_POST['last_ip']) ."'");
$_SESSION['last_ip'] = $ip;
echo ('zie iets');
}
}
$login = new LogIn($_POST['name'], $_POST['password'], $_POST['last_ip']);
?>
require_once('db.class.php');
class login {
public function LogIn($name, $password) {
//als naam en wachtwoord goed gepost zijn.
if(!isset($_POST['name']) && (!isset($_POST['password']) )) {
echo ('Velden niet ingevuld');
} else {
global $db;
$res = $db->query("SELECT * FROM user WHERE name = '" . $db->escape_all_not_tolerated_chararacters($name)
. "' AND password = '" . $db->escape_all_not_tolerated_chararacters($password) . "'");
if($db->numRows($res == 1)){
// dan maak sessie loggedin met name/pass. en ip.
$_SESSION['loggedin'] = $name && $password;
echo ("u bent ingelogd " . $res ." ");
}
else {
echo $ip;
echo ('naam of wachtwoord onjuist');
}
}
}
public static function LastIp($ip) {
$ip = $_SERVER['REMOTE_ADDR'];
$db->query("INSERT INTO user WHERE ip = '" .mysql_real_escape_string($_POST['last_ip']) ."'");
$_SESSION['last_ip'] = $ip;
echo ('zie iets');
}
}
$login = new LogIn($_POST['name'], $_POST['password'], $_POST['last_ip']);
?>
Toevoeging op 31/08/2011 13:21:24:
dat is het complete script, het inloggen werkt wel degelijk :P het probleem is dat ik niet weet/snap hoe ik een functie aanzet zonder dat zinnetje op regel 41 te gebruiken....
ik wil dat die function LastIp ook iets gaat doen.
Toevoeging op 31/08/2011 13:39:53:
nvm het antwoord was vrij simpel heb nu wel een error dat de functie niet bestaat, maar hij roept hem wel aan :P bedankt wouter ik had erover heen gelezen ;)
maar leek is misschien overdreven ik programmeer normaal gezien java en ben sinds anderhalve week bezig met php :P
Als je Java kent, moet php niet al te moeilijk zijn, van een echte programmeertaal naar een script taal is volgens de programmeurs makkelijker dan andersom.
Nu weer een error met het aanroepen van die functie.
Fatal error: Call to undefined function lastIp() in /Applications/MAMP/htdocs/infodatek/classes/class_login_comments.php on line 43
Code (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
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
<?php session_start();
require_once('db.class.php');
class login {
public function LogIn($name, $password) {
//als naam en wachtwoord goed gepost zijn.
if(!isset($_POST['name']) && (!isset($_POST['password']) )) {
echo ('Velden niet ingevuld');
} else {
global $db;
$res = $db->query("SELECT * FROM user WHERE name = '" . $db->escape_all_not_tolerated_chararacters($name)
. "' AND password = '" . $db->escape_all_not_tolerated_chararacters($password) . "'");
if($db->numRows($res == 1)){
// dan maak sessie loggedin met name/pass. en ip.
$_SESSION['loggedin'] = $name && $password;
echo ("u bent ingelogd " . $res ." ");
}
else {
echo $ip;
echo ('naam of wachtwoord onjuist');
}
}
}
public function lastIp($ip) {
$ip = $_SERVER['REMOTE_ADDR'];
$db->query("INSERT INTO user WHERE ip = '" .mysql_real_escape_string($_POST['last_ip']) ."'");
$_SESSION['last_ip'] = $ip;
return $ip;
echo ('zie iets');
}
}
$login = new LogIn($_POST['name'], $_POST['password']);
lastIp($ip);
?>
require_once('db.class.php');
class login {
public function LogIn($name, $password) {
//als naam en wachtwoord goed gepost zijn.
if(!isset($_POST['name']) && (!isset($_POST['password']) )) {
echo ('Velden niet ingevuld');
} else {
global $db;
$res = $db->query("SELECT * FROM user WHERE name = '" . $db->escape_all_not_tolerated_chararacters($name)
. "' AND password = '" . $db->escape_all_not_tolerated_chararacters($password) . "'");
if($db->numRows($res == 1)){
// dan maak sessie loggedin met name/pass. en ip.
$_SESSION['loggedin'] = $name && $password;
echo ("u bent ingelogd " . $res ." ");
}
else {
echo $ip;
echo ('naam of wachtwoord onjuist');
}
}
}
public function lastIp($ip) {
$ip = $_SERVER['REMOTE_ADDR'];
$db->query("INSERT INTO user WHERE ip = '" .mysql_real_escape_string($_POST['last_ip']) ."'");
$_SESSION['last_ip'] = $ip;
return $ip;
echo ('zie iets');
}
}
$login = new LogIn($_POST['name'], $_POST['password']);
lastIp($ip);
?>
Gewijzigd op 31/08/2011 14:15:54 door Jasper DS
Notice: Undefined variable: db in /Applications/MAMP/htdocs/infodatek/classes/class_login_comments.php on line 33
Fatal error: Call to a member function query() on a non-object in /Applications/MAMP/htdocs/infodatek/classes/class_login_comments.php on line 33
$login = new LogIn($_POST['name'], $_POST['password']);
$login->lastIp($ip);
Toevoeging op 31/08/2011 14:17:54:
had ik al geprobeerd :P
+ er is geen verbinding met de db. De var $db is niet vindbaar -> de query mislukt daardoor.
Gewijzigd op 31/08/2011 14:20:01 door Jasper DS
$ip = $_SERVER['REMOTE_ADDR']; ik heb IP toch aangemaakt in me functie?
Dan doe je $login->lastIp()
als ik de functie van ip weghaal kan ik gewoon inloggen?
Code (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
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
<?php session_start();
require_once('db.class.php');
class login {
public function LogIn($name, $password) {
//als naam en wachtwoord goed gepost zijn.
if(!isset($_POST['name']) && (!isset($_POST['password']) )) {
echo ('Velden niet ingevuld');
} else {
global $db;
$res = $db->query("SELECT * FROM user WHERE name = '" . $db->escape_all_not_tolerated_chararacters($name)
. "' AND password = '" . $db->escape_all_not_tolerated_chararacters($password) . "'");
if($db->numRows($res == 1)){
// dan maak sessie loggedin met name/pass. en ip.
$_SESSION['loggedin'] = $name && $password;
echo ("u bent ingelogd " . $res ." ");
}
else {
echo ('naam of wachtwoord onjuist');
}
}
}
public function lastIp() {
$ip = $_SERVER['REMOTE_ADDR'];
$_SESSION['ip'] = $ip;
mysql_query ("UPDATE user SET last_ip ='$ip'");
}
public function logOut() {
}
}
$login = new LogIn($_POST['name'], $_POST['password']);
$login->lastIp();
?>
require_once('db.class.php');
class login {
public function LogIn($name, $password) {
//als naam en wachtwoord goed gepost zijn.
if(!isset($_POST['name']) && (!isset($_POST['password']) )) {
echo ('Velden niet ingevuld');
} else {
global $db;
$res = $db->query("SELECT * FROM user WHERE name = '" . $db->escape_all_not_tolerated_chararacters($name)
. "' AND password = '" . $db->escape_all_not_tolerated_chararacters($password) . "'");
if($db->numRows($res == 1)){
// dan maak sessie loggedin met name/pass. en ip.
$_SESSION['loggedin'] = $name && $password;
echo ("u bent ingelogd " . $res ." ");
}
else {
echo ('naam of wachtwoord onjuist');
}
}
}
public function lastIp() {
$ip = $_SERVER['REMOTE_ADDR'];
$_SESSION['ip'] = $ip;
mysql_query ("UPDATE user SET last_ip ='$ip'");
}
public function logOut() {
}
}
$login = new LogIn($_POST['name'], $_POST['password']);
$login->lastIp();
?>
het werkt!! bedankt mensen :)
Geen probleem. :)