login systeem
http://www.dennis.gethost.nl een nieuwssysteem maken waarbij ik zelf op mijn eigen website kan inloggen en dan een nieuwsbericht kan posten. Ik ben met het inlog systeem begonnen. Hieronder de code van de verwerking van de inlog pagina(index.php):
Ik krijg de volgende mysql errors:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/stamboomfa/domains/dennis.gethost.nl/public_html/login.php:8) in /home/stamboomfa/domains/dennis.gethost.nl/public_html/login.php on line 9
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/stamboomfa/domains/dennis.gethost.nl/public_html/login.php:8) in /home/stamboomfa/domains/dennis.gethost.nl/public_html/login.php on line 9
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/stamboomfa/domains/dennis.gethost.nl/public_html/login.php on line 19
Je hebt een verkeerde gebruikersnaam of wachtwoord ingevoerd
ziet iemand wat hier fout aan is?
alvast bedankt
keffie91
Hallo. Ik wil op mijn website 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
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
<?php
session_start();
if(!empty($_POST))
{
$con = mysql_connect("localhost","user","password");
{
mysql_error();
}
mysql_select_db("db",$con);
$query = "select naam,wachtwoord from gebruiker where gebruikersnaam='".$_POST["gebruikersnaam"]."'AND wachtwoord='".$_POST["wachtwoord"]."'";
$resultaat = mysql_query($query);
if(mysql_num_rows($resultaat) > 0){
$user = $_POST["gebruikersnaam"];
$password = $_POST["wachtwoord"];
$_SESSION['gebruikersnaam'] = $user;
$_SESSION['wachtwoord'] = $password;
header("Location: beveiligd.php");
exit();
}
else{
$text = "Je hebt een verkeerde gebruikersnaam of wachtwoord ingevoerd";
die($text);
}}
else{
header("index.php");
}
?>
session_start();
if(!empty($_POST))
{
$con = mysql_connect("localhost","user","password");
{
mysql_error();
}
mysql_select_db("db",$con);
$query = "select naam,wachtwoord from gebruiker where gebruikersnaam='".$_POST["gebruikersnaam"]."'AND wachtwoord='".$_POST["wachtwoord"]."'";
$resultaat = mysql_query($query);
if(mysql_num_rows($resultaat) > 0){
$user = $_POST["gebruikersnaam"];
$password = $_POST["wachtwoord"];
$_SESSION['gebruikersnaam'] = $user;
$_SESSION['wachtwoord'] = $password;
header("Location: beveiligd.php");
exit();
}
else{
$text = "Je hebt een verkeerde gebruikersnaam of wachtwoord ingevoerd";
die($text);
}}
else{
header("index.php");
}
?>
Ik krijg de volgende mysql errors:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/stamboomfa/domains/dennis.gethost.nl/public_html/login.php:8) in /home/stamboomfa/domains/dennis.gethost.nl/public_html/login.php on line 9
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/stamboomfa/domains/dennis.gethost.nl/public_html/login.php:8) in /home/stamboomfa/domains/dennis.gethost.nl/public_html/login.php on line 9
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/stamboomfa/domains/dennis.gethost.nl/public_html/login.php on line 19
Je hebt een verkeerde gebruikersnaam of wachtwoord ingevoerd
ziet iemand wat hier fout aan is?
alvast bedankt
keffie91
Gewijzigd op 01/01/1970 01:00:00 door Dennis k
Dit gebruik je uitsluitend wanneer je risico's wilt lopen, anders helemaal nooit. Je hebt het namelijk nooit nodig voor je script. Tenzij het de bedoeling is dat hackers wachtwoorden moeten stelen...
De fout zit hem waarschijnlijk in het feit dat je nergens wat aan foutafhandeling doet en aanneemt dat alles wel goed gaat. Waar controleer jij of er wel een verbinding is? Of de query wel is gelukt? Etc. etc.
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
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
<?php
session_start();
if(!empty($_POST))
{
$con = mysql_connect("localhost","user","password");
if(!$con){
mysql_error();
}
mysql_select_db("db",$con);
$query = "select naam,wachtwoord from gebruiker where gebruikersnaam='".$_POST["gebruikersnaam"]."'AND wachtwoord='".$_POST["wachtwoord"]."'";
if(!$query)
{
mysql_error();
}
$resultaat = mysql_query($query);
if(mysql_num_rows($resultaat) > 0){
$user = $_POST["gebruikersnaam"];
$password = $_POST["wachtwoord"];
header("Location: beveiligd.php");
exit();
}
else{
$text = "Je hebt een verkeerde gebruikersnaam of wachtwoord ingevoerd";
die($text);
}}
else{
header("");
}
?>
session_start();
if(!empty($_POST))
{
$con = mysql_connect("localhost","user","password");
if(!$con){
mysql_error();
}
mysql_select_db("db",$con);
$query = "select naam,wachtwoord from gebruiker where gebruikersnaam='".$_POST["gebruikersnaam"]."'AND wachtwoord='".$_POST["wachtwoord"]."'";
if(!$query)
{
mysql_error();
}
$resultaat = mysql_query($query);
if(mysql_num_rows($resultaat) > 0){
$user = $_POST["gebruikersnaam"];
$password = $_POST["wachtwoord"];
header("Location: beveiligd.php");
exit();
}
else{
$text = "Je hebt een verkeerde gebruikersnaam of wachtwoord ingevoerd";
die($text);
}}
else{
header("");
}
?>
Is het zo beter? Ik krijg trouwens nog wel dezelfde foutmeldingen.
Gewijzigd op 01/01/1970 01:00:00 door dennis k
Whitespace of HTML voor de <?php?
Gewijzigd op 01/01/1970 01:00:00 door dennis k
Dat mag dus niet. Geen output voordat je session_start() doet.
Code (php)
ik heb het nu zo geprobeerd.
Ik vind het veel makkelijker zo.
Maar ik krijg. Je hebt een verkeerde gebruikersnaam en wachtwoord ingevult.
Volgens mij moet het zo wel werken. maar dat doet het dus niet.
ingevult => ingevuld.
verbeterd maar maakt niets uit. Mijn wachtwoord en gebruikersnaam zijn ook zeker weten goed.
Dat moet natuurlijk name zijn. Het is nu zo.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if( $_POST["gebruikersnaam"] == "gebruikersnaam" && $_POST["wachtwoord"] == "wachtwoord")
{
echo "<div align='center'>";
echo "<h2>"."Nieuwsbericht toevoegen"."</h2>";
echo "<form name='nieuwstoevoegen' method='post' action='insertnieuws.php'>";
echo "titel:"."<br>";
echo "<input type='text' name='titel'>"."<p>";
echo "Bericht:"."<br>";
echo "<textarea name='bericht' cols='50' rows='5'>";
echo "</textarea>"."<br>";
echo "<input type='submit' value='versturen'>"."<input type='reset' value='wissen'>";
echo"</form>";
echo "</div>";
}
else
{
echo "Je hebt een verkeerde gebruikersnaam en wachtwoord ingevult";
}
?>
if( $_POST["gebruikersnaam"] == "gebruikersnaam" && $_POST["wachtwoord"] == "wachtwoord")
{
echo "<div align='center'>";
echo "<h2>"."Nieuwsbericht toevoegen"."</h2>";
echo "<form name='nieuwstoevoegen' method='post' action='insertnieuws.php'>";
echo "titel:"."<br>";
echo "<input type='text' name='titel'>"."<p>";
echo "Bericht:"."<br>";
echo "<textarea name='bericht' cols='50' rows='5'>";
echo "</textarea>"."<br>";
echo "<input type='submit' value='versturen'>"."<input type='reset' value='wissen'>";
echo"</form>";
echo "</div>";
}
else
{
echo "Je hebt een verkeerde gebruikersnaam en wachtwoord ingevult";
}
?>
Op de beveiligd.php staat het formulier om een nieuwsbericht toe te voegen.
Ook als je in je browser www.dennis.gethost.nl/beveiligd.php intypt
is hij ook niet bereikbaar want dan krijg je: Je hebt een verkeerde gebruikersnaam en wachtwoord ingevult.
Je moet dus echt inloggen om een bericht toe te kunnen voegen.
Ik denk dat het zo wel veilig is. Ik zou van jullie wel willen weten ofdat jullie het ook veilig vinden.
Gewijzigd op 01/01/1970 01:00:00 door dennis k