Warning: 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 »

Kristof s

Kristof s

01/04/2007 16:46:00
Quote Anchor link
Hallo, ben bezig aan een login. Alles ging prima totdat ik met cookies begon.

de hele foutmelding is als volgt :

Warning: Cannot modify header information - headers already sent by (output started at C:\webserver\www\Site\registreren.php:8) in C:\webserver\www\Site\registreren.php on line 311

Warning: Cannot modify header information - headers already sent by (output started at C:\webserver\www\Site\registreren.php:8) in C:\webserver\www\Site\registreren.php on line 312


Hieronder het formulier en het login script

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
#######################################################################################################
# INLOGSCHERM WEERGEVEN
#######################################################################################################


if ($action == 'login')
{

?>


<table align="center" cellpadding="5">
<tr>
<td>
<form action="?page=inloggen&amp;action=dologin" method="post" >
</td>
</tr>
<tr>
<td class="Gewone_tekst"> Loginnaam </td>
<td> <input name="loginnaam" type="text" class="field "> </td>
</tr>
<tr>
<td class="Gewone_tekst"> Wachtwoord </td>
<td> <input name="wachtwoord" type="password" class="field "></td>
</tr>
<tr>
<td colspan="2" ><div align="center"><br />
<input type="submit" name="inloggen" value="Aanmelden" class="button2">
</div></td>
</tr>
</form>
</table>


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
<?php
}
#######################################################################################################
# EFFECTIEF INLOGGEN
#######################################################################################################

if ($action == 'dologin')
{
            
            $home = 'http://www.phphulp.nl';
            $nickname = $_POST['loginnaam'];
            $paswoord = md5($_POST['wachtwoord']);
            
            // kijken of de nickname niet leeg is
            if($nickname != "")
            {

                            $query2 = mysql_query("SELECT gbLoginnaam FROM gebruikers WHERE gbloginnaam = '$_POST[loginnaam]'");
                            // kijken of de nickname bestaat indien ja
                            if(mysql_num_rows($query2) != 0)
                            {
            //selecteren van inlognaam en wachtwoord                
                                    $sql1 = "SELECT gbWachtwoord FROM gebruikers WHERE gbLoginnaam = '$nickname'  AND gbWachtwoord = '$paswoord'";
                                    $query1 = mysql_query($sql1) or die(mysql_error());
                                    while($line1 = mysql_fetch_array($query1,MYSQL_NUM))
                                    {

                                        // selectie omzette in variabelen
                                        $paswoord2 = $line1[0];
                                    }
                            }

                                // ingevuld wachtwoord en nickname vergelijken met de info in DB
                        if($paswoord == $paswoord2)
                        {

                            setcookie("naam", $_POST['loginnaam'], time() + (60*60*24*365)); // cookie blijft 1 jaar bestaan
                            setcookie("wachtwoord", md5($_POST['wachtwoord']), time() + (60*60*24*365)); // cookie blijft 1 jaar bestaan
                            $boodschap = "U bent succesvol ingelogd, een ogenblik geduld... <META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=".$home."\">";
                        }

                            else
                            {
                                $boodschap = 'Het inloggen is mislukt';
                            }    
            }
}

echo $boodschap;
?>




Ik heb geen idee waarom hij die cookies niet wil schrijven. Kan iemand me helpen aub?
 
PHP hulp

PHP hulp

20/11/2024 17:23:17
 
Arjan Kapteijn

Arjan Kapteijn

01/04/2007 16:48:00
Quote Anchor link
Afgezien van de vraag waarom je in hemelsnaam een wachtwoord in een cookie op zou slaan zit je waarschijnlijk met het probleem dat er _geen_ html output mag zijn _voor_ het setten van een cookie.
 
Kristof s

Kristof s

01/04/2007 16:50:00
Quote Anchor link
omdat ik graag willen kunnen controleren als je naar de volgende pagina wil gaan of je daar wel recht toe hebt. dus dan zal ik vergelijken klopt jouw psw en loginnaam en bestaat die , if so dan mag je de volgende pagina zien.
 
Arjan Kapteijn

Arjan Kapteijn

01/04/2007 16:55:00
Quote Anchor link
Password in een cookie is erg onveilig en vrij eenvoudig te jatten.
 
Barry

Barry

01/04/2007 16:57:00
Quote Anchor link
zet het dan in sessies.

session_start(); bovenaan je pagina, en dan overal variabelen oproepen of wijzigen met $_SESSION['var_naam'];

Groet,


Barry
 
Nick Mulder

Nick Mulder

01/04/2007 16:57:00
Quote Anchor link
Lang leve XSS...
 
Barry

Barry

01/04/2007 16:59:00
Quote Anchor link
YPM schreef op 01.04.2007 16:57:
Lang leve XSS...



wazda?
 
Kristof s

Kristof s

01/04/2007 17:02:00
Quote Anchor link
wat is xss :s
 
Robert Deiman

Robert Deiman

01/04/2007 17:04:00
Quote Anchor link
@Barry

Nog zoiets, een sessie kan je ook hacken. Je moet NOOIT je wachtwoord in een sessie zetten. Zet er bijvoorbeeld een gegenereerde code in die uniek is voor een bepaalde sessie/ user. Hiermee weet iemand die de sessie hyjackt, nog steeds geen password.
 
Barry

Barry

01/04/2007 17:07:00
Quote Anchor link
Robert schreef op 01.04.2007 17:04:
@Barry

Nog zoiets, een sessie kan je ook hacken. Je moet NOOIT je wachtwoord in een sessie zetten. Zet er bijvoorbeeld een gegenereerde code in die uniek is voor een bepaalde sessie/ user. Hiermee weet iemand die de sessie hyjackt, nog steeds geen password.


sorry misschien verkeerd verteld. Die kennis had ik ook.
Zoals ik het zelf altijd doe, is bij het inloggen IP & HOST opslaan in db, gebr. naam in sessie, en bij m'n switches voor pagina's checken of ip = ip & host = host where username = $sessie[username]

Tog wel een goede manier, al is het omslachtig...?

Groet,

Barry
 
Kristof s

Kristof s

01/04/2007 17:10:00
Quote Anchor link
great ik kan dus gans opnieuw beginnen maar dan met sessies
bedankt voor jullie uitleg en tijd
 
Arjan Kapteijn

Arjan Kapteijn

01/04/2007 17:11:00
Quote Anchor link
Barry, niet handig & niet veilig. Die dingen zijn namelijk niet uniek. Gewoon een random code genereren, schrijf het weg in een sessie en bij iedere f5 kijk je of het userid + random code nog klopt, maak je een nieuwe code en schrijf je die weer weg in de sessie.
 
Barry

Barry

01/04/2007 17:16:00
Quote Anchor link
Arjan Kapteijn schreef op 01.04.2007 17:11:
Barry, niet handig & niet veilig. Die dingen zijn namelijk niet uniek. Gewoon een random code genereren, schrijf het weg in een sessie en bij iedere f5 kijk je of het userid + random code nog klopt, maak je een nieuwe code en schrijf je die weer weg in de sessie.


goeie, zal ik es proberen

Edit:
Waar vergelijk je die code in je sessie mee dan?
Gewijzigd op 01/01/1970 01:00:00 door Barry
 



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.