help blowfish

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Delphi developer

Functie Als Delphi developer ga jij aan de slag in een team met twee andere ervaren Delphi programmeurs waaronder de Hoofd programmeur. Als team zijn jullie verantwoordelijk voor de doorontwikkeling van jullie bestaande applicatie. Daarnaast zijn jullie verantwoordelijk voor het onderhouden van deze applicatie en het oplossen van eventuele bugs. Eisen - HBO werk en denk niveau; - Minimaal één jaar ervaring met Delphi; - Goede beheersing van de Nederlandse taal in woord en geschrift; - Jij bent zelfstandig, maar kan ook in team verband werken. Aanbod - €3000,-- €4000,- op basis van jouw kennis en ervaring; - 8% vakantiegeld;

Bekijk vacature »

No-Code Betty Blocks ontwikkelaar

Bedrijfsomschrijving Wil jij de bedrijfsprocessen van klanten revolutionair digitaliseren en optimaliseren zonder beperkt te worden door programmeertalen? Kom werken bij een snelgroeiende en professionele organisatie met een gezonde dosis humor en veel vrijheid om jezelf te ontwikkelen. Als No-Code Betty Blocks ontwikkelaar werk je vanuit ons kantoor in het hart van Nederland, je thuiswerkplek of op locatie bij de klant. We faciliteren de juiste trainingen en ondersteuning zodat je een echte Betty Blocks expert wordt. Naast het werk zijn er bij ons bijzondere events, zoals een jaarlijkse zeildag, een zomerse barbecue en een knus kerstdiner om de grillige maanden door

Bekijk vacature »

Fullstack JavaScript Developer Webapplicaties

Bedrijfsomschrijving Voor deze organisatie ben ik op zoek naar een getalenteerde Fullstack JavaScript Developer. Ze is een snelgroeiend software development agency dat zich richt op het ontwikkelen van moderne webapplicaties en complexe systemen voor haar klanten. Ze is gevestigd onder de rook van Utrecht en heeft als doel om tot de top van de Nederlandse agencies te behoren. Deze organisatie maakt softwareoplossingen voor verschillende soorten bedrijven. Innovatie staat hoog in het vaandel en je zult dus met nieuwe technieken aan de slag gaan. Ze hebben klanten in vele branches zitten, zoals retail, finance, gezondheid en onderwijs. De diverse klanten zorgen

Bekijk vacature »

SQL Database Ontwikkelaar

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je houdt je bezig met het ontwerp en de ontwikkeling van MS SQL server databases, dit doe je met T-SQL als programmeer laag. De begeleiding van projecten van A tot Z, je zult aansluiten bij meetings met

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

PHP Web Developer

Functie omschrijving Voor een klein softwarebedrijf in de omgeving Roosendaal, zijn wij op zoek naar een PHP web developer met een aantal jaar werkervaring. Wil jij graag werken aan in-house software projecten voor diverse klanten? Voel jij je prettige in een klein team developers, waar jouw inbreng enorm gewaardeerd wordt? Lees dan snel verder! Jouw werkzaamheden zien er als volgt uit: Je wordt verantwoordelijk voor de ontwikkeling van diverse applicaties. Dit kan de ene keer een online platform voor aanbiedingen zijn, en de andere keer een software pakket dat gebruikt wordt om interne processen te automatiseren. Het zijn stuk voor

Bekijk vacature »

Machine Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Machine Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Machine Software Developer ben je verantwoordelijk voor: - Je ontwerpt, ontwikkelt en debugt software voor machinebesturingssystemen en complexe landbouwmachines; - Je stelt gebruikersinterfaces op (cabinedisplays); - Op termijn ga je softwareprojecten leiden voor specifieke machines; - Inclusief planning, documentatie en validatie; - Om specificaties te verifiëren

Bekijk vacature »

SQL developer

Functieomschrijving Voor een erkende werkgever in de omgeving van Tilburg zijn wij op zoek naar een ervaren SQL ontwikkelaar. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt er als volgt uit te zien: Het ontwerpen en implementeren van databaseschema's: Je bent in staat om een database te ontwerpen en de structuur van tabellen, relaties, indexen en andere objecten te definiëren; Het schrijven van complexe SQL-query's: Je kunt complexe query's schrijven om gegevens uit de database

Bekijk vacature »

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

