Wachtwoord hashen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lead C++ Developer

De rol van Lead C++ Developer Als Lead C++ developer bij KUBUS word je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de desktop applicaties van BIMcollab, ons platform voor 3D model-validatie en issue-management bedoeld om de kwaliteit van 3D design-modellen voor gebouwen te verbeteren. Betere 3D modellen leiden tot betere gebouwen, dus zo draag je bij aan verduurzaming van de gebouwde omgeving met slimmer gebruik van materialen, minder verspilling en energie-efficiënte gebouwen. Een goede gebruikerservaring staat bij ons hoog in het vaandel; we gaan in onze ontwikkeling voor innovatie en kwaliteit. In je rol als

Bekijk vacature »

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en staan

Bekijk vacature »

SQL Database ontwikkelaar

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Klein team zoekt grote fullstack .NET developer to

Bedrijfsomschrijving Deze werkgever is marktleider in de Benelux en is Europees ook al aardig aan de weg aan het timmeren. Ze voorzien technische winkels van apparatuur om producten een langer leven te geven. Hiermee reduceren ze flink wat CO2 uitstoot en dat is natuurlijk goed voor iedereen! IT speelt een belangrijke rol in de bedrijfsvoering en de applicaties zijn van goed niveau. Als fullstack .NET developer ga jij je bijdrage leveren aan het verder verbeteren van de applicaties en de interne processen. Ze zijn nu met ruim 50 medewerkers in totaal en de afdeling development bestaat uit een 5tal developers.

Bekijk vacature »

Front-end Angular developer

Functie In jouw rol als Front-End developer werk je samen met de backend developers om middels tweewekelijkse sprints het platform naar een hoger niveau te tillen. Hiernaast heb je affiniteit met data en werk je graag samen met het team om de gegevensintegriteit en -beveiliging te waarborgen, om ervoor te zorgen dat de gebruiker wereldwijd de beste SaaS-services heeft. Deze organisatie heeft meer dan 100 mensen in dienst, waarvan er 45 in Nederland werken. Het ontwikkelteam bestaat uit 10 mensen en is verdeeld in 2 scrumteams. Het eerste team bestaat uit Java en Scala ontwikkelaars. Het tweede team, waar jij

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Arnhem gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Als C# .NET Developer binnen dit bedrijf houd je je niet alleen bezig met het verbeteren van

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Senior Organisatieontwikkelaar

Als Organisatieontwikkelaar zorg je ervoor dat we in het magazijn van Coolblue altijd vooruit voetballen op het gebied Medewerker en Organisatie Ontwikkeling. Zo draag je bij aan een toekomstbestendig magazijn waar we klanten én medewerkers elke dag blijven verwonderen. Wat doe je als Senior Organisatieontwikkelaar bij Coolblue? Als Organisatieontwikkelaar werk je voor het magazijn van Coolblue. Je krijgt er energie van om continue te bouwen aan een toekomstbestendige organisatie. Dat doe je samen met 17 collega's in het HR-team, ieder met een eigen specialisme. Je werkt graag zelfstandig en je weet snel je weg te vinden als verandermanager. Ook ben

Bekijk vacature »

Senior Front-end developer

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Scrum Master

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

Pagina: « vorige 1 2 3 4 volgende »

- SanThe -

- SanThe -

09/03/2015 20:24:52
Quote Anchor link
Na header() zal het script niet direct stoppen.
Om dat te forceren gebruik je exit().
 
PHP hulp

PHP hulp

27/04/2024 19:12:52
 
Ronnie Peeters

Ronnie Peeters

09/03/2015 21:34:25
Quote Anchor link
Sorry, mijn veld admin staat voor 1 user op "yes" in de database (varchar):
Ik kan nu met geen enkele gebruiker meer aanloggen.
Met verkeerde username => wit scherm
Met verkeerd wachtwoord => incorrect password (lijkt me dus goed)
Met juiste credentials + admin op yes => incorrect username
Met juiste crendentials zonder admin op yes => acces denied


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
<?php
    include("password.php");
    session_start();
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);
    $bool = true;

    mysql_connect("localhost", "root", "usbw") or die (mysql_error()); //Connectie naar de server
    mysql_select_db("first_db") or die ("Cannot connect to database"); //Connect naar de database
    $query = mysql_query("Select * from users WHERE username='$username'"); // Query de users tabel
    $exists = mysql_num_rows($query); //checked of de gebruikersnaam bestaat
    $table_users = "";
    $table_password = "";
    if($exists > 0) //Als er geen resultaten zijn of geen bestaande username is
    {
       while($row = mysql_fetch_array($query)) // Toont alle rijen van de query
       {
          $table_users = $row['username']; // De eerste gebruikersnaam rij word doorgegeven naar $table_users, en hij doet dat tot heel de query is afgelopen
          $table_password = $row['password']; // De eerste wachtwoorden rij word doorgegeven naar de $table_password, en hij doet dat tot heel de query is afgelopen
            $admin = $row['admin'];
      }

      if ($admin == 'yes') {
       if(($username == $table_users) && password_verify($password, $table_password) && ($admin == 'yes'))// checked of er een match is
       {
          
            if ($password == $table_password) {
                $_SESSION['user'] = $username;
                $_SESSION['admin'] = $admin;
                header("location: home.php");

        
      
         }
else {
                print '<script>alert("Incorrect username!");</script>';
                print '<script>window.location.assign("login.php");</script>';
            }
        }
else {
            print '<script>alert("Incorrect Password!");</script>';
            print '<script>window.location.assign("login.php");</script>';
        }
    }
else {
        print '<script>alert("Acces denied!");</script>';
        print '<script>window.location.assign("login.php");</script>';
    }
}

?>
 
- Ariën  -
Beheerder

- Ariën -

09/03/2015 21:44:29
Quote Anchor link
Het is al eerder gezegd, maar je mysql_real_escape_string moet je NA je databaseconnectie plaatsen. Verder kan je ook prima die functie direct in de query gebruiken, zoals in mijn voorbeeld.

Verder kan je ook prima met booleans (true/false; 1/0) werken in je database om aan te geven of iemand admin is, of niet. Gewoon een 0 (niet) of 1 (wel) gebruiken.

Verder raad ik het niet aan om de status van een admin in de sessie op te slaan. Mocht je iemand ontheffen uit zijn adminfunctie, dan zal hij eerst zijn browser af moeten sluiten. het enige wat in een sessie hoort is een status of iemand ingelogd is als boolean, en zijn userID.
Gewijzigd op 09/03/2015 22:33:21 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/03/2015 22:27:06
Quote Anchor link
Aar C op 09/03/2015 21:44:29:
het enige wat in een sessie hoort is een status of iemand ingelogd is als boolean.


Uhm Aar,

hoe weten we dan WIE er ingelogd is? Lijkt mij dat je toch ook een user_id opslaat in de sessie? Of als alternatief kan ik nog verzinnen dat je het sessie_id opslaat in de database in de users tabel.
 
- Ariën  -
Beheerder

- Ariën -

09/03/2015 22:32:38
Quote Anchor link
Ja, en een userID hoort erin, die was ik vergeten.
 
Ronnie Peeters

Ronnie Peeters

10/03/2015 09:21:16
Quote Anchor link
Iemand een idee waarom dat script niet werkt?
Sorry, mijn veld admin staat voor 1 user op "yes" in de database (varchar):
Ik kan nu met geen enkele gebruiker meer aanloggen.
Met verkeerde username => wit scherm
Met verkeerd wachtwoord => incorrect password (lijkt me dus goed)
Met juiste credentials + admin op yes => incorrect username
Met juiste crendentials zonder admin op yes => acces denied





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
<?php
    include("password.php");
    session_start();
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);
    $bool = true;

    mysql_connect("localhost", "root", "usbw") or die (mysql_error()); //Connectie naar de server
    mysql_select_db("first_db") or die ("Cannot connect to database"); //Connect naar de database
    $query = mysql_query("Select * from users WHERE username='$username'"); // Query de users tabel
    $exists = mysql_num_rows($query); //checked of de gebruikersnaam bestaat
    $table_users = "";
    $table_password = "";
    if($exists > 0) //Als er geen resultaten zijn of geen bestaande username is
    {
       while($row = mysql_fetch_array($query)) // Toont alle rijen van de query
       {
          $table_users = $row['username']; // De eerste gebruikersnaam rij word doorgegeven naar $table_users, en hij doet dat tot heel de query is afgelopen
          $table_password = $row['password']; // De eerste wachtwoorden rij word doorgegeven naar de $table_password, en hij doet dat tot heel de query is afgelopen
            $admin = $row['admin'];
      }

      if ($admin == 'yes') {
       if(($username == $table_users) && password_verify($password, $table_password) && ($admin == 'yes'))// checked of er een match is
       {
          
            if ($password == $table_password) {
                $_SESSION['user'] = $username;
                $_SESSION['admin'] = $admin;
                header("location: home.php");

        
      
         }
else {
                print '<script>alert("Incorrect username!");</script>';
                print '<script>window.location.assign("login.php");</script>';
            }
        }
else {
            print '<script>alert("Incorrect Password!");</script>';
            print '<script>window.location.assign("login.php");</script>';
        }
    }
else {
        print '<script>alert("Acces denied!");</script>';
        print '<script>window.location.assign("login.php");</script>';
    }
}

