Warning: Cannot modify header information - headers already sent by
De volgende fout weet ik geen raad mee
Warning: Cannot modify header information - headers already sent by (output started at /homez.99/smartinv/www/loginnl/login.php:13) in /homez.99/smartinv/www/loginnl/login.php on line 115
$actie = $_POST['actie']; // Uit te voeren actie bepalen
if ($actie === "Inloggen" ) {
// SQL-query definiëren:
if ($actie == "Inloggen") {
$sql = "SELECT * FROM intresse WHERE email='" . $_POST["e"] ."' AND wachtwoord='". $_POST["w"]. "'"; }
// Constanten voor mysql_connect() insluiten:
require_once('mysql_connect.inc.php');
// Databaseverbinding openen:
$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());
// Database 'test' selecteren:
mysql_select_db("smartinvpol") or die("Kon de database niet openen: " . mysql_error());
// Query zonder resultaatset uitvoeren:
$result = mysql_query($sql) or die("Query mislukt: " . mysql_error());
$row=mysql_fetch_array($result);
if(!empty($row)){
$email = $_POST["e"];
$wachtwoord = $_POST["w"];
session_register("email");
session_register("wachtwoord");
// Doorsturen naar beveiligde pagina
header("Location: beveiligd.php");
exit(); }
} if(empty($row)){
$melding = "U hebt geen geldige combinatie van e-mailadres en
wachtwoord opgegeven.<br> Indien u nog niet geregistreerd bent:<br>
<a href=\"registreer.php\">Hier registreren</a><br>";
}
// Databaseverbinding sluiten:
mysql_close($verbinding);
} else {
$emailadres = htmlentities($emailadres, ENT_QUOTES);
// Foutmelding afhankelijk van de lengte van het e-mailadres:
if (strlen($emailadres) < 1) {
$melding = "U moet een <strong>e-mailadres</strong> invoeren. ";
} else {
$melding = "<strong>$emailadres</strong> is geen geldig e-mailadres. ";
$melding .= "Verbeter het e-mailadres of voer een ander e-mailadres in. ";
}
}
}
} else {
$emailadres = "";
// Algemene instructies weergeven:
$melding = "Voer een geldig e-mailadres en paswoord in<br> ";
}
?>
dank bij voorbaat
Dit is tevens zeer verouderd. Ik zou een ander script zoeken / zelf maken.
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
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
<?php
$actie = $_POST['actie']; // Uit te voeren actie bepalen
if ($actie === "Inloggen" ) {
// SQL-query definiëren:
if ($actie == "Inloggen") {
$sql = "SELECT * FROM intresse WHERE email='" . $_POST["e"] ."' AND wachtwoord='". $_POST["w"]. "'"; }
// Constanten voor mysql_connect() insluiten:
require_once('mysql_connect.inc.php');
// Databaseverbinding openen:
$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());
// Database 'test' selecteren:
mysql_select_db("smartinvpol") or die("Kon de database niet openen: " . mysql_error());
// Query zonder resultaatset uitvoeren:
$result = mysql_query($sql) or die("Query mislukt: " . mysql_error());
$row=mysql_fetch_array($result);
if(!empty($row)){
$email = $_POST["e"];
$wachtwoord = $_POST["w"];
session_register("email");
session_register("wachtwoord");
// Doorsturen naar beveiligde pagina
header("Location: beveiligd.php");
exit(); }
} if(empty($row)){
$melding = "U hebt geen geldige combinatie van e-mailadres en
wachtwoord opgegeven.<br> Indien u nog niet geregistreerd bent:<br>
<a href=\"registreer.php\">Hier registreren</a><br>";
}
// Databaseverbinding sluiten:
mysql_close($verbinding);
} else {
$emailadres = htmlentities($emailadres, ENT_QUOTES);
// Foutmelding afhankelijk van de lengte van het e-mailadres:
if (strlen($emailadres) < 1) {
$melding = "U moet een <strong>e-mailadres</strong> invoeren. ";
} else {
$melding = "<strong>$emailadres</strong> is geen geldig e-mailadres. ";
$melding .= "Verbeter het e-mailadres of voer een ander e-mailadres in. ";
}
}
}
} else {
$emailadres = "";
// Algemene instructies weergeven:
$melding = "Voer een geldig e-mailadres en paswoord in<br> ";
}
?>
$actie = $_POST['actie']; // Uit te voeren actie bepalen
if ($actie === "Inloggen" ) {
// SQL-query definiëren:
if ($actie == "Inloggen") {
$sql = "SELECT * FROM intresse WHERE email='" . $_POST["e"] ."' AND wachtwoord='". $_POST["w"]. "'"; }
// Constanten voor mysql_connect() insluiten:
require_once('mysql_connect.inc.php');
// Databaseverbinding openen:
$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());
// Database 'test' selecteren:
mysql_select_db("smartinvpol") or die("Kon de database niet openen: " . mysql_error());
// Query zonder resultaatset uitvoeren:
$result = mysql_query($sql) or die("Query mislukt: " . mysql_error());
$row=mysql_fetch_array($result);
if(!empty($row)){
$email = $_POST["e"];
$wachtwoord = $_POST["w"];
session_register("email");
session_register("wachtwoord");
// Doorsturen naar beveiligde pagina
header("Location: beveiligd.php");
exit(); }
} if(empty($row)){
$melding = "U hebt geen geldige combinatie van e-mailadres en
wachtwoord opgegeven.<br> Indien u nog niet geregistreerd bent:<br>
<a href=\"registreer.php\">Hier registreren</a><br>";
}
// Databaseverbinding sluiten:
mysql_close($verbinding);
} else {
$emailadres = htmlentities($emailadres, ENT_QUOTES);
// Foutmelding afhankelijk van de lengte van het e-mailadres:
if (strlen($emailadres) < 1) {
$melding = "U moet een <strong>e-mailadres</strong> invoeren. ";
} else {
$melding = "<strong>$emailadres</strong> is geen geldig e-mailadres. ";
$melding .= "Verbeter het e-mailadres of voer een ander e-mailadres in. ";
}
}
}
} else {
$emailadres = "";
// Algemene instructies weergeven:
$melding = "Voer een geldig e-mailadres en paswoord in<br> ";
}
?>
gebruik $_SESSION[''] idpv session_register
bou een nette foutafhandeling, dus niet 'or die'.
Gewijzigd op 30/12/2010 08:47:23 door Jasper DS
In login.php stuur je html naar de gebruiker. Lijn 13 wordt vermeld.
Toon eens het begin van login.php
EDIT
Pas ook heel goed op met includes.
Includes met functies, configuratiegegevens, ...
Daar mag niets van html los lopen.
Er mag niets staan vóór <?php .
Er mag niets staan na ?> .
Zelfs geen spatie.
Gewijzigd op 30/12/2010 09:16:03 door Kris Peeters
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>-</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="../css/1.css" type="text/css" media="screen,projection" />
<style type="text/css">
<!--
body {
background-image: url(../images/backgrounds/body1a.jpg);
}
.stijl4 {
color: #FF6600;
font-size: 18px;
}
.stijl5 {
color: #0066FF;
font-weight: bold;
font-size: 18px;
}
.stijl7 {font-size: 18px}
.stijl8 {color: #FF6600}
-->
</style></head>
<body>
<div id="container">
<div id="header">
<h1></h1>
<h3 </h3>
</div>
<ul id="nav">
<li></li>
</ul>
<br class="clear" />
<div id="sidebar">
<h1> Welkom<br />
</h1>
<br />
<div class="sidebarfooter">
<div align="justify"> </div>
</div>
<div id="sidebar_bottom"><label></label></div>
</div>
<div id="content"></div>
<h2 align="center"></h2>
</div></body></html>
<?php
/* MySQL-query voor het maken van de databasetabel:
CREATE TABLE `nieuwsbrief` (
`email` TINYTEXT NOT NULL
);
*/
// Het formulier alleen verwerken als er op een knop met de naam 'actie' is geklikt:
if (isset($_POST['actie'])) {
$emailadres = $_POST['e']; // E-mailadres lezen uit formulierveld 'e'
$paswoord = $_POST['w']; // Paswoord lezen uit formulierveld 'w'
$emailadres = strip_tags($emailadres); // HTML-tags en PHP-code verwijderen
$paswoord = strip_tags($paswoord); //HTML-tags en PHP-code verwijderen
$paswoord = trim($paswoord); // Witruimte aan het begin en einde verwijderen
$emailadres = trim($emailadres); // Witruimte aan het begin en einde verwijderen
$melding = "Voer een geldig e-mail adres en paswoord in";
if (strlen($emailadres) > 50) {
$melding = "Fout e-mail adres ";
} else {
require_once('../loginnl/is_email.inc.php'); // Functie is_email() insluiten
if (is_email($emailadres)) { // E-mailadres controleren met de functie is_email()
$actie = $_POST['actie']; // Uit te voeren actie bepalen
if ($actie === "Inloggen" ) {
// SQL-query definiëren:
if ($actie == "Inloggen") {
$sql = "SELECT * FROM intresse WHERE email='" . $_POST["e"] ."' AND wachtwoord='". $_POST["w"]. "'"; }
// Constanten voor mysql_connect() insluiten:
require_once('mysql_connect.inc.php');
// Databaseverbinding openen:
$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());
// Database 'test' selecteren:
mysql_select_db("smartinvpol") or die("Kon de database niet openen: " . mysql_error());
// Query zonder resultaatset uitvoeren:
$result = mysql_query($sql) or die("Query mislukt: " . mysql_error());
$row=mysql_fetch_array($result);
if(!empty($row)){
$email = $_POST["e"];
$wachtwoord = $_POST["w"];
session_register("email");
session_register("wachtwoord");
// Doorsturen naar beveiligde pagina
header("Location: beveiligd.php");
exit(); }
} if(empty($row)){
$melding = "U hebt geen geldige combinatie van e-mailadres en
wachtwoord opgegeven.<br> Indien u nog niet geregistreerd bent:<br>
<a href=\"registreer.php\">Hier registreren</a><br>";
}
// Databaseverbinding sluiten:
mysql_close($verbinding);
} else {
$emailadres = htmlentities($emailadres, ENT_QUOTES);
// Foutmelding afhankelijk van de lengte van het e-mailadres:
if (strlen($emailadres) < 1) {
$melding = "U moet een <strong>e-mailadres</strong> invoeren. ";
} else {
$melding = "<strong>$emailadres</strong> is geen geldig e-mailadres. ";
$melding .= "Verbeter het e-mailadres of voer een ander e-mailadres in. ";
}
}
}
} else {
$emailadres = "";
// Algemene instructies weergeven:
$melding = "Voer een geldig e-mailadres en paswoord in<br> ";
}
?>
<h2>Inloggen</h2>
<p><?php echo $melding; ?></p>
<form action="login.php" method="post">
<table border="0" cellpadding="0" cellspacing="2">
<tr>
<td nowrap><label for="e"><span style="text-decoration: underline">E</span>-mailadres:</label></td>
</tr>
<tr>
<td><input accesskey="e" id="e" name="e" maxlength="255" size="30" type="text" value="<?php echo $emailadres; ?>"><br /></td>
</tr>
<tr>
<td nowrap><label for="w"><span style="text-decoration: underline">W</span>achtwoord:</label></td>
</tr>
<tr>
<td><input accesskey="w" id="w" name="w" maxlength="255" size="30" type="password" value="<?php echo $paswoord; ?>"><br /><br /></td>
</tr>
<tr>
<td align="center" nowrap>
<input class="knop" name="actie" type="submit" value="Inloggen">
<input class="knop" name="actie" type="submit" value="Wissen">
</td>
</tr>
</table>
</form>
Paswoord vergeten? Klik <a href="vergeten.php" target="_blank">hier</a>
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>-</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="../css/1.css" type="text/css" media="screen,projection" />
<style type="text/css">
<!--
body {
background-image: url(../images/backgrounds/body1a.jpg);
}
.stijl4 {
color: #FF6600;
font-size: 18px;
}
.stijl5 {
color: #0066FF;
font-weight: bold;
font-size: 18px;
}
.stijl7 {font-size: 18px}
.stijl8 {color: #FF6600}
-->
</style></head>
<body>
<div id="container">
<div id="header">
<h1></h1>
<h3 </h3>
</div>
<ul id="nav">
<li></li>
</ul>
<br class="clear" />
<div id="sidebar">
<h1> Welkom<br />
</h1>
<br />
<div class="sidebarfooter">
<div align="justify"> </div>
</div>
<div id="sidebar_bottom"><label></label></div>
</div>
<div id="content"></div>
<h2 align="center"></h2>
</div></body></html>
<?php
/* MySQL-query voor het maken van de databasetabel:
CREATE TABLE `nieuwsbrief` (
`email` TINYTEXT NOT NULL
);
*/
// Het formulier alleen verwerken als er op een knop met de naam 'actie' is geklikt:
if (isset($_POST['actie'])) {
$emailadres = $_POST['e']; // E-mailadres lezen uit formulierveld 'e'
$paswoord = $_POST['w']; // Paswoord lezen uit formulierveld 'w'
$emailadres = strip_tags($emailadres); // HTML-tags en PHP-code verwijderen
$paswoord = strip_tags($paswoord); //HTML-tags en PHP-code verwijderen
$paswoord = trim($paswoord); // Witruimte aan het begin en einde verwijderen
$emailadres = trim($emailadres); // Witruimte aan het begin en einde verwijderen
$melding = "Voer een geldig e-mail adres en paswoord in";
if (strlen($emailadres) > 50) {
$melding = "Fout e-mail adres ";
} else {
require_once('../loginnl/is_email.inc.php'); // Functie is_email() insluiten
if (is_email($emailadres)) { // E-mailadres controleren met de functie is_email()
$actie = $_POST['actie']; // Uit te voeren actie bepalen
if ($actie === "Inloggen" ) {
// SQL-query definiëren:
if ($actie == "Inloggen") {
$sql = "SELECT * FROM intresse WHERE email='" . $_POST["e"] ."' AND wachtwoord='". $_POST["w"]. "'"; }
// Constanten voor mysql_connect() insluiten:
require_once('mysql_connect.inc.php');
// Databaseverbinding openen:
$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());
// Database 'test' selecteren:
mysql_select_db("smartinvpol") or die("Kon de database niet openen: " . mysql_error());
// Query zonder resultaatset uitvoeren:
$result = mysql_query($sql) or die("Query mislukt: " . mysql_error());
$row=mysql_fetch_array($result);
if(!empty($row)){
$email = $_POST["e"];
$wachtwoord = $_POST["w"];
session_register("email");
session_register("wachtwoord");
// Doorsturen naar beveiligde pagina
header("Location: beveiligd.php");
exit(); }
} if(empty($row)){
$melding = "U hebt geen geldige combinatie van e-mailadres en
wachtwoord opgegeven.<br> Indien u nog niet geregistreerd bent:<br>
<a href=\"registreer.php\">Hier registreren</a><br>";
}
// Databaseverbinding sluiten:
mysql_close($verbinding);
} else {
$emailadres = htmlentities($emailadres, ENT_QUOTES);
// Foutmelding afhankelijk van de lengte van het e-mailadres:
if (strlen($emailadres) < 1) {
$melding = "U moet een <strong>e-mailadres</strong> invoeren. ";
} else {
$melding = "<strong>$emailadres</strong> is geen geldig e-mailadres. ";
$melding .= "Verbeter het e-mailadres of voer een ander e-mailadres in. ";
}
}
}
} else {
$emailadres = "";
// Algemene instructies weergeven:
$melding = "Voer een geldig e-mailadres en paswoord in<br> ";
}
?>
<h2>Inloggen</h2>
<p><?php echo $melding; ?></p>
<form action="login.php" method="post">
<table border="0" cellpadding="0" cellspacing="2">
<tr>
<td nowrap><label for="e"><span style="text-decoration: underline">E</span>-mailadres:</label></td>
</tr>
<tr>
<td><input accesskey="e" id="e" name="e" maxlength="255" size="30" type="text" value="<?php echo $emailadres; ?>"><br /></td>
</tr>
<tr>
<td nowrap><label for="w"><span style="text-decoration: underline">W</span>achtwoord:</label></td>
</tr>
<tr>
<td><input accesskey="w" id="w" name="w" maxlength="255" size="30" type="password" value="<?php echo $paswoord; ?>"><br /><br /></td>
</tr>
<tr>
<td align="center" nowrap>
<input class="knop" name="actie" type="submit" value="Inloggen">
<input class="knop" name="actie" type="submit" value="Wissen">
</td>
</tr>
</table>
</form>
Paswoord vergeten? Klik <a href="vergeten.php" target="_blank">hier</a>
Toevoeging op 30/12/2010 09:16:39:
heb het op gelost header mee bovenaan gezet bedankt
Plaats in het vervolg [code] [/code]-tags rond je code.
[/modedit]
Gewijzigd op 30/12/2010 11:01:07 door Jens V
Mark Coenen op 30/12/2010 08:41:45:
dat komt omdat je dit boven je html moet zetten. session_start() en header() vinden output naar de browser niet leuk.
Dit is tevens zeer verouderd. Ik zou een ander script zoeken / zelf maken.
Dit is tevens zeer verouderd. Ik zou een ander script zoeken / zelf maken.
Houd jij de mensen hun paswoord zomaar bij op je database, zonder enige encryptie?
Herinner me er aan om nooit te registreren op een site waar je aan werkt.
Er is inderdaad van alles mis met dit script.
Zoek een ander!
Sorry hoor, no offence, maar hoe meer ik kijk ...
Dit is precies Fawlty Towers. Alles wat fout kan lopen, wordt hier fout gedaan.
Ik hou dit script bij als voorbeeld van alles wat men niet hoort te doen.
Gewijzigd op 30/12/2010 10:07:19 door Kris Peeters
* gebruik geen * dit is een wildcard selecteer wat je wilt
* controleren of er op submit is gedrukt doe je met $_SERVER['REQUEST_METHOD'] == 'POST'
* waarom mysql_close($verbinding); ?
* zoals hierboven gebruik $_SESSION['']
Die variabele die een foutmelding moet geven die zet je alleen in het stukje html.
Daar mis je een controlle op.
dus:
bovenin je pagina:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
session_start();
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// hier alle dingen die gecontroleerd moeten worden, database e.d.
header('Location: beveiligd.php');
exit();
}
?>
session_start();
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// hier alle dingen die gecontroleerd moeten worden, database e.d.
header('Location: beveiligd.php');
exit();
}
?>
<html>
//de rest
Verder moet er zoals andere zeggen nog veel gepoetst worden in de code.