Header already sent. de klassieker in know..

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tom bijlsma

tom bijlsma

14/11/2013 13:59:46
Quote Anchor link
hallo, ik weet dat jullie dood gegooid worden met deze vraag maar ik kom er echt niet uit.
Ik heb de informatie over dit probleem gelezen en gekeken bij topics van andere mensen.

ik heb alleen geen idee waar mijn fout zit. ik echo pas na de header en heb voor zover ik door heb geen output boven de header (?)

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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
mysql_connect( 'localhost', '*****', '******' );

    
  if ( !mysql_connect( 'localhost', '******', '******' ) )  
  {

    print "<p>Er is een verbindingsprobleem.</p>";
    die();
  }


if ( !mysql_select_db( 'tombiex100_dvd' ) )  
        {

                print "<p>De database is niet gevonden op de server.</p>";
                die();
        }

      
$tabel = 'inloggen';

$query = mysql_query("SELECT * FROM ".$tabel." WHERE username='".$_POST['username']."' && password='".$_POST['password']."'");                                                        
while ($row = mysql_fetch_row($query)){
    // succesvol ingelogd
header("location: succes.php");
    
                             
}



            if($_POST["Verborgen"]=="Waarde") {
                  if (empty($_POST['username']) || empty($_POST['password']))
                         {

                                echo 'U heeft uw gebruikersnaam en/of wachtwoord niet ingevult.';
                        }

                       else {  echo 'combinatie is fout';
                        }
            }

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<link rel="stylesheet" href="dvd_database.css" />
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Log in screen</title>
</head>
 
<body bgcolor="#FF6600">
 

<div id="h1">
<h1> Welkom </h1>
</div>
      
<form action="" method="post">    <!-- hier word een formulier gemaakt -->

<input type='hidden' name="Verborgen" value="Waarde" />
<div id="inlog">
Gebruikersnaam: <br /><input type='text' name="username" id="inputfield" /> <br /><br />   <!-- tekstvak voor username -->
Wachtwoord: <br /><input type='password' name="password" id="inputfield" /><br /><br /> <!-- tekstvak voor wachtwoord -->

<input type='submit' name='submit' value="Log in " id="knop" /> <br /> <br />  <!-- log in knop -->
    
    <input type=button onClick="location.href='zoeken.php'" value='Ga door als gast' id="knop"> <!-- button naar zoeken.php -->
    
    
    
 </div>

</form>

 
</body>
</html>
 
PHP hulp

PHP hulp

25/11/2024 00:01:20
 
Pipo Clown

Pipo Clown

14/11/2013 14:12:13
Quote Anchor link
Wanneer ik het goed zie genereer je in regel 7 en regel 13 output met het php-print commando

Je genereerd in regel 31 en regel 33 output met het php-echo commando

Je hebt een php-header in regel 22 en vervolgens nog eens een HTML header in regel 40.

Alles bij elkaar genomen volgens mij genoeg redenen om tegen dit soort foutmeldingen aan te lopen.
 
Tom bijlsma

tom bijlsma

14/11/2013 14:16:38
Quote Anchor link
die echo op regel 31 en 33 is na de header, dit zou dan toch moeten kunnen ?

die prints was me inderdaad niet opgevallen als output, bedankt
 
Kris Peeters

Kris Peeters

14/11/2013 14:46:31
Quote Anchor link
Merk dan toch op dat je iets op het scherm kreeg dat foutmelding was.
... Dus zit je nog met dat probleem.
Misschien zit je dus nog met verkeerde gegevens?

------

Verder,
Twee opmerkingen:
- lijn 2 moet je weglaten. Wat op lijn 5 gebeurt, volstaat.

- lijn 20: maak van die while een if.
if ($row = mysql_fetch_row($query)){

Weet je wat een while is? Dat is een if met een lus-functie.
Wanneer je zeker weet dat je geen lus nodig hebt, gebruik je dus een if
Gewijzigd op 14/11/2013 14:46:51 door Kris Peeters
 
Tom bijlsma

tom bijlsma

14/11/2013 14:49:24
Quote Anchor link
Heb het aan de praat gekregen ! iedereen bedankt :)
 
- SanThe -

- SanThe -

14/11/2013 15:17:24
Quote Anchor link
Oke het werkt.

Maar het is wel lek.
Er zit geen beveiliging op je input in de query.
Gebruik mysql_real_escape_string().

Beter nog is over te gaan op PDO of mysqli functions omdat mysql gaat verdwijnen.
 



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.