Ik heb onderstaand script draaien als login script. Het probleem is alleen het bekende "headers already send" probleem. Alleen krijg ik het in dit geval niet opgelost. Het gaat om de header redirect die wordt uitgevoerd zodra de login juist is. Heeft iemand enig idee waar het probleem zit, en hoe ik dit kan oplossen ?
login script :
Error :PHP Code:
<?php session_start();
include 'conn.php';
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$login_user = $Mysqli->real_escape_string($_POST['gebruikersnaam']);
$login_pass = $Mysqli->real_escape_string($_POST['wachtwoord']);
$user_ip = $_SERVER['REMOTE_ADDR'];
srand ((double) microtime( )*1000000);
$session_id = rand(1000,1000000);
$q1 = "
SELECT
id,
username,
block
FROM
users
WHERE
username = '".$login_user."'
AND
password = '".$login_pass."'
";
if(!$r1 = $Mysqli->query($q1))
{
echo 'Er is een fout opgetreden!. '. $Mysqli->error;
}
elseif($Mysqli->affected_rows == 1)
{
while ($row = $r1->fetch_assoc ())
{
$_SESSION["username"] = $row['username'];
$_SESSION['user_id'] = $row['id'];
$_SESSION['user_ip'] = $user_ip;
$_SESSION['session_id'] = $session_id;
if ($row['block'] == 1)
{
echo 'Je bent geblokkeerd, je kunt niet meer inloggen!';
}
else
{
header("location: " . 'index2.php');
}
$q2 = "
INSERT INTO
sessions
(
user_id,
session_id,
user_ip
)
VALUES
(
'".$row['id']."',
'".$session_id."',
'".$user_ip."'
)
";
}
if (!$Mysqli->query ($q2) )
{
echo 'Er is een fout opgetreden!'. $Mysqli->error;
}
}
else
{
echo 'Gebruikersnaam of wachtwoord onjuist, probeer het opnieuw!';
}
}
else
{
?>
<html>
<head>
<title>HVMade CMS</title>
<style type="text/css">
<!--
body {
margin-top: 200px;
}
-->
</style>
</head>
<body>
<?php
if(isset($_GET['error']))
{
if($_GET['error'] == 'sess')
{
echo 'De sessie is ongeldig! Log aub opnieuw in!<p>';
}
}
?>
<div align="center"><div style="background-image:url(img/login.jpg); background-repeat:no-repeat; width:350px; height:200px; text-align:left; padding-top:50px; padding-left:10px;">
<form method='post'>
<table>
<tr>
<td>Gebruikersnaam:</td>
<td><input type='text' name='gebruikersnaam'></td>
</tr>
<tr>
<td>Wachtwoord:</td>
<td><input type='password' name='wachtwoord'></td>
</tr>
<tr>
<td><input type='submit' name='submit' value='Login'></td>
</tr>
</table>
</form>
</div></div>
</body>
</html>
<?php
}
?>
Warning: Cannot modify header information - headers already sent by (output started at /home/site/domains/site.nl/public_html/beta/cms/index.php:1) in /home/site/domains/site.nl/public_html/beta/cms/index.php on line 55
- probleem login script
-
13-11-2012, 23:53 #1
- Berichten
- 515
- Lid sinds
- 16 Jaar
probleem login script
-
-
14-11-2012, 00:45 #2
- Berichten
- 691
- Lid sinds
- 15 Jaar
Re: probleem login script
Probeer dit alternatief eens:
PHP Code:if (headers_sent()) {
die('Redirect niet gelukt. <a href="index2.php">Klik hier</a>');
} else{
exit(header("Location: /index2.php"));
}
-
14-11-2012, 00:53 #3
- Berichten
- 59
- Lid sinds
- 18 Jaar
Re: probleem login script
Je hebt een spatie staan voor <?php als je die weghaalt moet hij het doen.
Deze foutmelding betekent dat er al een HTTP message is verstuurd van de client. Jouw redirect gebeurt op het niveau van de HTTP messages, en je kan die dus niet aanpassen nadat ze zijn verzonden.
De reden dat er al een HTTP message is verzonden is omdat er content is gevonden (je spatie) en dan wordt dit verzonden, inclusief HTTP headers.
-
14-11-2012, 08:36 #4
- Berichten
- 730
- Lid sinds
- 18 Jaar
Re: probleem login script
Mocht er geen spatie staan maar blijf je de error houden? dan kun je het beste even een nieuw bestand maken met de geselecteerde inhoudt en deze de huidige overschrijven, soms staat er nog een 'niet zichtbare' marker aan het begin van je bestand (heb hier zelf al een paar keer problemen mee gehad namelijk)
-
14-11-2012, 10:46 #5
- Berichten
- 515
- Lid sinds
- 16 Jaar
Re: probleem login script
Het was inderdaad die spatie, nog gezocht zelf maar gewoon overheen gekeken, stom :) Super bedankt, alles werkt nu naar behoren!
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic