Witte header pagina
checken.php
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
session_start();
session_register("naam_session");
session_register("gid_session");
session_register("laatstingelogged_session");
?>
session_start();
session_register("naam_session");
session_register("gid_session");
session_register("laatstingelogged_session");
?>
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
<?
$eaccesDB=mysql_connect("","","");
mysql_select_db("",$eaccesDB);
$SQL="select * from gebruikers where gebruikersnaam='.$gnaam'";
$zoekresultaten=$zoekresultaten_query=mysql_query(($SQL),$eaccesDB) or die (mysql_error());
$zoekresultaten=mysql_fetch_array($zoekresultaten_query);
if (!($zoekresultaten==0))
{
$DBwachtw=$zoekresultaten["wachtwoord"];
if ($DBwachtw==$wachtw)
{
mt_srand((double)microtime()*1000000);
$random=intval((100000000-1+1)*(mt_rand(0,10000000)/10000000));
setcookie("beheer",$random,0,"","",0);
$_SESSION["naam"]=$zoekresultaten["volledige naam"];
$_SESSION["gid"]=$zoekresultaten["gid"];
$_SESSION["laatstingelogged"]=$zoekresultaten["linlog"];
$SQL="update gebruikers set linlog='".$FormatDateTime[strftime("%m/%d/%Y %H:%M:%S %p")][1]." ".strftime("%m/%d/%Y %H:%M:%S %p")."'";
$SQL=$SQL." where gid=".$_SESSION["gid"];
mysql_query(($SQL),$eaccesDB);
header("Location: index.php");
exit;
}
else{
header("Location: login.php");
exit;
}
}
?>
$eaccesDB=mysql_connect("","","");
mysql_select_db("",$eaccesDB);
$SQL="select * from gebruikers where gebruikersnaam='.$gnaam'";
$zoekresultaten=$zoekresultaten_query=mysql_query(($SQL),$eaccesDB) or die (mysql_error());
$zoekresultaten=mysql_fetch_array($zoekresultaten_query);
if (!($zoekresultaten==0))
{
$DBwachtw=$zoekresultaten["wachtwoord"];
if ($DBwachtw==$wachtw)
{
mt_srand((double)microtime()*1000000);
$random=intval((100000000-1+1)*(mt_rand(0,10000000)/10000000));
setcookie("beheer",$random,0,"","",0);
$_SESSION["naam"]=$zoekresultaten["volledige naam"];
$_SESSION["gid"]=$zoekresultaten["gid"];
$_SESSION["laatstingelogged"]=$zoekresultaten["linlog"];
$SQL="update gebruikers set linlog='".$FormatDateTime[strftime("%m/%d/%Y %H:%M:%S %p")][1]." ".strftime("%m/%d/%Y %H:%M:%S %p")."'";
$SQL=$SQL." where gid=".$_SESSION["gid"];
mysql_query(($SQL),$eaccesDB);
header("Location: index.php");
exit;
}
else{
header("Location: login.php");
exit;
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Dennis Ham
Zet dit bovenin je script.
Ik ga in ieder geval hiermee even verder puzzelen.
Enige andere suggesties zijn welkom!
Warning: ini_set() has been disabled for security reasons in checken.php on line 3
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at checken.php:3) in checken.php on line 4
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at checken.php:3) in checken.php on line 4
Notice: Undefined variable: setlocale in checken.php on line 9
Ik heb overal achter
error_reporting(E_ALL);
ini_set("display_errors", 1);
bovenaan plaatst krijg ik de volgende foutmelding
Warning: ini_set() has been disabled for security reasons in checken.php on line 3
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at checken.php:3) in checken.php on line 4
ik negeer de eerste foutmelding want dat is duidelijk uit wat Jan schreef, dus moet het in de tweede foutmelding liggen. Als iemand nog raad weet hoor ik het graag.
Edit: En wat wil je hiermee bereiken?
$zoekresultaten=$zoekresultaten_query=mysql_query(($SQL),$eaccesDB)
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
De tweede warning komt door de eerste. De eerste errormelding is output naar de browser en daarna mag je geen session_start meer doen.
Jan- ja dat is duidelijk maar anders krijg ik een witte pagina. Is er niet een manier of programma om te zien wat er stap voor stap achter de schermen gebeurd?
Edit: En wat wil je hiermee bereiken?
$zoekresultaten=$zoekresultaten_query=mysql_query(($SQL),$eaccesDB)
ik dacht dat dit de gegevens die in $SQL opgehaald wordt koppeld aan $zoekresultaten om te kijken of er gegevens uit de database gehaald zijn om te vergelijken met de wachtwoord die ingevuld is en anders weer naar de inlogpagina te gaan. Heb je een betere suggestie voor dit?
$SQL="select * from gebruikers where gebruikersnaam='.$gnaam'";
$zoekresultaten=$zoekresultaten_query=mysql_query(($SQL),$eaccesDB) or die (mysql_error());
$zoekresultaten=mysql_fetch_array($zoekresultaten_query);
if (!($zoekresultaten==0))
{
$DBwachtw=$zoekresultaten["wachtwoord"];
if ($DBwachtw==$wachtw)
{
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
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
<%@LCID=1043%>
<% wachtw = request.form("wachtw") %>
<% gnaam = request.form("gnaam") %>
<%
SQL = "select * from gebruikers where gebruikersnaam='" & gnaam & "'"
set eacesDB = Server.CreateObject("ADODB.Connection")
eacesDB.Open "eaces"
set zoekresultaten = eacesDB.Execute(SQL)
if not zoekresultaten.eof then
DBwachtw = zoekresultaten("wachtwoord")
if DBwachtw = wachtw then
Randomize
random = int((100000000 - 1 + 1) * Rnd + 1)
Response.cookies("beheer") = random
Session("naam") = zoekresultaten("volledige naam")
Session("gid") = zoekresultaten("gid")
session("laatstingelogged") = zoekresultaten("linlog")
SQL = "update gebruikers set linlog='"&FormatDateTime(Date(),1)&" "&Time()&"'"
SQL = SQL & " where gid=" & session("gid")
eacesDB.Execute(SQL)
Response.Redirect "index.php"
end if
end if
Response.Redirect "login.php"
%>
<%
zoekresultaten.Close
set zoekresultaten = Nothing
eacesDB.Close
set eacesDB = Nothing
%>
<% wachtw = request.form("wachtw") %>
<% gnaam = request.form("gnaam") %>
<%
SQL = "select * from gebruikers where gebruikersnaam='" & gnaam & "'"
set eacesDB = Server.CreateObject("ADODB.Connection")
eacesDB.Open "eaces"
set zoekresultaten = eacesDB.Execute(SQL)
if not zoekresultaten.eof then
DBwachtw = zoekresultaten("wachtwoord")
if DBwachtw = wachtw then
Randomize
random = int((100000000 - 1 + 1) * Rnd + 1)
Response.cookies("beheer") = random
Session("naam") = zoekresultaten("volledige naam")
Session("gid") = zoekresultaten("gid")
session("laatstingelogged") = zoekresultaten("linlog")
SQL = "update gebruikers set linlog='"&FormatDateTime(Date(),1)&" "&Time()&"'"
SQL = SQL & " where gid=" & session("gid")
eacesDB.Execute(SQL)
Response.Redirect "index.php"
end if
end if
Response.Redirect "login.php"
%>
<%
zoekresultaten.Close
set zoekresultaten = Nothing
eacesDB.Close
set eacesDB = Nothing
%>
Niet Bumpen::
Gewijzigd op 01/01/1970 01:00:00 door Dennis Ham
$zoekresultaten=$zoekresultaten_query=mysql_query(($SQL),$eaccesDB)
Hier staat eigenlijk dit:
$var = $var2 = $result_van_de_query.
Gevolg is dat $var óf true wordt óf false, meer niet.
Er komt dus zeker niet in te staan wat jij zou willen.
$result = mysql_query(($SQL),$eaccesDB);
if($result)
{
....// query gelukt en kan je verder
}
else
{
....// query mislukt => error
}
PS: die twee $zoekresultaten regels werken wel in andere paginas.
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
$SQL="select * from gebruikers where gebruikersnaam='.$gnaam'";
$zoekresultaten=$zoekresultaten_query=mysql_query(($SQL),$eaccesDB) or die (mysql_error());
$zoekresultaten=mysql_fetch_array($zoekresultaten_query);
$SQL2="select * from gebruikers where gebruikersnaam='.$gnaam'";
$result = mysql_query(($SQL2),$eaccesDB);
if($result==false)
{
$DBwachtw=$zoekresultaten["wachtwoord"];
if ($DBwachtw==$wachtw)
{
mt_srand((double)microtime()*1000000);
$random=intval((100000000-1+1)*(mt_rand(0,10000000)/10000000));
setcookie("beheer",$random,0,"","",0);
$_SESSION["naam"]=$zoekresultaten["volledige naam"];
$_SESSION["gid"]=$zoekresultaten["gid"];
$_SESSION["laatstingelogged"]=$zoekresultaten["linlog"];
$SQL="update gebruikers set linlog='".$FormatDateTime[strftime("%m/%d/%Y %H:%M:%S %p")][1]." ".strftime("%m/%d/%Y %H:%M:%S %p")."'";
$SQL=$SQL." where gid=".$_SESSION["gid"];
mysql_query(($SQL),$eaccesDB);
header("Location: index.php");
exit;
}
else{
header("Location: login.php");
exit;
}
}?>
$SQL="select * from gebruikers where gebruikersnaam='.$gnaam'";
$zoekresultaten=$zoekresultaten_query=mysql_query(($SQL),$eaccesDB) or die (mysql_error());
$zoekresultaten=mysql_fetch_array($zoekresultaten_query);
$SQL2="select * from gebruikers where gebruikersnaam='.$gnaam'";
$result = mysql_query(($SQL2),$eaccesDB);
if($result==false)
{
$DBwachtw=$zoekresultaten["wachtwoord"];
if ($DBwachtw==$wachtw)
{
mt_srand((double)microtime()*1000000);
$random=intval((100000000-1+1)*(mt_rand(0,10000000)/10000000));
setcookie("beheer",$random,0,"","",0);
$_SESSION["naam"]=$zoekresultaten["volledige naam"];
$_SESSION["gid"]=$zoekresultaten["gid"];
$_SESSION["laatstingelogged"]=$zoekresultaten["linlog"];
$SQL="update gebruikers set linlog='".$FormatDateTime[strftime("%m/%d/%Y %H:%M:%S %p")][1]." ".strftime("%m/%d/%Y %H:%M:%S %p")."'";
$SQL=$SQL." where gid=".$_SESSION["gid"];
mysql_query(($SQL),$eaccesDB);
header("Location: index.php");
exit;
}
else{
header("Location: login.php");
exit;
}
}?>
Gewijzigd op 01/01/1970 01:00:00 door Dennis Ham
Gewijzigd op 01/01/1970 01:00:00 door Dennis Ham
Ok, heb ik gedaan. Sorry van de bumpen van daarnet, ik zie het nu pas en wist niet wat het was. Ik ben nog nieuw hier en zit nooit op forums.
Code (php)
1
2
3
4
2
3
4
<?php $wachtw=$_POST['wachtw'];
$gnaam=$_POST['gnaam'];
$SQL="SELECT * FROM gebruikers WHERE gebruikersnaam='$gnaam' AND wachtwoord='$wachtw'";?>
$gnaam=$_POST['gnaam'];
$SQL="SELECT * FROM gebruikers WHERE gebruikersnaam='$gnaam' AND wachtwoord='$wachtw'";?>
en dat was als ik goed inlog ga je door maar als ik verkeerd inlog kwam ik weer op die witte pagina terecht. Maar dat heb ik opgelost door de else gedeelte met header te vervangen met de tekst in de inlogpagina. Mischien weet iemand nog een andere oplossing voor dit probleem. Hier de code:
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
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
<?php
$zoekresultaten=$zoekresultaten_query=mysql_query(($SQL),$eaccesDB) or die (mysql_error());
$zoekresultaten=mysql_fetch_array($zoekresultaten_query);
if(!($zoekresultaten==0))
{
$DBwachtw=$zoekresultaten["wachtwoord"];
if($DBwachtw==$wachtw)
{
mt_srand((double)microtime()*1000000);
$random=intval((100000000-1+1)*(mt_rand(0,10000000)/10000000));
setcookie("beheer",$random,0,"","",0);
$_SESSION["naam"]=$zoekresultaten["volledige naam"];
$_SESSION["gid"]=$zoekresultaten["gid"];
$_SESSION["laatstingelogged"]=$zoekresultaten["linlog"];
$SQL="update gebruikers set linlog='".$FormatDateTime[strftime("%m/%d/%Y %H:%M:%S %p")][1]." ".strftime("%m/%d/%Y %H:%M:%S %p")."'";
$SQL=$SQL." where gid=".$_SESSION["gid"];
mysql_query(($SQL),$eaccesDB);
header("Location: index.php");
exit;
}
else
{
header("Location: login.php");
exit;
}
}
?>
$zoekresultaten=$zoekresultaten_query=mysql_query(($SQL),$eaccesDB) or die (mysql_error());
$zoekresultaten=mysql_fetch_array($zoekresultaten_query);
if(!($zoekresultaten==0))
{
$DBwachtw=$zoekresultaten["wachtwoord"];
if($DBwachtw==$wachtw)
{
mt_srand((double)microtime()*1000000);
$random=intval((100000000-1+1)*(mt_rand(0,10000000)/10000000));
setcookie("beheer",$random,0,"","",0);
$_SESSION["naam"]=$zoekresultaten["volledige naam"];
$_SESSION["gid"]=$zoekresultaten["gid"];
$_SESSION["laatstingelogged"]=$zoekresultaten["linlog"];
$SQL="update gebruikers set linlog='".$FormatDateTime[strftime("%m/%d/%Y %H:%M:%S %p")][1]." ".strftime("%m/%d/%Y %H:%M:%S %p")."'";
$SQL=$SQL." where gid=".$_SESSION["gid"];
mysql_query(($SQL),$eaccesDB);
header("Location: index.php");
exit;
}
else
{
header("Location: login.php");
exit;
}
}
?>
En nog een laatste vraagje over dit die aan de einde van me script staat? Heb dit enige nut? En wordt het wel uigevoerd als ik me inlog aangezien de exit; na header? Of blijven er allemaal gegevens/sessies actief die afgesloten moet worden?
Gewijzigd op 01/01/1970 01:00:00 door Dennis Ham
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$var = "test";
echo '<span id="test">Hoi</span>';
$query = "SELECT * FROM tabel WHERE veld = 'waarde'";
$query = "SELECT * FROM tabel WHERE veld = '".$waarde."'";
?>
$var = "test";
echo '<span id="test">Hoi</span>';
$query = "SELECT * FROM tabel WHERE veld = 'waarde'";
$query = "SELECT * FROM tabel WHERE veld = '".$waarde."'";
?>
Lol @ Dennis, nu bumb je weer.
Jezpur schreef op 16.11.2008 19:47:
Dubbele quotes bij toekenning aan een variabele. Enkele quotes daarbinnen. Dat moet wel weer andersom bij een echo: enkele quotes om te openen, zodat je daarbinnen (als je met HTML zit) dubbele kunt gebruiken.
Niet mee eens.
Altijd enkele quotes gebruiken in PHP, tenzij je een query (dus SQL) schrijft. Die zet je tussen dubbele quotes. Meer uitzonderingen zijn er niet.
Wanneer je dubbele quotes gebruikt, loop je de kans dat je per ongeluk de waarde van een variabele gaat parsen. Dat wil je niet.
Terwijl ik toch echt dit bedoel:
Zie de verschillen...