?>
 
Ivo P

Ivo P

10/03/2015 09:27:48
Quote Anchor link
if(($username == $table_users)

de kans dat de username niet gelijk is aan $table_users is niet zo heel groot: gezien je dit in de query al afdwingt.
Hooguit gaat hier nog wat mis mbt mysql_real_escape_string.


password_verify($password, $table_password)

geen idee wat dit doet? kijken of gehast password in database gelijk is aan de hash van het ingevoerde password (na mishandeling door mysql_real_escape_string) ?

vreemd, want daarna volgt nog een keer
if ($password == $table_password) {

dus we vallen terug op de niet gehashte versie van $password en vergelijken nog een keer.



---
doe je trouwens iets met de aanwijzingen of negeer je alles wat niet direct tot je oplossing leidt?
ik bedoel opmerkingen over eerst connecten, dan escapen, etc.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/03/2015 09:28:35
Quote Anchor link
Zorg eerst eens dat je foutmeldingen gaat krijgen. Zet onderstaande twee regels bovenaan in je script.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>


Daarnaast heb jij wel de laatste reactie van Aar gelezen?
a) mysql_connect
b) mysql_real_escape_string

In die volgorde en niet andersom.
Laat maar weten welke foutmeldingen je krijgt.
 
Ronnie Peeters

Ronnie Peeters

10/03/2015 10:03:38
Quote Anchor link
Sorry en bedankt voor de reacties. Ik heb de mysql_real_escape_string achter mijn connect gestoken.


error
Notice: Undefined index: username in D:\USBWebserver v8.6\root\restaurant\checklogin.php on line 10

Notice: Undefined index: password in D:\USBWebserver v8.6\root\restaurant\checklogin.php on line 11



Code

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
<?php
    include("password.php");
    session_start();

    $bool = true;

    mysql_connect("localhost", "root", "usbw") or die (mysql_error()); //Connectie naar de server
    mysql_select_db("first_db") or die ("Cannot connect to database"); //Connect naar de database
    
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);
    $query = mysql_query("Select * from users WHERE username='$username'"); // Query de users tabel
    $exists = mysql_num_rows($query); //checked of de gebruikersnaam bestaat
    $table_users = "";
    $table_password = "";
    
    
    
    if($exists > 0) //Als er geen resultaten zijn of geen bestaande username is
    {
       while($row = mysql_fetch_array($query)) // Toont alle rijen van de query
       {
          $table_users = $row['username']; // De eerste gebruikersnaam rij word doorgegeven naar $table_users, en hij doet dat tot heel de query is afgelopen
          $table_password = $row['password']; // De eerste wachtwoorden rij word doorgegeven naar de $table_password, en hij doet dat tot heel de query is afgelopen
            $admin = $row['admin'];
      }

      if ($admin == 'yes') {
       if(($username == $table_users) && password_verify($password, $table_password) && ($admin == 'yes'))// checked of er een match is
       {
          
            if ($password == $table_password) {
                $_SESSION['user'] = $username;
                $_SESSION['admin'] = $admin;
                header("location: home.php");

        
      
         }
else {
                print '<script>alert("Incorrect username!");</script>';
                print '<script>window.location.assign("login.php");</script>';
            }
        }
else {
            print '<script>alert("Incorrect Password!");</script>';
            print '<script>window.location.assign("login.php");</script>';
        }
    }
else {
        print '<script>alert("Acces denied!");</script>';
        print '<script>window.location.assign("login.php");</script>';
    }
}

