Cannot modify header information - headers already sent by

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Pagina: 1 2 volgende »

Mark van Slooten

Mark van Slooten

09/12/2011 14:31:43
Quote Anchor link
Hoi allemaal..

Heb een login/register script draaien.
Alleen zodra ik hem in mijn huidige layout wil importeren komt de melding:

Cannot modify header information - headers already sent by ....

naar voren.
Waar kan dit aan liggen?

Alvast bedankt! :-)
 
PHP hulp

PHP hulp

28/03/2024 20:24:00
 
- Ariën  -
Beheerder

- Ariën -

09/12/2011 14:45:08
Quote Anchor link
Heb je al gezocht? Dit is al erg vaak besproken ;-)
 
Mark van Slooten

Mark van Slooten

09/12/2011 14:47:21
Quote Anchor link
Ja heb ik.. Alleen ik kom er gewoon niet uit..
Het is dat ik net bij de kapper ben geweest anders had ik m'n haren er inmiddels uitgetrokken..

Zou jij kunnen helpen?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

09/12/2011 14:54:00
Quote Anchor link
Waar importeer je het script?
 
Mark van Slooten

Mark van Slooten

09/12/2011 14:55:54
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php # Script 16.8 - login.php
// Dit is de login pagina


require_once ('includes/config.inc.php');
$page_title = 'Inloggen';
include ('includes/header.html');

if (isset($_POST['submitted'])) {
    require_once (MYSQL);
    
    // Valideer het emailadres:
    if (!empty($_POST['email'])) {
        $e = mysqli_real_escape_string ($dbc, $_POST['email']);
    }
else {
        $e = FALSE;
        echo '<p class="error">Geen emailadres ingevuld!</p>';
    }

    
    // Valideer het wachtwoord:
    if (!empty($_POST['pass'])) {
        $p = mysqli_real_escape_string ($dbc, $_POST['pass']);
    }
else {
        $p = FALSE;
        echo '<p class="error">Geen wachtwoord ingevuld!</p>';
    }

    
    if ($e && $p) { // Als alles OK is.
    
        // Query de database:

        $q = "SELECT user_id, first_name, user_level FROM users WHERE (email='$e' AND pass=SHA1('$p')) AND active IS NULL";        
        $r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
        
        if (@mysqli_num_rows($r) == 1) { // Match is gemaakt.

            // Register en redirect:

            $_SESSION = mysqli_fetch_array ($r, MYSQLI_ASSOC);
            mysqli_free_result($r);
            mysqli_close($dbc);
                            
            $url = BASE_URL . 'index.php'; // URL:
            ob_end_clean(); // verwijder de buffer.
            header("Location: $url");
            exit(); // Stopt script.
                
        } else { // Geen match gemaakt.
            echo '<p class="error">Het emailadres/wachtwoord klopt niet. Of uw account is nog niet geactiveerd.</p>';
        }
        
    }
else { // Niet ok.
        echo '<p class="error">Probeer het nogmaals.</p>';
    }

    
    mysqli_close($dbc);

}

// End of SUBMIT conditional.
?>


<center><h1>Inloggen</h1>
<form action="login.php" method="post">
<fieldset>
<p><b>Emailadres:</b> <input type="text" name="email" size="21" maxlength="40" /></p>
<p><b>Wachtwoord:</b> <input type="password" name="pass" size="20" maxlength="20" /></p>
<div align="center"><input type="submit" name="submit" value="Inloggen" /></div>
<input type="hidden" name="submitted" value="TRUE" />
</fieldset>
</form></center>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php // HTML footer invoegen.
include ('includes/footer.html');
?>
 
- Ariën  -
Beheerder

- Ariën -

09/12/2011 14:56:33
Quote Anchor link
Mark van Slooten op 09/12/2011 14:47:21:
Ja heb ik.. Alleen ik kom er gewoon niet uit..
Het is dat ik net bij de kapper ben geweest anders had ik m'n haren er inmiddels uitgetrokken..

Zou jij kunnen helpen?

je hebt een setcookie(), session_start() of header() in je script, en daar gaat door je aanpassing blijkbaar HTML of een witruimte aan vooraf, en dat mag niet.
Je zult je header moeten verplaatsen naar boven, en daarbij de logica van het script aanpassen.

Die ob_start() heb je verder nergens voor nodig.
Gewijzigd op 09/12/2011 14:57:46 door - Ariën -
 
Mark van Slooten

Mark van Slooten

09/12/2011 15:04:30
Quote Anchor link
Ik heb nog geen logica onder de knie..

hij werkte probleem loos.
alleen zodra ik mn orginele css sheet erin ging bouwen failed hij.. zucht
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

09/12/2011 15:05:09
Quote Anchor link
De fout zal hem in regel 6 zitten, daar roep je een html bestand aan, met waarschijnlijk html headers.
 
- Ariën  -
Beheerder

- Ariën -

09/12/2011 15:06:00
Quote Anchor link
Een simpelere ombouw is gewoon om een JS-redirect te gebruiken, i.p.v. een header.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