Junior Front-End Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale oplossingen van Coolblue. Wat doe je als Junior Front-End Developer bij Coolblue? Als Junior Front-End Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen. Op dat moment komt je wil om te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te maken. Je sterk analytisch vermogen komt dan goed van pas! Ook Junior Front-End Developer worden bij Coolblue?

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving Gezocht: Software Developer C# .NET voor een dynamische organisatie! Ben je onlangs afgestudeerd of ben je toe aan de volgende stap in je professionele carrière? Lees dan verder! We zijn momenteel op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die onze eindklant in de regio Arnhem kan versterken. In deze functie werk je aan verschillende projecten en bezoek je vaak klanten. Je kunt een rol verwachten met veel uitdaging, diversiteit en verantwoordelijkheid. Bedrijfsprofiel Binnen welke organisatie ga je aan de slag? Je gaat werken bij een organisatie die zich specialiseert in het

Bekijk vacature »

Senior Software developer PHP

Functie Jij als senior PHP ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 developers binnen onze organisatie Jij gaat de brug zijn tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je je taken op voor de dag. Een greep van jouw taken zijn: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden met Security & Privacy Eisen • Minimaal 4

Bekijk vacature »

Software developer - senior

Functie omschrijving Voor een echt softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking voor de afdeling Software Development! Ben jij op zoek naar een werkgever waar meerdere software developers werken aan interessante projecten? Ben jij op zoek naar een werkgever waar je onderdeel wordt van een team dat echt passie heeft voor het ontwikkelen van software? Dan ben je hier aan het juiste adres! Als softwareontwikkelaar kom je terecht bij een onafhankelijk, door kwaliteit gedreven, doortastend en daarbij op een Agile wijze werkend bedrijf. Ben jij een expert in het vertalen van Componenten van Functionaliteit naar Business lagen?

Bekijk vacature »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

Als Front-end developer bijdragen aan het onderwij

Functie Als front-end developer om je terecht in een team van goede en ervaren developers, en ga je werken aan de software die door miljoenen mensen gebruikt wordt. Je bent in staat om designs effectief te vertalen naar werkende feautures en hebt oog voor een goede UX van het product. Je staat voor clean code en goede documentatie. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit software en code. Je dagelijkse werk bestaat uit het werken aan componenten in de Storybook. Het verbeteren en refactoren van de huidige

Bekijk vacature »

Pagina: « vorige 1 2 3

Kenny iets

kenny iets

27/09/2014 19:37:19
Quote Anchor link
had dit dat was een script van iemand anders
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
<?php
require "config.php";
if ($_SERVER['REQUEST_METHOD'] == "POST") {
        if ($_POST['username'] == NULL) {
                $login_error =  "username is fout";
        }

        if ($_POST['password'] == NULL) {
                $login_error =  "password is fout";
        }

      
        $query = $mysqli->query("SELECT * FROM users WHERE username='".$mysqli->real_escape_string($_POST['username'])."' LIMIT 1");
        if ($query->num_rows == 1) {
                $row = $query->fetch_assoc();
                if (!password_verify($_POST['password'],$row['password'])) {
                        header('Refresh: 5; url=index.php');
                }

                $_SESSION['loggedin'] = TRUE;
                $_SESSION['username'] = $_POST['username'];
                $_SESSION['uid'] = $row['id'];
                Header("location: member.php");
        }
else {
                echo "user bestaat niet";
        }
}


?>

<html>
<head>
<title>Inloggen</title>
</head>
<body>
<form method="POST">
<?php if(isset($username) == TRUE){ echo $username; }else{echo "username";}?>: <input type="text" name="username"><br>
<?php if(isset($password) == TRUE){ echo $password; }else{echo "password";}?>: <input type="password" name="password"><br>
<input type="submit" value="<?php echo "login " ?>"><br>
</form>
</body>
</html>
 
PHP hulp

PHP hulp

04/05/2024 19:38:55
 
Dos Moonen

Dos Moonen

27/09/2014 20:10:50
Quote Anchor link
Ik mis 2x exit;

Hier is een nettere versie, geen zin om foutafhandeling nog netter te maken dan dit.
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
<?php
require "config.php";

if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['username'], $_POST['password'])) {
        $stmt = $mysqli->prepare('SELECT password FROM users WHERE username=? LIMIT 1');

        if ($stmt === FALSE) {
                exit('er is een interne fout opgetreden, probeer het later nog eens');
        }


        $stmt->bind_param('s', $_POST['username']);

        $stmt->execute();

        $stmt->bind_result($hash);

        $fetched = $stmt->fetch();

        if ($fetched === FALSE) {
                exit('er is een interne fout opgetreden, probeer het later nog eens');
        }


        if ($fetched) {
                if (password_verify($_POST['password'], $hash)) {
                        $_SESSION['loggedin'] = TRUE;
                        $_SESSION['username'] = $_POST['username'];
                        $_SESSION['uid'] = $row['id'];
                        header("location: member.php");
                        exit;
                }
else {
                        echo 'username/wachtwoord combinatie incorrect'; // liever opslaan en netjes in de html zetten?
                }
        }
else {
                echo "user bestaat niet"; // zie bovenstaand
        }
}