?>



Login pagina is niet meer dan dit:

<html>
<body>
<a href="index.php">Terug naar home </a><br/><br/>
<form action="checklogin.php" method="POST">
Vul gebruikersnaam in: <input type="text" name="username" required="required" /> <br/>
Vul wachtwoord in: <input type="password" name="password" required="required" /> <br/>
<input type="submit" value="Login"/>
</form>
</body>
</html>
 
- Ariën  -
Beheerder

- Ariën -

10/03/2015 10:09:49
Quote Anchor link
$_POST['username'] en $_POST['password'] zijn nog leeg.

Daarom raad ik aan om eerst te controleren of er gepost is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
    // er is een formulier verstuurd. Plaats hier de afhandeling, zoals validatie, databasecontrole, sessies aanmaken etc...
} else {
    // toon hier eventueel je formulier. Deze else is niet verplicht.
}
?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/03/2015 10:14:55
Quote Anchor link
Kijk. de twee waarschuwingen die je krijgt zijn omdat de $_POST['?'] variabelen niet altijd beschikbaar zijn.
Je moet daarom eerst isset() gebruiken om te controleren of ze aanwezig zijn

Daarnaast in het algemeen controleer je of een formulier verstuurd is door het volgende te gebruiken

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    // ahhh de gebruiker heeft waarschijnlijk een gebruikersnaam en wachtwoord ingevuld en op Login geklikt
}
?>


Waar ik persoonlijk aan hekel is waarom je het formulier naar een ander PHP bestand laat sturen (checklogin.php)
Waarom laat je het attribuut action="" niet gewoon leeg zodat je op dezelfde pagina blijft? Je kunt dan namelijk direct het formulier nog een keer voorschotelen (met een foutmelding) als een gebruiker niet de goede combinatie username/password heeft ingevuld.

Eigenlijk komt het neer op mijn voorbeeld in dit topic: http://www.phphulp.nl/php/forum/topic/controle-email-adress/97365/

Kortom zorg eerst even dat je het formulier op de juiste wijze gaat afhandelen
 

10/03/2015 10:27:54
Quote Anchor link
Ik heb er altijd een hekel aan als PHP en html door elkaar staan.
Waarom doe je niet gewoon met Composer de bestanden binnehalen die je wilt zodat alles ook netjes te unittesten is.

Weg met procudurele PHP! En allemaal netjes OOP leren. Ookal ken je nog geen PHP, je hebt procedurele PHP niet nodig dat kan je ook leren terwijl je PHP OOP leert.

Wie is ervoor!
 
- Ariën  -
Beheerder

- Ariën -

10/03/2015 10:32:01
Quote Anchor link
Ik, maar je kan het niemand natuurlijk verplichten. OOP is een behoorlijke leercurve en verder moet iemand er wel voor openstaan.

Iemand die zelden wat met PHP doet, en zijn tijd liever besteed aan andere zaken heeft weinig aan OOP. Daarom mogen we blij zijn dat PHP zowel procedureel als object-georienteerd kan, tot in tegenstelling van de meeste andere programmeertalen.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/03/2015 10:42:27
Quote Anchor link
Ik snap Rickert ook wel.. Als je het OOP eenmaal in de vingers hebt dan zie de voordelen en wil je niet meer zonder.
Aan de andere kant is het absoluut geen vereiste om een correct werkend PHP script te verkrijgen. Je kunt met procedureel hetzelfde eindresultaat bereiken. Voor de beginners vind ik het persoonlijk belangrijker dat ze de logica gaan snappen van een aantal zaken die hier bijna dagelijks aan bod komen.
 
Ronnie Peeters

Ronnie Peeters

10/03/2015 10:49:51
Quote Anchor link
Ja om OO te leren zal ik nu geen tijd voor hebben.

Ik heb even gecheckt of die post iets verstuurd. Nu daar zit blijkbaar het probleem want er komt niets binnen.
Nochtans heeft dit script altijd gewerkt vooraleer ik begon met die hash en admin levels. Ja ik snap dat je de code ook in login.php zou kunnen maken, maar zou het nu graag zo afwerken.

Iemand een idee waarom er niets meer doorkomt?

