header(); werkt niet?
Hallo heb hier een script waar de header functie wel in localhost werkt maar niet online kan iemand mij vertellen wat ik fout doe?
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
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
<?php
include("includes/header.php");
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['naam']) && isset($_POST['wachtwoord']) && strlen($_POST['naam']) > 0 && strlen($_POST['wachtwoord']) > 0 ) {
$sql = "SELECT P_ID, status, naam FROM gebruikers WHERE naam='" . mysql_real_escape_string($_POST["naam"]) ."' AND wachtwoord='" . mysql_real_escape_string($_POST['wachtwoord']) ."'";
$result = mysql_query($sql) or die("FOUT : " . mysql_error());
if ($row = mysql_fetch_assoc($result)) {
$_SESSION['naam'] = ($row['naam']);
$_SESSION['P_ID'] = ($row['P_ID']);
$_SESSION['gebruikersnaam'] = ($row['gebruikersnaam']);
$_SESSION['status'] = ($row['status']);
if ($SESSION['status'] == 0 ) {
header("Location: 0.php");
}
} else {
echo "Verkeerde combinatie gebruikersnaam en wachtwoord";
}
} else {
echo "U hebt niet alle velden ingevuld.";
}
} else {
echo "U kunt niet rechtstreeks op deze pagina komen.";
}
?>
include("includes/header.php");
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['naam']) && isset($_POST['wachtwoord']) && strlen($_POST['naam']) > 0 && strlen($_POST['wachtwoord']) > 0 ) {
$sql = "SELECT P_ID, status, naam FROM gebruikers WHERE naam='" . mysql_real_escape_string($_POST["naam"]) ."' AND wachtwoord='" . mysql_real_escape_string($_POST['wachtwoord']) ."'";
$result = mysql_query($sql) or die("FOUT : " . mysql_error());
if ($row = mysql_fetch_assoc($result)) {
$_SESSION['naam'] = ($row['naam']);
$_SESSION['P_ID'] = ($row['P_ID']);
$_SESSION['gebruikersnaam'] = ($row['gebruikersnaam']);
$_SESSION['status'] = ($row['status']);
if ($SESSION['status'] == 0 ) {
header("Location: 0.php");
}
} else {
echo "Verkeerde combinatie gebruikersnaam en wachtwoord";
}
} else {
echo "U hebt niet alle velden ingevuld.";
}
} else {
echo "U kunt niet rechtstreeks op deze pagina komen.";
}
?>
laat header.php eens zien.
1 wilde gok: er is output geweest (dus wat dan ook) voor de aanroep van header().
En je zou dit eens moeten neerzetten: error_reporting(E_ALL);
1 wilde gok: er is output geweest (dus wat dan ook) voor de aanroep van header().
En je zou dit eens moeten neerzetten: error_reporting(E_ALL);
<!DOCTYPE html>
<html>
<head>
<title>Medlon</title>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="wrapper">
Toevoeging op 09/07/2012 21:31:17:
session_start();
include("includes/connectie.php");
Heb dit al proberen neer te zetten inplaats van de header include.
in jouw situatie heeft header.php dus al output gegeven.
(namelijk '<!DOCTYPE html>
<html>
<head>
<title>Medlon</title>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="wrapper">' )
als je een header() ding wilt gebruiken moet dat voordat er output is, dus een logische stap zou zijn om alle html code uit header.php te halen en pas via een ander bestand te includen als zeker is dat je niet meer een header() call wilt maken
(namelijk '<!DOCTYPE html>
<html>
<head>
<title>Medlon</title>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="wrapper">' )
als je een header() ding wilt gebruiken moet dat voordat er output is, dus een logische stap zou zijn om alle html code uit header.php te halen en pas via een ander bestand te includen als zeker is dat je niet meer een header() call wilt maken
Zoals ik zei heb include header al veranderd naar
include connectie en session_start
include connectie en session_start
misschien wordt er alsnog ergens per ongeluk een enter als output gestuurd, dan moet je die ook weghalen
Geen enters en spaties double checked.
Zet dit als allereerste in je script:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// rest
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// rest
?>
Levert helemaal niks op SanThe
Bert B op 09/07/2012 21:21:54:
Hallo heb hier een script waar de header functie wel in localhost werkt maar niet online
Wat werkt er niet?
Controleer eens welke if gekozen wordt.
Zet na je header eens exit;
0.php bestaat wel (en is dat een geldige naam)?
had hem op 0 gezet:P krijg dit:
Notice: Undefined index: gebruikersnaam in /customers/8/4/6/....nl/httpd.www/.../inloggen.php on line 17 Notice: Undefined variable: SESSION in /customers/8/4/6/....nl/httpd.www/.../inloggen.php on line 20 Warning: Cannot modify header information - headers already sent by (output started at /customers/8/4/6/....nl/httpd.www/.../includes/connectie.php:1) in /customers/8/4/6/...nl/httpd.www/.../inloggen.php on line 21
Toevoeging op 09/07/2012 21:57:06:
exit geplaats alle if's werken behalve die van header | wat werkt er niet? wordt niet doorgestuurd.
Notice: Undefined index: gebruikersnaam in /customers/8/4/6/....nl/httpd.www/.../inloggen.php on line 17 Notice: Undefined variable: SESSION in /customers/8/4/6/....nl/httpd.www/.../inloggen.php on line 20 Warning: Cannot modify header information - headers already sent by (output started at /customers/8/4/6/....nl/httpd.www/.../includes/connectie.php:1) in /customers/8/4/6/...nl/httpd.www/.../inloggen.php on line 21
Toevoeging op 09/07/2012 21:57:06:
exit geplaats alle if's werken behalve die van header | wat werkt er niet? wordt niet doorgestuurd.
In die foutmelding staan heel duidelijk een aantal oorzaken.
Die eerst maar oplossen en mogelijk dat daarna je header wel werkt.
Die eerst maar oplossen en mogelijk dat daarna je header wel werkt.




