Vraag over scheiden van php bestand
Ik probeer me met kleine beetjes te verdiepen in php als ik dat nodig heb en ik wil graag een soort admin panel maken, daarin kan ik dan gewoon tekst typen en dat hij dat dan zelf op de website zet. Hiervoor heb ik wel eerst een soort login system nodig. Hiervoor zocht ik op google en kwam ik bij een script van phphulp.nl uit.
Nu mijn vraag, de login.php pagina bestaat ook uit de inhoud van de pagina waar je op komt als je ingelogd bent. Ik zou dit graag anders zien maar ik weet niet goed hoe ik dit moet doen.
Ik zou graag willen:
* index.php -> de inhoud
* login.php -> alleen het inloggen
Nu bestaat alles in de login.php
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?
include("config.php");
?>
<html>
<head>
<title>Login</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<?
if($_GET['p'] == "uitloggen")
{
$_SESSION = array();
header("Location: ".$_SERVER['PHP_SELF']."");
}
elseif($_GET['p'] == "wijzig_pass")
{
if($_POST['wijzig_pass'])
{
if(strlen($_POST['password']) < 6 || strlen($_POST['password']) > 40)
{
echo "<b><i>Het wachtwoord is minder als 6 of meer als 40 tekens</i></b><br><br>";
echo "Klik <a href=\"javascript:history.back(-1)\">hier</a> om terug te gaan";
}
else
{
$sql = "UPDATE `inlogsysteem` SET `password` = '".md5($_POST['password'])."' WHERE `id` = '".$_SESSION['id']."'";
mysql_query($sql);
header("Location: ".$_SERVER['PHP_SELF']."");
}
}
else
{
echo "<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\">";
echo "<form action=\"\" method=\"post\">";
echo "<a href=\"".$_SERVER['PHP_SELF']."\">Terug</a><br><br>";
echo "
<tr>
<td>Nieuwe Password</td>
<td><input type=\"password\" name=\"password\"></td>
</tr>
<tr>
<td> </td>
<td align=\"right\"><input type=\"submit\" name=\"wijzig_pass\" value=\"Wijzig!\"></td>
</tr>
";
echo "</form>";
echo "</table>";
echo "<span style=\"font-size:8pt;\">* Niet op 'Enter' drukken maar<br> met de muis klikken op 'Wijzig!'</span>";
}
}
elseif($_SESSION['login'] == "1" && $_SESSION['status'] == "a")
{
echo "Welkom ".ucfirst($_SESSION['naam'])." !<br><br>";
echo "[Admin]<br><br>";
echo "<a href=\"admin.php\" target=\"_blank\">Admin Locatie</a><br><br>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=wijzig_pass\">Wijzig Password</a><br><br>";
echo "<a href=\"ledenlijst.php\"><b>Ledenlijst</b><br><br>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=uitloggen\">Uitloggen</a>";
}
elseif($_SESSION['login'] == "1" && $_SESSION['status'] == "m")
{
echo "Welkom ".ucfirst($_SESSION['naam'])." !<br><br>";
echo "[Moderator]<br><br>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=wijzig_pass\">Wijzig Password</a><br><br>";
echo "<a href=\"ledenlijst.php\"><b>Ledenlijst</b><br><br>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=uitloggen\">Uitloggen</a>";
}
elseif($_SESSION['login'] == "1" && $_SESSION['status'] == "n")
{
echo "Welkom ".ucfirst($_SESSION['naam'])." !<br><br>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=wijzig_pass\">Wijzig Password</a><br><br>";
echo "<a href=\"ledenlijst.php\"><b>Ledenlijst</b><br><br>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=uitloggen\">Uitloggen</a>";
}
else
{
if($_POST['login'])
{
$username = addslashes($_POST['username']);
$md5_ww = md5($_POST['password']);
$sql = "SELECT * FROM `inlogsysteem` WHERE `username` = '".$username."' AND `password` = '".$md5_ww."'";
$query = mysql_query($sql);
if(mysql_num_rows($query) == 1)
{
$username = addslashes($_POST['username']);
$md5_ww = md5($_POST['password']);
$statussql = "SELECT * FROM `inlogsysteem` WHERE `username` = '".$username."' AND `password` = '".$md5_ww."'";
$statusquery = mysql_query($statussql);
$status = mysql_fetch_assoc($statusquery);
if($status['status'] == "n")
{
$_SESSION['login'] = "1";
$_SESSION['status'] = "n";
$_SESSION['naam'] = $username;
$_SESSION['id'] = $status['id'];
}
elseif($status['status'] == "m")
{
$_SESSION['login'] = "1";
$_SESSION['status'] = "m";
$_SESSION['naam'] = $username;
$_SESSION['id'] = $status['id'];
}
elseif($status['status'] == "a")
{
$_SESSION['login'] = "1";
$_SESSION['status'] = "a";
$_SESSION['naam'] = $username;
$_SESSION['id'] = $status['id'];
}
header("Location: ".$_SERVER['PHP_SELF']."");
}
else
{
echo "Gebruikersnaam en/of wachtwoord verkeerd<br><br>";
}
}
echo "
<table border=\"0\">
<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">
<tr>
<td>Username</td>
<td><input type=\"text\" name=\"username\" size=\"15\"></td>
</tr>
<tr>
<td>Password</td>
<td><input type=\"password\" name=\"password\" size=\"15\"></td>
</tr>
<tr>
<td align=\"right\"><input type=\"button\" name=\"registreer\" value=\"Registreer!\" onClick=\"window.open('registreer.php','Registreer_Popup','width=250,height=300,scrollbars=yes')\"></td>
<td align=\"right\"><input type=\"submit\" name=\"login\" value=\"Login!\"></td>
</tr>
</form>
</table>
";
}
ob_end_flush();
?>
include("config.php");
?>
<html>
<head>
<title>Login</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<?
if($_GET['p'] == "uitloggen")
{
$_SESSION = array();
header("Location: ".$_SERVER['PHP_SELF']."");
}
elseif($_GET['p'] == "wijzig_pass")
{
if($_POST['wijzig_pass'])
{
if(strlen($_POST['password']) < 6 || strlen($_POST['password']) > 40)
{
echo "<b><i>Het wachtwoord is minder als 6 of meer als 40 tekens</i></b><br><br>";
echo "Klik <a href=\"javascript:history.back(-1)\">hier</a> om terug te gaan";
}
else
{
$sql = "UPDATE `inlogsysteem` SET `password` = '".md5($_POST['password'])."' WHERE `id` = '".$_SESSION['id']."'";
mysql_query($sql);
header("Location: ".$_SERVER['PHP_SELF']."");
}
}
else
{
echo "<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\">";
echo "<form action=\"\" method=\"post\">";
echo "<a href=\"".$_SERVER['PHP_SELF']."\">Terug</a><br><br>";
echo "
<tr>
<td>Nieuwe Password</td>
<td><input type=\"password\" name=\"password\"></td>
</tr>
<tr>
<td> </td>
<td align=\"right\"><input type=\"submit\" name=\"wijzig_pass\" value=\"Wijzig!\"></td>
</tr>
";
echo "</form>";
echo "</table>";
echo "<span style=\"font-size:8pt;\">* Niet op 'Enter' drukken maar<br> met de muis klikken op 'Wijzig!'</span>";
}
}
elseif($_SESSION['login'] == "1" && $_SESSION['status'] == "a")
{
echo "Welkom ".ucfirst($_SESSION['naam'])." !<br><br>";
echo "[Admin]<br><br>";
echo "<a href=\"admin.php\" target=\"_blank\">Admin Locatie</a><br><br>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=wijzig_pass\">Wijzig Password</a><br><br>";
echo "<a href=\"ledenlijst.php\"><b>Ledenlijst</b><br><br>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=uitloggen\">Uitloggen</a>";
}
elseif($_SESSION['login'] == "1" && $_SESSION['status'] == "m")
{
echo "Welkom ".ucfirst($_SESSION['naam'])." !<br><br>";
echo "[Moderator]<br><br>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=wijzig_pass\">Wijzig Password</a><br><br>";
echo "<a href=\"ledenlijst.php\"><b>Ledenlijst</b><br><br>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=uitloggen\">Uitloggen</a>";
}
elseif($_SESSION['login'] == "1" && $_SESSION['status'] == "n")
{
echo "Welkom ".ucfirst($_SESSION['naam'])." !<br><br>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=wijzig_pass\">Wijzig Password</a><br><br>";
echo "<a href=\"ledenlijst.php\"><b>Ledenlijst</b><br><br>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=uitloggen\">Uitloggen</a>";
}
else
{
if($_POST['login'])
{
$username = addslashes($_POST['username']);
$md5_ww = md5($_POST['password']);
$sql = "SELECT * FROM `inlogsysteem` WHERE `username` = '".$username."' AND `password` = '".$md5_ww."'";
$query = mysql_query($sql);
if(mysql_num_rows($query) == 1)
{
$username = addslashes($_POST['username']);
$md5_ww = md5($_POST['password']);
$statussql = "SELECT * FROM `inlogsysteem` WHERE `username` = '".$username."' AND `password` = '".$md5_ww."'";
$statusquery = mysql_query($statussql);
$status = mysql_fetch_assoc($statusquery);
if($status['status'] == "n")
{
$_SESSION['login'] = "1";
$_SESSION['status'] = "n";
$_SESSION['naam'] = $username;
$_SESSION['id'] = $status['id'];
}
elseif($status['status'] == "m")
{
$_SESSION['login'] = "1";
$_SESSION['status'] = "m";
$_SESSION['naam'] = $username;
$_SESSION['id'] = $status['id'];
}
elseif($status['status'] == "a")
{
$_SESSION['login'] = "1";
$_SESSION['status'] = "a";
$_SESSION['naam'] = $username;
$_SESSION['id'] = $status['id'];
}
header("Location: ".$_SERVER['PHP_SELF']."");
}
else
{
echo "Gebruikersnaam en/of wachtwoord verkeerd<br><br>";
}
}
echo "
<table border=\"0\">
<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">
<tr>
<td>Username</td>
<td><input type=\"text\" name=\"username\" size=\"15\"></td>
</tr>
<tr>
<td>Password</td>
<td><input type=\"password\" name=\"password\" size=\"15\"></td>
</tr>
<tr>
<td align=\"right\"><input type=\"button\" name=\"registreer\" value=\"Registreer!\" onClick=\"window.open('registreer.php','Registreer_Popup','width=250,height=300,scrollbars=yes')\"></td>
<td align=\"right\"><input type=\"submit\" name=\"login\" value=\"Login!\"></td>
</tr>
</form>
</table>
";
}
ob_end_flush();
?>
mvg,
Fix eerst eens die ob_-functies door je headers gewoon bovenin te zetten, dat is erg belangrijk.
Roel PHP op 28/10/2013 23:28:30:
Fix eerst eens die ob_-functies door je headers gewoon bovenin te zetten, dat is erg belangrijk.
Wat bedoel je precies, ik snap je niet zo goed. Ben nog niet echt thuis in het php-wereldtje.
Als je geen variabelen mee stuurt met je url (index.php?variabele1=foo&variabele2=bar) zal ik $_SERVER['SCRIPT_NAME'] gebruiken i.p.v. $_SERVER['PHP_SELF']
Gewijzigd op 29/10/2013 08:10:03 door Michael -
Op regel 4 t/m 9 bijvoorbeeld heb je al output. dan kun je geen header meer verzenden.
Dus doe eerst je PHP logica (if ... else ...) zonder output boven in je pagina en ga dan pas beginnen met de output.
Verder het advies om je eens te gaan verdiepen in functies want regel 57 tm 84 zou je af kunnen met één functie die je drie keer aanroept.
Gewijzigd op 29/10/2013 12:36:03 door Frank Nietbelangrijk
Uhm heeft er iemand een voorbeeld? Ik heb dit script niet zelf geschreven maar van internet gehaald. Ik wil alleen dat de inhoud op index.php komt.