?>

<html>
<head>
<title>Inloggen</title>
</head>
<body>
<form method="POST">
username: <input type="text" name="username" value="<?php if(isset($username)) { echo $username; } ?>" /><br />
password: <input type="password" name="password" /><br />
<input type="submit" value="login"><br />
</form>
</body>
</html>
 
Kenny iets

kenny iets

27/09/2014 20:21:25
Quote Anchor link
thx man

Toevoeging op 27/09/2014 21:26:43:

is dit $fetched ook gelijk als je om uit de db te halen?
 
Dos Moonen

Dos Moonen

27/09/2014 22:10:02
Quote Anchor link
$stmt->bind_result(...) (even veel variabele als geselecteerde kolommen (PS. star select zuigt omdat je niet weet hoeveel dat er zijn)) zorgt er voor dat telkens wanneer je $stmt->fetch() aan roept de volgende rij in de opgegeven variabelen gezet wordt.

De query selecteert alleen het password veld. $stmt->bind_result($hash) bind het veld wachtwoord aan de variabele $hash.
$stmt->fetch(); fetchet de volgende (de enige) rij waarna $hash bruikbaar is.

$hash wordt gebruikt op regel 24.

Voor de mogelijke return waarden van Mysqli::bind_result() zie http://php.net/manual/en/mysqli-stmt.fetch.php
 
Kenny iets

kenny iets

27/09/2014 22:40:13
Quote Anchor link
Dos Moonen op 27/09/2014 22:10:02:
$stmt->bind_result(...) (even veel variabele als geselecteerde kolommen (PS. star select zuigt omdat je niet weet hoeveel dat er zijn)) zorgt er voor dat telkens wanneer je $stmt->fetch() aan roept de volgende rij in de opgegeven variabelen gezet wordt.

De query selecteert alleen het password veld. $stmt->bind_result($hash) bind het veld wachtwoord aan de variabele $hash.
$stmt->fetch(); fetchet de volgende (de enige) rij waarna $hash bruikbaar is.

$hash wordt gebruikt op regel 24.

Voor de mogelijke return waarden van Mysqli::bind_result() zie http://php.net/manual/en/mysqli-stmt.fetch.php


en die S?

Toevoeging op 27/09/2014 22:46:44:

en als ik daar wat anders uit db wil halen moet ik dan een nieuwe query maken?
 
Dos Moonen

Dos Moonen

27/09/2014 23:42:12
Quote Anchor link
https://www.youtube.com/watch?v=nLinqtCfhKY

De s geeft aan dat de parameter die je bind een string is.

Als je meer velden wilt selecteren zoals uid, die ik blijkbaar over het hoofd heb gezien. Moet je inderdaad de query aanpassen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

// nieuwe regel 5
$stmt = $mysqli->prepare('SELECT uid, password FROM users WHERE username=? LIMIT 1');

// nieuwe regel 15
       $stmt->bind_result($uid, $hash);

//nieuwe regel 27
                        $_SESSION['uid'] = $uid;
?>
Gewijzigd op 27/09/2014 23:43:06 door Dos Moonen
 
Kenny iets

kenny iets

27/09/2014 23:47:10
Quote Anchor link
Dos Moonen op 27/09/2014 23:42:12:
https://www.youtube.com/watch?v=nLinqtCfhKY

De s geeft aan dat de parameter die je bind een string is.

Als je meer velden wilt selecteren zoals uid, die ik blijkbaar over het hoofd heb gezien. Moet je inderdaad de query aanpassen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

// nieuwe regel 5
$stmt = $mysqli->prepare('SELECT uid, password FROM users WHERE username=? LIMIT 1');

// nieuwe regel 15
       $stmt->bind_result($uid, $hash);

//nieuwe regel 27
                        $_SESSION['uid'] = $uid;
?>


kan der ook gwn * staan?

Toevoeging op 27/09/2014 23:50:55:

Kenny iets op 27/09/2014 23:47:10:
Dos Moonen op 27/09/2014 23:42:12:
https://www.youtube.com/watch?v=nLinqtCfhKY

De s geeft aan dat de parameter die je bind een string is.

Als je meer velden wilt selecteren zoals uid, die ik blijkbaar over het hoofd heb gezien. Moet je inderdaad de query aanpassen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