Dit is mijn checklogin.php

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
<?php
    include("password.php");
    session_start();

    $bool = true;
    
    
    if($_SERVER['REQUEST_METHOD']=="POST")
    {

        
            print '<script>alert("niets verzonden!");</script>';
            print '<script>window.location.assign("login.php");</script>';
    

    mysql_connect("localhost", "root", "usbw") or die (mysql_error()); //Connectie naar de server
    mysql_select_db("first_db") or die ("Cannot connect to database"); //Connect naar de database
    
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);
    $query = mysql_query("Select * from users WHERE username='$username'"); // Query de users tabel
    $exists = mysql_num_rows($query); //checked of de gebruikersnaam bestaat
    $table_users = "";
    $table_password = "";
    
    
    
    if($exists > 0) //Als er geen resultaten zijn of geen bestaande username is
    {
       while($row = mysql_fetch_array($query)) // Toont alle rijen van de query
       {
          $table_users = $row['username']; // De eerste gebruikersnaam rij word doorgegeven naar $table_users, en hij doet dat tot heel de query is afgelopen
          $table_password = $row['password']; // De eerste wachtwoorden rij word doorgegeven naar de $table_password, en hij doet dat tot heel de query is afgelopen
            $admin = $row['admin'];
      }

      if ($admin == 'yes') {
       if(($username == $table_users) && password_verify($password, $table_password) && ($admin == 'yes'))// checked of er een match is
       {
          
            if ($password == $table_password) {
                $_SESSION['user'] = $username;
                $_SESSION['admin'] = $admin;
                header("location: home.php");

        
      
         }
else {
                print '<script>alert("Incorrect username!");</script>';
                print '<script>window.location.assign("login.php");</script>';
            }
        }
else {
            print '<script>alert("Incorrect Password!");</script>';
            print '<script>window.location.assign("login.php");</script>';
        }
    }
else {
        print '<script>alert("Acces denied!");</script>';
        print '<script>window.location.assign("login.php");</script>';
    }
}
    }

    else
    {
        print '<script>alert("niets verzonden!");</script>';
            print '<script>window.location.assign("login.php");</script>';
        
    }

?>



Dit is mijn login.php
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
<html>
    <head>
        <title>Mijn restaurant</title>
    </head>
    <body>
        <h2>Login Pagina</h2>
        <a href="index.php">Terug naar home </a><br/><br/>
        <form action="checklogin.php" method="POST">
           Vul gebruikersnaam in: <input type="text" name="username" required="required" /> <br/>
           Vul wachtwoord in: <input type="password" name="password" required="required" /> <br/>
           <input type="submit" value="Login"/>
        </form>
    </body>
</html>

Aar C:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 10/03/2015 11:13:45 door - Ariën -
 
- SanThe -

- SanThe -

10/03/2015 11:12:25
Quote Anchor link
Op regel 11 is er juist wel iets verzonden.
 
Ivo P

Ivo P

10/03/2015 11:30:20
Quote Anchor link
regels 11, 12 eruit.

