Witte pagina na aanmelden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Daan s

Daan s

25/06/2014 21:53:19
Quote Anchor link
Beste Leden.

Ik ben sinds een paar dagen weer met php scripten begonnen, dit sinds een lange tijd
Nu loop ik tegen het probleem aan dat ik een witte pagina krijg als ik de juiste login informatie invoer (indien ik de foute info invoer, dan krijg ik wel een (van login fout etc)

Mijn hoofd pagina, inc het login form

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
<?php

if($_GET["cms"] == 'login'){
print '
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" >
<tr>
<form class="login" name="login" method="post" action="admin/checklogin.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
</br>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="password" id="mypassword"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
'
;

}
elseif($_GET["cms"] == 'register'){
print '
<center><p style="color:red;font-family:arial">Dit is nog niet actief</p></center>
'
;
}

?>



En het checklogin script

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
<?php
include 'config/database.php';



$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];


$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM Users WHERE Username='$myusername' and Password='$mypassword'";
$result=mysql_query($sql);


$count=mysql_num_rows($result);

if($count==1){
session_start();
$_SESSION['login']=1;
session_register("myusername");


}
else {
echo "Wrong Username or Password";
}

?>


Database.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

mysql_connect("localhost", "root", "Beta192")or die("cannot connect");
mysql_select_db("flex")or die("cannot select DB");

?>



Al het overige commentaal over de code wil ik ook graag horen ;)
 
PHP hulp

PHP hulp

24/12/2024 14:53:24
 
Obelix Idefix

Obelix Idefix

25/06/2014 22:04:06
Quote Anchor link
Haal je database gegevens aub even weg.

Waar controleer je of een formulier verzonden is?
(if($_SERVER['REQUEST_METHOD'] == "POST" )

Waar controleer je of de beide $_POST-variabelen bestaan?

Waarom kopieer je beide $_POST-waarden?
Waarom laat je bewerkingen los op het wachtwoord? Vreemde tekens daarin horen juist, om het een moeilijk wachtwoord te laten zijn.

Een wachtwoord sla je nooit! ongecodeerd op in de database (bcrypt bv).
Door de encrypte is ook gelijk de noodzaak om mysql_real_escape_string te gebruiken niet meer aanwezig.

Gebruik mysql_real_escape_string in je query; daar is het nodig.

Waar is de foutafhandeling van je query?

mysql komt te vervallen. Stap over op mysqli of OOP.

session_start: geadviseerd wordt om dat helemaal boven aan het script te zetten.

session_register: Warning
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.

Als je juist inlogt, gebeurt er in het script verder ook niets meer. Je kent een waarde toe aan een sessie en dat is het. Wat verwacht je dan te zien?

inline opmaak/css is niet echt meer van deze tijd.

Een formulier wordt doorgaans niet meer als tabel opgemaakt; tabellen zijn voor het tonen van data-overzichten.

Zet error-reporting eens aan.
 
Daan s

Daan s

25/06/2014 22:28:30
Quote Anchor link
De database gegevens zijn fictief, ik heb ze er alleen in gezet om te laten zien, hoe ik het database.php bestand heb opgesteld.

De codering zet ik er normaal expres later in zodat ik niet elke keer een ww naar hash moet omzetten.
Heb de code geupdate.

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
<?php

error_reporting(-1);
ini_set('display_errors', 'On');
if(!$_SERVER['REQUEST_METHOD'] == "POST" ){
print 'het formulier werd niet verzonden';
}
else{

include 'config/database.php';

$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$mypassword = md5($mypassword);

$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM Users WHERE Username='$myusername' and Password='$mypassword'";
$result=mysql_query($sql);


$count=mysql_num_rows($result);

if($count==1){
session_start();
$_SESSION['login']=1;
session_register("myusername");
session_register("mypassword");

}
else {
echo "Wrong Username or Password";
}
}


?>


Foutmeldingen:

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /var/www/html/PUREFLEX/admin/config/database.php on line 3

Notice: Undefined index: myusername in /var/www/html/PUREFLEX/admin/checklogin.php on line 10

Notice: Undefined index: mypassword in /var/www/html/PUREFLEX/admin/checklogin.php on line 11
Wrong Username or Password
 
Frank Nietbelangrijk

Frank Nietbelangrijk

25/06/2014 22:31:19
Quote Anchor link
Obelix en Idefix op 25/06/2014 22:04:06:
Waar controleer je of de beide $_POST-variabelen bestaan?

Hetzelfde geldt voor de $_GET variabelen.

Wat Obelix bedoelt is dat deze variabelen enkel bestaan als ze ook meegegeven/meegepost worden.

bij http://mysite.nl/index.php?cms=login zal de $_GET['cms'] wel bestaan maar bij http://mysite.nl/index.php dus niet. Dat moet je dus testen voordat je zo een variabele gaat gebruiken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

if(isset($_GET['cms']))
    // $_GET['cms'] bestaat dus doe er iets mee
else
    // $_GET['cms'] bestaat niet.. wat nu?

?>
 
Obelix Idefix

Obelix Idefix

25/06/2014 22:32:08
Quote Anchor link
In die code heb je nog een heleboel zaken niet verwerkt die ik heb aangegeven.

De foutmeldingen lijken mij duidelijk:
mysql komt te vervallen
myusername en mypassword bestaan niet als variabelen.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

25/06/2014 22:37:23
Quote Anchor link
Ik zou zelf ook je inlog formulier en de checklogin samenvoegen in één pagina. Immers wil je bij formulieren dat de gebruikers op het formulier terug blijven komen zolang de gegevens niet goed ingevuld zijn. Pas als alle velden goed ingevuld zijn ga je dan de gegevens verwerken waarna je een redirect doet.
 



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.