// nieuwe regel 5
$stmt = $mysqli->prepare('SELECT uid, password FROM users WHERE username=? LIMIT 1');

// nieuwe regel 15
       $stmt->bind_result($uid, $hash);

//nieuwe regel 27
                        $_SESSION['uid'] = $uid;
?>


kan der ook gwn * staan?
nee dus
Warning: mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statement in



Toevoeging op 27/09/2014 23:54:13:

heb nu dit
ik heb hem echt verkloot xd
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
require "config.php";
if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['username'], $_POST['password'])) {
        $stmt = $mysqli->prepare('SELECT * FROM user WHERE username=? LIMIT 1');


        if ($stmt === FALSE) {
                exit('er is een interne fout opgetreden, probeer het later nog eens');
        }


        $stmt->bind_param('s', $_POST['username']);

        $stmt->execute();

        $stmt->bind_result($username, $password, $id, $hash);

        $fetched = $stmt->fetch();

        if ($fetched === FALSE){
                exit('er is een interne fout opgetreden, probeer het later nog eens');
        }


        if ($fetched) {
                if (password_verify($_POST['password'], $hash)) {
                        $_SESSION['loggedin'] = "pizza";
                        $_SESSION['username'] = $_POST['username'];
                        echo $id;
                      
                        echo "hallo";
                        exit;
                }
else {
                        echo 'username/wachtwoord combinatie incorrect'; // liever opslaan en netjes in de html zetten?
                }
        }
else {
                echo "user bestaat niet"; // zie bovenstaand
        }
}


?>

<html>
<head>
    <title>titel?</title>
    <link rel="stylesheet" type="text/css" href="index.css" />
</head>
<body>
    <div id="header">
        <div id="links">
            <img src="http://www.catalogs.com/info/bestof/wp-content/uploads/2011/09/62.jpg" width="172" height="100" align="center" />
        </div>
        
        <div id="midden">
            
        </div>
        
        <div id="rechts">
            <form action="index.php" method="POST">
                <?php echo $langusername; ?>:<br />              
                <input type="text" placeholder="gebruikersnaam" name="username" /><br />
                    Wachtwoord:<br />
                    
                    <input type="password" name="password" placeholder="wachtwoord" /><br />
                    
                    <input type="submit"id="login" value="login">
                    <input type='hidden' name='hidden' value=1>
                    
                    
                    
            
            </form>
        </div>
    </div>
    <div class="clear"></div><!-- clear -->


    

 


    <div id="footer"  >
        pizza met pereroni
    </div>
</body>
</html>
 
Dos Moonen

Dos Moonen

28/09/2014 12:31:54
Quote Anchor link
http://www.phphulp.nl/php/forum/topic/help-blowfish/95944/3/#689833:
star select zuigt omdat je niet weet hoeveel [velden] er zijn


Een sterretje selecteert alle velden uit de tabel.
Als dat 42 velden zijn moet je ook 42 variabele in bind_result() stoppen...
Wanneer je een veld toevoegt of weghaalt uit de tabel moet je ook de code weer aanpassen.

Een sterretje heeft de volgende 'voordelen':
- de query is iets kleiner
en de volgende nadelen
- je moet véél meer typen doordat elk veld door een variabele gerepresenteerd moet worden in bind_result()
- ook al voeg je een veld toe / verwijder/verplaats je een veld dat helemaal niets met je login script te maken heeft dan moet je nog steeds je login script aanpassen. (en mogelijk andere scripts waar je het zelfde doet

Alleen de juiste velden selecteren heeft de volgende voordelen:
- blijft werken als je velden toevoegt/verwijderd/verplaats die niets met inloggen te maken hebben
- je haal alleen op wat je nodig hebt
- minder typen
- je haalt meer informatie op uit de database dan nodig
en het volgende 'nadeel'
- de query is iets langer doordat deze specifieker is

Dus JA, het kan. Maar je bent dom bezig als je het doet.

Waarom wil je trouwens de username uit de database halen? Je hebt die al.
Het enige wat je nodig hebt in de bcrypt hash (ik ging er vanuit dat je deze opslaat in een veld genaamd 'password') en de primary key (waarschijnlijk een veld genaamd 'id') is ook wel fijn.
De select query en bind_result() moeten de zelfde volgorde gebruiken. Doe je dat niet dan komt de data niet in de juiste variabele te staan, PHP kan je gedachten namelijk niet lezen. Als het dat kon zouden we niet hoeven te programmeren, alleen denken aan wat we willen.
 

Pagina: « vorige 1 2 3



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.