Wachtwoord hashen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Frontend Developer Vue Nuxt HBO Javascript

Samengevat: Deze werkgever levert elke dag betere digitale gebruikerservaringen. Ben jij geschikt als frontend Developer? Heb je ervaring met Vue en Nuxt? Vaste baan: Front-End Developer HBO €3.100 - €4.600 Zij bieden opdrachtgevers een complete dienstverlening op gebied van ontwerpen en ontwikkelen van websites, zoekmachine optimalisatie, online adverteren, content marketing en conversie verbetering. Zij werken met een eigen ontwikkeld CMS. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Remote - Front-end Angular developer

Functie The IT team currently consists of the IT Manager, 2 back-end developers, 1 full-stack developer, 1 designer, and a DevOps engineer. They are currently looking for an experienced Front-end developer who will work autonomously and in a disciplined manner, being the only developer working on their Front-end applications at the start. They do have the ambition to find a second developer soon, who you will then be able to supervise. You will be working on the further development of their existing UI in Angular. But also developing a mobile app. They place great value on User Experience and opt

Bekijk vacature »

Software Programmeur

Functie omschrijving Ben jij op zoek naar een organisatie waar je samen met een team werkt aan iets moois en waar je naast hard werken ook hard kunt lachen? Dan ben je hier aan het juiste adres! Voor een informeel IT-bedrijf in omgeving Wassenaar zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed

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 »

Senior Front-End Developer

As a Senior Front-end Developer you maintain the balance between creativity and functionality for our webshop, and you coach your fellow developers. How do I become a Senior Front-End Developer at Coolblue? As a Front-end Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present this within the team. You are also proud of your work and welcome all feedback. Would you also like to become a Senior Front-End Developer at Coolblue?

Bekijk vacature »

Fullstack Software Developer

Functieomschrijving Voor een ambitieuze werkgever in regio Roosendaal zijn wij op zoek naar een Full Stack C#.NET Developer. Als software programmeur ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Verder ontwikkelen en onderhouden van webapplicaties, dashboards en apps voor de eigen IOT-oplossingen; Testen en goedkeuren van de software; Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks,

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Ervaren Software Developer

Functie omschrijving Ben jij een ervaren Software Developer, en heb je ervaring met technieken zoals C#, MS Access & SQL? Vind jij het leuk om maatwerk software te ontwikkelen voor klanten in een specifieke branche? Dan is dit de baan voor jou! Als ontwikkelaar ben jij samen met een team van 12 collega’s verantwoordelijk voor het bouwen van nieuwe functionaliteiten en het uitbreiden van de core applicatie. Belangrijk is dat je ervaring hebt met C# en MS Access. Je bent flexibel en klantvriendelijk ingesteld, omdat het belangrijk is om de klanten zo goed mogelijk van dienst te kunnen zijn. Thuiswerken

Bekijk vacature »

Java Developer / Sociaal domein

Dit ga je doen Nieuwbouw en doorontwikkeling; Beheer en wanneer nodig onderhoud; Bijdrage leveren in het functioneel- en technisch ontwerptraject; Analyseren van productie verstoringen; Meedenken over vernieuwingen en verbeteringen. Hier ga je werken De organisatie waar jij komt te werken focust zich op software development met een maatschappelijk tintje. De afdeling software ontwikkeling bestaat uit vijf verschillende scrum teams, met allen hun eigen focus gebied. Zo zijn er een aantal teams die zich focussen op specifieke applicaties, maar is er ook een team gericht op projecten. Binnen de organisatie staat innovatie en kwaliteit voorop. Een aantal applicaties draait nog op

Bekijk vacature »

Senior Java developer

Dit ga je doen Jouw taken als Senior Java Developer zijn: Het maken van strategische keuzes omtrent de nieuwbouw van applicaties; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java FX, JDBC, SQL, REST, Jax-RS, JSON, Maven, JUnit en Spring (boot)); Reviewen van code en feedback geven op collega developers; Analyseren en oplossen van bugs/incidenten door het onderlinge verband te kunnen leggen van verschillende losstaande systemen. Hier ga je werken Het bedrijf waar je als Senior Java Developer komt te werken staat internationaal bekend om het testen van bodemstructuren door middel van echotechnieken en beeldherkenning.

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

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

25/12/2024 14:19:12
 
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.