Inlogsysteem vraag
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
session_start();
if (!empty($_post)){
include("inc_connect.php");
$query = "SELECT * FROM users WHERE email='" . $_POST["email"] ."'
AND wachtwoord='". $_POST["wachtwoord"] ."'";
$result = mysql_query($query) or die ("FOUT : " . mysql_error());
if (mysql_num_rows($result) > 0){
$username = $_POST["email"];
$wachtwoord = $_POST["wachtwoord"];
session_register("username");
session_register("wachtwoord");
headers("Lacation: beveiligd.php");
exit();
}else{
$tekst = "u heeft geen ongeldig E-mailadres ingevoerd, probeer het nog eens. Of maak een keuze:"
echo <a href=\"login.php\">Opnieuw aanmelden</a>;
echo <a href=\"register.php\">Registreren</a>";
die($tekst);
}
}else{
header("Location: login.php");
}
?>
session_start();
if (!empty($_post)){
include("inc_connect.php");
$query = "SELECT * FROM users WHERE email='" . $_POST["email"] ."'
AND wachtwoord='". $_POST["wachtwoord"] ."'";
$result = mysql_query($query) or die ("FOUT : " . mysql_error());
if (mysql_num_rows($result) > 0){
$username = $_POST["email"];
$wachtwoord = $_POST["wachtwoord"];
session_register("username");
session_register("wachtwoord");
headers("Lacation: beveiligd.php");
exit();
}else{
$tekst = "u heeft geen ongeldig E-mailadres ingevoerd, probeer het nog eens. Of maak een keuze:"
echo <a href=\"login.php\">Opnieuw aanmelden</a>;
echo <a href=\"register.php\">Registreren</a>";
die($tekst);
}
}else{
header("Location: login.php");
}
?>
wie kan mij helpen? Ik heb van alles geprobeerd en ik blijf de fout zien.
deze fout :
Parse error: syntax error, unexpected T_ECHO in D:\www\recyclingwestland.nl\www\2008\login2.php on line 24
Gewijzigd op 01/01/1970 01:00:00 door Jean-Paul
je bent een " vergeten op regel 20 na de echo ...
code klopt percies niet met je error hé
heb ik gedaan maar ik blijf de fout zien
Kijk naar de kleuren: het gaat al fout op regel 17. Ook daar vergeet je de quotes bij de echo...
Kijk naar de kleurtjes. Regel 16 ;
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
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
<?php
session_start();
if (!empty($_post)){
include("inc_connect.php");
$query = "SELECT * FROM users WHERE email='" . $_POST["email"] ."'
AND wachtwoord='". $_POST["wachtwoord"] ."'";
$result = mysql_query($query) or die ("FOUT : " . mysql_error());
if (mysql_num_rows($result) > 0){
$username = $_POST["email"];
$wachtwoord = $_POST["wachtwoord"];
session_register("username");
session_register("wachtwoord");
headers("Location: beveiligd.php");
exit();
}
else{
$tekst = "u heeft geen ongeldig E-mailadres ingevoerd, probeer het nog eens. Of maak een keuze:";
// wth is dit stukje eigenlijk !!!! ??? !!! ??? !!!
echo" <a href=
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /var/www/vhosts/phphulp.nl/httpdocs/cfgs/ubbparser/bbcode.class.php on line 472
"login.php\">Opnieuw aanmelden</a>";
echo "<a href=\"register.php\">Registreren</a>";
die($tekst);
}
}else
{
header("Location: login.php");
}
?>
session_start();
if (!empty($_post)){
include("inc_connect.php");
$query = "SELECT * FROM users WHERE email='" . $_POST["email"] ."'
AND wachtwoord='". $_POST["wachtwoord"] ."'";
$result = mysql_query($query) or die ("FOUT : " . mysql_error());
if (mysql_num_rows($result) > 0){
$username = $_POST["email"];
$wachtwoord = $_POST["wachtwoord"];
session_register("username");
session_register("wachtwoord");
headers("Location: beveiligd.php");
exit();
}
else{
$tekst = "u heeft geen ongeldig E-mailadres ingevoerd, probeer het nog eens. Of maak een keuze:";
// wth is dit stukje eigenlijk !!!! ??? !!! ??? !!!
echo" <a href=
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /var/www/vhosts/phphulp.nl/httpdocs/cfgs/ubbparser/bbcode.class.php on line 472
"login.php\">Opnieuw aanmelden</a>";
echo "<a href=\"register.php\">Registreren</a>";
die($tekst);
}
}else
{
header("Location: login.php");
}
?>
Leer eerst deftig scripten of gebruik een editor
Gewijzigd op 01/01/1970 01:00:00 door Wouter K
wouter schreef op 17.12.2007 18:23:
Leer eerst deftig scripten of gebruik een editor
Leer eerst deftig scripten of gebruik een editor
Ja lekker antwoord. Zelf ben je ook zo begonnen. Geef een nutig antwoord of reageer niet.
In ieder geval, Jean-Paul kijk even naar deze code. Ik heb die van jou wat proberen te verbeteren, en commentaar erneer gezet. Voor vragen kun je mij PM'en.
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
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
72
73
74
75
76
77
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
72
73
74
75
76
77
<?php
session_start();
//dit is een functie die de waardes die je in het formuliertje hebt gestuurd beveiligd tegen mysql injections.
function StripVar($value) {
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
if(version_compare(phpversion(),"4.3.0") == "-1") {
return mysql_escape_string($value);
} else {
return mysql_real_escape_string($value);
}
}
// is iets netter dan if(!empty($_post))
if ($_SERVER['REQUEST_METHOD'] == "POST" ){
include("inc_connect.php");
//hier dus die functie aanroepen
$email = StripVar($_POST["email"]);
$wachtwoord = StripVar($_POST["wachtwoord"]);
$query = "SELECT *
FROM users
WHERE email='" . $email ."'
AND wachtwoord='". $wachtwoord ."'
LIMIT 1";
$result = mysql_query($query) or die ("FOUT : " . mysql_error());
//kijken of er een match is gemaakt.
if (mysql_num_rows($result)!= 0){
$_session['username'] = //hier je username inzetten
/*
Nooit een wachtwoord opslaan in een, deze kunnen mensen "hijacken".
Je kunt altijd het userId opslaan, aan de hand van die ID kun je achter elk gegeven komen an elke user.
Daarnaast moet je je wachtwoord coderen voordat je het in het database zet.
Bijvoorbeeld: $nieuwwachtwoord = md5($wachtwoord);
*/
header('Location: beveiligd.php');
//Waarom deze exit()? Je word toch al naar een ander pagina gezonden?
exit();
}else{
//deze variable heette eerst $tekst, probeer je variablelen goede namen geven, zodat je zelf niet in de war raakt.
$loginMislukt = "u heeft geen ongeldig E-mailadres ingevoerd, probeer het nog eens. Of maak een keuze:";
echo "<a href=\"login.php\">Opnieuw aanmelden</a>";
echo "<a href=\"register.php\">Registreren</a>";
/*
als je een single quote gebruikt voor echo hoef je niet de heletijd met die slash te werken.
Bijvoorbeeld: echo '<a href="login.php">Opnieuw aanmelden</a>';
*/
die($loginMislukt);
}
}else{
header("Location: login.php");
}
?>
session_start();
//dit is een functie die de waardes die je in het formuliertje hebt gestuurd beveiligd tegen mysql injections.
function StripVar($value) {
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
if(version_compare(phpversion(),"4.3.0") == "-1") {
return mysql_escape_string($value);
} else {
return mysql_real_escape_string($value);
}
}
// is iets netter dan if(!empty($_post))
if ($_SERVER['REQUEST_METHOD'] == "POST" ){
include("inc_connect.php");
//hier dus die functie aanroepen
$email = StripVar($_POST["email"]);
$wachtwoord = StripVar($_POST["wachtwoord"]);
$query = "SELECT *
FROM users
WHERE email='" . $email ."'
AND wachtwoord='". $wachtwoord ."'
LIMIT 1";
$result = mysql_query($query) or die ("FOUT : " . mysql_error());
//kijken of er een match is gemaakt.
if (mysql_num_rows($result)!= 0){
$_session['username'] = //hier je username inzetten
/*
Nooit een wachtwoord opslaan in een, deze kunnen mensen "hijacken".
Je kunt altijd het userId opslaan, aan de hand van die ID kun je achter elk gegeven komen an elke user.
Daarnaast moet je je wachtwoord coderen voordat je het in het database zet.
Bijvoorbeeld: $nieuwwachtwoord = md5($wachtwoord);
*/
header('Location: beveiligd.php');
//Waarom deze exit()? Je word toch al naar een ander pagina gezonden?
exit();
}else{
//deze variable heette eerst $tekst, probeer je variablelen goede namen geven, zodat je zelf niet in de war raakt.
$loginMislukt = "u heeft geen ongeldig E-mailadres ingevoerd, probeer het nog eens. Of maak een keuze:";
echo "<a href=\"login.php\">Opnieuw aanmelden</a>";
echo "<a href=\"register.php\">Registreren</a>";
/*
als je een single quote gebruikt voor echo hoef je niet de heletijd met die slash te werken.
Bijvoorbeeld: echo '<a href="login.php">Opnieuw aanmelden</a>';
*/
die($loginMislukt);
}
}else{
header("Location: login.php");
}
?>
Gewijzigd op 01/01/1970 01:00:00 door W W
zo hoort ie maar ik krijg daar steeds de fout melding.
Jean-Paul schreef op 17.12.2007 18:47:
echo"<a href="login.php">Opnieuw aanmelden</a>";
zo hoort ie maar ik krijg daar steeds de fout melding.
zo hoort ie maar ik krijg daar steeds de fout melding.
Echo met enkele quotes dan hoef je de dubbele html quotes niet te escapen.
Heb je naar mijn code gekeken en toegepast? Er kunnen natuurlijk kleine foutjes inzitten omdat ik jou database e.d. niet heb. Kun je duidelijke foutmeldingen geven en je code nogmaals kopieeren?
@SanThe, dat stond ook al in mijn code (commentaar.)
Gewijzigd op 01/01/1970 01:00:00 door W W
id int
email 40 varchar
gebruikersnaam 8 varchar
zo staan klopt dit ??
kunnen wij niet rieken ,kjik eens in je DB zelf of controleer het script
Aan de foutmeldingen die jij geeft (mysql_real_escape_string(); werkt niet) neem ik aan dat je connectie niet goed is.
Daarom zou ik
include("inc_connect.php"); veranderen in require_once("inc_connect.php");
Bij require_once krijg je een foutmelding als het bestand inc_connect.php niet bestaat.
Ik gebruik het volgende om connectie te maken met mijn database
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$connect = mysql_connect('localhost','//gebruikersenaam hier','//wachtwoord hier');
if($connect == TRUE) {
if(mysql_select_db('//database naam hier!') != TRUE) {
exit("<span style='color: red'>Can't connect to the MySQL database. Please contact the webmaster.</span>");
}
}else{
exit("<span style='color: red'>Can't connect to the MySQL server. Please contact the webmaster.</span>");
}
?>
$connect = mysql_connect('localhost','//gebruikersenaam hier','//wachtwoord hier');
if($connect == TRUE) {
if(mysql_select_db('//database naam hier!') != TRUE) {
exit("<span style='color: red'>Can't connect to the MySQL database. Please contact the webmaster.</span>");
}
}else{
exit("<span style='color: red'>Can't connect to the MySQL server. Please contact the webmaster.</span>");
}
?>
Daarnaast include je deze pagina neem ik aan? Je krijgt namelijk een foutmelding dat je 2 keer session_start(); gebruikt. Kijk even of dit juist is.
Maar toen kreeg ik de fout melding van jou script
dat is dit :
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in D:\www\recyclingwestland.nl\www\2008\login2.php on line 8
Can't connect to the MySQL server. Please contact the webmaster.
en dit staat in de php code
$connect = mysql_connect('localhost','//gebruikersenaam hier','//wachtwoord hier');
Draait mysql wel?
oh je bedoelt dus dat ik mijn wachtwoord en gebruikers naam moet invoeren?
maar waarvan ??
Bumpen::
SanThe.