regel 19 : $password = $_POST['password'];
(liever nog in de rest van je script $_POST['password'] gebruiken, maar ik verwacht dat je dan nog grotere puinhoop maakt.

op regel 38

var_dump($password);
var_dump($table_password);

Toevoeging op 10/03/2015 11:31:30:

en die dump mag evt ook tussen regel 34 en 35, mocht het niets opleveren.
 
Ronnie Peeters

Ronnie Peeters

10/03/2015 11:59:31
Quote Anchor link
Thanks,

Nu krijg ik de volgende melding

Parse error: syntax error, unexpected 'else' (T_ELSE) in D:\USBWebserver v8.6\root\restaurant\checklogin.php on line 53





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
<?php
    include("password.php");
    session_start();

    $bool = true;
    
    
    if($_SERVER['REQUEST_METHOD']=="POST")
    {

        
    

    mysql_connect("localhost", "root", "usbw") or die (mysql_error()); //Connectie naar de server
    mysql_select_db("first_db") or die ("Cannot connect to database"); //Connect naar de database
    
    $username = mysql_real_escape_string($_POST['username']);
    $password = $_POST['password'];
    $query = mysql_query("Select * from users WHERE username='$username'"); // Query de users tabel
    $exists = mysql_num_rows($query); //checked of de gebruikersnaam bestaat
    $table_users = "";
    $table_password = "";
    
    
    
    if($exists > 0) //Als er geen resultaten zijn of geen bestaande username is
    {
       while($row = mysql_fetch_array($query)) // Toont alle rijen van de query
       {
          $table_users = $row['username']; // De eerste gebruikersnaam rij word doorgegeven naar $table_users, en hij doet dat tot heel de query is afgelopen
          $table_password = $row['password']; // De eerste wachtwoorden rij word doorgegeven naar de $table_password, en hij doet dat tot heel de query is afgelopen
            $admin = $row['admin'];
      }

      if ($admin == 'yes') {
       if(($username == $table_users) && password_verify($password, $table_password) && ($admin == 'yes'))// checked of er een match is
       var_dump($password);
       var_dump($table_password);    
      
       {

          
            if ($password == $table_password) {
                var_dump($password);
                var_dump($table_password);                
                $_SESSION['user'] = $username;
                $_SESSION['admin'] = $admin;
                header("location: home.php");

        
      
         }
else {
                print '<script>alert("Incorrect username!");</script>';
                print '<script>window.location.assign("login.php");</script>';
            }
        }
else {
            print '<script>alert("Incorrect Password!");</script>';
            print '<script>window.location.assign("login.php");</script>';
        }
    }
else {
        print '<script>alert("Acces denied!");</script>';
        print '<script>window.location.assign("login.php");</script>';
    }
}
    }

    else
    {
        print '<script>alert("niets verzonden!");</script>';
            print '<script>window.location.assign("login.php");</script>';
        
    }

?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/03/2015 12:01:51
Quote Anchor link
even je accolades nakijken. Een goede PHP editor helpt ook
 
- Ariën  -
Beheerder

- Ariën -

10/03/2015 12:04:23
Quote Anchor link
En fatosnelijk inspringen kan ook geen kwaad:

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

include("password.php");
session_start();

$bool = true;


if ($_SERVER['REQUEST_METHOD'] == "POST") {



    mysql_connect("localhost", "root", "usbw") or die(mysql_error()); //Connectie naar de server
    mysql_select_db("first_db") or die("Cannot connect to database"); //Connect naar de database

    $username = mysql_real_escape_string($_POST['username']);
    $password = $_POST['password'];
    $query = mysql_query("Select * from users WHERE username='$username'"); // Query de users tabel
    $exists = mysql_num_rows($query); //checked of de gebruikersnaam bestaat
    $table_users = "";
    $table_password = "";



    if ($exists > 0) { //Als er geen resultaten zijn of geen bestaande username is
    while ($row = mysql_fetch_array($query)) { // Toont alle rijen van de query
        $table_users = $row['username']; // De eerste gebruikersnaam rij word doorgegeven naar $table_users, en hij doet dat tot heel de query is afgelopen
        $table_password = $row['password']; // De eerste wachtwoorden rij word doorgegeven naar de $table_password, en hij doet dat tot heel de query is afgelopen
        $admin = $row['admin'];
    }

    if ($admin == 'yes') {
        if (($username == $table_users) && password_verify($password, $table_password) && ($admin == 'yes')) { // checked of er een match is
        var_dump($password);
        var_dump($table_password);

        if ($password == $table_password) {
            var_dump($password);
            var_dump($table_password);
            $_SESSION['user'] = $username;
            $_SESSION['admin'] = $admin;
            header("location: home.php");
        }
else {
            print '<script>alert("Incorrect username!");</script>';
            print '<script>window.location.assign("login.php");</script>';
        }
        }
else {
        print '<script>alert("Incorrect Password!");</script>';
        print '<script>window.location.assign("login.php");</script>';
        }
    }
else {
        print '<script>alert("Acces denied!");</script>';
        print '<script>window.location.assign("login.php");</script>';
    }
    }
}
else {
    print '<script>alert("niets verzonden!");</script>';
    print '<script>window.location.assign("login.php");</script>';
}

?>


De fout was dat je na je if op lijn 34 geen { had staan, en die op een losse plek twee regels verder had staan.
Gewijzigd op 10/03/2015 12:05:07 door - Ariën -
 

Pagina: « vorige 1 2 3 4 volgende »



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.