09/12/2011 15:22:14
Quote Anchor link
Regel 6 op regel 56 zetten kan ook wel eens helpen ;-)
 
Mark van Slooten

Mark van Slooten

09/12/2011 15:32:22
Quote Anchor link
Heb ik gedaan Ger.

Hij geeft nu een error in de header.html

Error gevonden in: '/home/mvs/domains/mvs-designs.nl/public_html/login/includes/header.html' on line 1: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent

Heb de session_start op de 1e regel gezet, op deze manier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php session_start(); ?>


Op deze manier werkte het eerst wel, maar nu niet meer....
 
Erwin H

Erwin H

09/12/2011 15:35:16
Quote Anchor link
Dus je probeert twee keer een header te versturen en dat kan niet. Via die session_start en via regel 46 in je script (met header());
 
Steven Kaan

Steven Kaan

09/12/2011 15:35:27
Quote Anchor link
Haal de session_start uit de header.html en plaats hem op regel 3 van het bestand waar de include staat.
(Boven de require_once dus)
 
Mark van Slooten

Mark van Slooten

09/12/2011 15:38:01
Quote Anchor link
Dat werkt idd Steven!

Alleen nu werkt het inloggen niet meer...
 
- Ariën  -
Beheerder

- Ariën -

09/12/2011 15:39:09
Quote Anchor link
Wat gebeurt er dan?
 
Mark van Slooten

Mark van Slooten

09/12/2011 15:41:04
Quote Anchor link
Ik ga ff spelen nog.. Wil het uiteindelijk zelf kunnen!

Hij herkend nu m'n login.php niet.
 
- Ariën  -
Beheerder

- Ariën -

09/12/2011 15:45:02
Quote Anchor link
wat versta je onder 'herkent'?
 
Mark van Slooten

Mark van Slooten

09/12/2011 15:45:51
Quote Anchor link
hij gaat plotseling naar een heel ander pad zoeken als opgegeven
 
- Ariën  -
Beheerder

- Ariën -

09/12/2011 16:00:49
Quote Anchor link
relevante code? welk pad? Na welke aanpassing?
 
Mark van Slooten

Mark van Slooten

09/12/2011 16:04:43
Quote Anchor link
Zodra ik nu druk op inloggen, na het invoeren van gebr en pw

krijg ik een witte pagina. Zonder foutmelding.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php # Script 16.8 - login.php
// This is the login page for the site.

require_once ('../login/includes/config.inc.php');
$page_title = 'Inloggen';


if (isset($_POST['submitted'])) {
    require_once (MYSQL);
    
    // Validate the email address:
    if (!empty($_POST['email'])) {
        $e = mysqli_real_escape_string ($dbc, $_POST['email']);
    }
else {
        $e = FALSE;
        echo '<p class="error">Geen emailadres ingevuld!</p>';
    }

    
    // Validate the password:
    if (!empty($_POST['pass'])) {
        $p = mysqli_real_escape_string ($dbc, $_POST['pass']);
    }
else {
        $p = FALSE;
        echo '<p class="error">Geen wachtwoord ingevuld!</p>';
    }

    
    if ($e && $p) { // If everything's OK.
    
        // Query the database:

        $q = "SELECT user_id, first_name, user_level FROM users WHERE (email='$e' AND pass=SHA1('$p')) AND active IS NULL";        
        $r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
        
        if (@mysqli_num_rows($r) == 1) { // A match was made.

            // Register the values & redirect:

            $_SESSION = mysqli_fetch_array ($r, MYSQLI_ASSOC);
            mysqli_free_result($r);
            mysqli_close($dbc);
                            
            $url = BASE_URL . 'index.php'; // Define the URL:
            ob_end_clean(); // Delete the buffer.
            exit(); // Quit the script.
                
        } else { // No match was made.
            echo '<p class="error">Het emailadres/wachtwoord klopt niet. Of uw account is nog niet geactiveerd.</p>';
        }
        
    }
else { // If everything wasn't OK.
        echo '<p class="error">Probeer het nogmaals.</p>';
    }

    
    mysqli_close($dbc);

}
// End of SUBMIT conditional.
include ('../login/includes/header.html');
            ?>


<center><h1>Inloggen</h1>
<form action="../login/login.php" method="post">
<fieldset>
<p><b>Emailadres:</b> <input type="text" name="email" size="21" maxlength="40" /></p>
<p><b>Wachtwoord:</b> <input type="password" name="pass" size="20" maxlength="20" /></p>
<div align="center"><input type="submit" name="submit" value="Inloggen" /></div>
<input type="hidden" name="submitted" value="TRUE" />
</fieldset>
</form></center>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php // Include the HTML footer.
include ('../login/includes/footer.html');
?>
Gewijzigd op 09/12/2011 16:12:31 door Mark van Slooten
 
- Ariën  -
Beheerder

- Ariën -

09/12/2011 16:12:12
Quote Anchor link
en?

Toevoeging op 09/12/2011 16:19:39:

Bij een witte pagina, gebruik bovenaan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
?>
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.