Eerste Poging ...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Ontwikkelaar .NET te Zaandam

Bedrijfsomschrijving Je komt hier terecht bij een door-en-door softwarebedrijf, waarbinnen meerdere SaaS pakketten worden ontwikkelt voor diverse sectoren. Hierbij kun je denken aan bijvoorbeeld de logistieke en medische branche. Deze organisatie kenmerkt zich door de hoge mate van complexiteit in de applicaties, wat betekent dat jij je hier niet zal gaan vervelen. Integendeel: Jij gaat hier elke dag ontzettend veel leren en je in razend tempo ontwikkelen als C# .Net Developer met focus op back-end. Het team bestaat uit ongeveer 20 personen personen, waarvan het grootste deel zich richt op software development. De sfeer is informeel en professioneel. De producten

Bekijk vacature »

.NET developer

Functie Als .NET developer wordt jij onderdeel van ons ICT team. In dit multidisciplinaire team ben jij samen met onze senior .NET ontwikkelaar en medior .NET ontwikkelaar verantwoordelijk voor ons ERP systeem. In dit systeem (Navision) ga jij leren ontwikkelen. Wij bieden jou dan ook een gedegen opleiding aan, samen met de ondersteuning van onze Senior .NET developer. Daarnaast ga jij aan de slag met ons portaal geschreven in Sharepoint. Verder ben jij verantwoordelijk voor EDI verkeer en het ontwikkelen binnen het ERP systeem en andere toepassingen en rapportages. Van jou wordt verwacht dat jij het proces goed leert kennen

Bekijk vacature »

Medior/senior Fullstack developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Full Stack .NET Developer C# ASP.NET

Samengevat: Deze werkgever is gespecialiseerd in het op afstand bewaken en besturen van machines en processen. Ben jij een ervaren Full Stack .NET Developer? Heb je ervaring met C# en ASP.NET? Vaste baan: .Net Developer C# ASP.NET HBO €3.300 - €4.500 Deze werkgever is een snel groeiende onderneming gespecialiseerd in het op afstand bewaken en besturen van machines en processen, IoT (Internet of Things). Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Wil jij bij de top specialisten horen? Ben jij op zoek naar een

Bekijk vacature »

Java Front-end Developer

Dit ga je doen Ontwikkelen van nieuwe functionaliteiten in Java met tools als Springboot, MS SQL Server (T-SQL) en JavaScript; Het onderhouden van de (web-)applicaties binnen een complexe omgeving; Werken aan de migratie van een monolithisch systeem naar een architectuur gebaseerd op Kubernetes; Code reviews met collega's en actieve kennisuitdelingsessies voeren; Het uitvoeren van unit- en systeemtests Experimenteren met nieuwe tools en technieken. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Back end developer

Functie Jij als full stack ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor 90% van je tijd je bezig houden met het ontwikkelen van grote maatwerk applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. De technische uitdaging momenteel is dat

Bekijk vacature »

C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars 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: Testen en valideren van de ontwikkelde software. Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je gaat aan de slag met diverse technologieën en frameworks. Denk hierbij aan C#, JS frameworks, HTML, CSS, TypeScript,

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een uitdagende werkgever in omgeving Waalwijk zijn wij op zoek naar een enthousiaste softwareontwikkelaar met kennis of ervaring met C# en SQL. In een uitdagende rol als C#.NET Developer werk je samen met een enthousiast en informeel team aan het bouwen van maatwerk software voor variërende klanten. Verder ziet jouw takenpakket er als volgt uit: Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je houdt je bezig met het ontwikkelen

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 »

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 »

Oracle APEX Ontwikkelaar (3.500-6.000 euro)

Bedrijfsomschrijving Ben jij een getalenteerde Oracle APEX ontwikkelaar met minimaal één jaar ervaring in het ontwikkelen van Oracle APEX-applicaties? Ben je gepassioneerd over het ontwikkelen van bedrijfskritische oplossingen en wil je werken bij een toonaangevend consultancybedrijf? Dan zijn wij op zoek naar jou! Deze organisatie beschikt over zowel inhouse als externe projecten, maar bovenal over een sterk team en netwerk van opdrachten waardoor jij jezelf verder kunt ontwikkelen. Het team bestaat uit een aantal junior en medior developers, maar vooral uit senioren. De business unit managers binnen het team zijn mensen die hun vak verstaan en zelf als Oracle APEX

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer begint jouw dag na een bak koffie met een stand up. De vorderingen worden tijdens de stand up besproken en de doelen worden opgesteld waar jullie als team in de volgende sprint naartoe gaan werken. Onze backend is geschreven in .NET Core en onze Front-end in Angular. Bij ons ga jij dan ook Fullstack aan de slag. Jij wordt hier opgeleid om zelfstandig te kunnen programmeren en applicaties te kunnen implementeren. Er wordt op projectbasis gewerkt, dit bied leuke uitdagingen omdat elke klant een andere visie heeft over de applicatie die wij maken. Je gaat

Bekijk vacature »

C#.NET ontwikkelaar

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een C#.NET ontwikkelaar. Je bent verantwoordelijk voor het ontwikkelen van dashboards, webapplicaties en apps voor de eigen IOT-oplossingen. Samen met een vooruitstrevend team van ontwikkelaars en engineers krijgen jullie de opdracht om de sensoren in de apparatuur te scannen en vervolgens de data om te zetten in belangrijke inzichten voor de klanten. Taken en verantwoordelijkheden: Heb jij ideeën over nieuwe technieken die jullie kunnen implementeren? Hier wordt echt naar je geluisterd en gekeken of jouw idee daadwerkelijk ingezet kan worden; Je gaat aan de slag met de

Bekijk vacature »
Alex L

Alex L

25/03/2011 01:14:38
Quote Anchor link
Ok, hieronder is mijn eerste poging.
Even wat informatie.

De $database connectie wordt in een andere file gemaakt.
De %s functie wordt ook daar aangeroepen, deze bevat mysql_real_escape_string functie.
De error functie bevat de die() functie nadat hij de error heeft weergegeven.
De 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
<?php

class Inloggen {
    global $database;
    
    function
check_inloggen () {
    $result=$db->get_row($db->prepare("SELECT gebruikersnaam,wachtwoord FROM logins WHERE gebruikersnaam=%s AND wachtwoord=%s",$gebruikersnaam,$wachtwoord)); // escape string zit in andere functie die hier wordt aangeroepen
    if(!$result)
        error("Onjuiste gebruikersnaam of wachtwoord.");
    }
    
    function
inloggen ($gebruikersnaam,$wachtwoord) {
    $inloggen = $this->check_inloggen ()
    
    if (!$inloggen)
        error("Onjuiste gebruikersnaam of wachtwoord.");
        
    session_regenerate_id (sha1($gebruikersnaam));
    $_SESSION['gebruikersnaam'];
    header (location : index.php);
    }
}

?>


Is het een begin of zit ik er compleet naast zover?
Gewijzigd op 25/03/2011 01:16:03 door Alex L
 
PHP hulp

PHP hulp

29/04/2024 18:32:59
 
- Ariën  -
Beheerder

- Ariën -

25/03/2011 08:57:16
Quote Anchor link
Quote:
De error functie bevat de die() functie nadat hij de error heeft weergegeven.

Dood aan die(), lang leven execptions ;-)
 
Mar cel

Mar cel

25/03/2011 09:50:02
Quote Anchor link
Je objectnaam klopt al niet. Een naam van een object moet altijd een zelfstandig naamwoord zijn (een user, een auto, een huis etc etc) een inloggen klopt dus niet. Je zou iets van een class User moeten hebben met de actie login. EEN user KAN namelijk inloggen.

Voor de rest is het nog te weinig om er wat van te zeggen.
 
Wouter J

Wouter J

25/03/2011 11:04:23
Quote Anchor link
@marcel, dit klopt niet helemaal. Ik meen dat Jelmer RRR eens heeft gezegd dat een user niet echt kan inloggen, daarvoor heb je strict genomen weer een andere class voor nodig, maar ik kan die quote even niet vinden.
De quote:
Jelmer rrrr:
Heel heel heel strict genomen zou je inloggen en gebruikers moeten scheiden. Je hebt gebruikers, en je hebt een set classen die inloggen mogelijk maken. Die classen regelen dan het opslaan van de combinatie gebruiker – wachtwoord, (of gebruiker + openid, daarom zijn ze losgetrokken van de User class, zodat je verschillende manieren van inloggen kan maken) en die classen regelen het onthouden van de identiteit van iemand na het inloggen.
Gewijzigd op 25/03/2011 15:59:41 door Wouter J
 
Mar cel

Mar cel

25/03/2011 11:17:42
Quote Anchor link
Ja zo kan je ook zien ja, dat is wel heel strict genomen en zeker een stap verder. Je zou dan iets van een LoginSession object kunnen maken.
Gewijzigd op 25/03/2011 11:17:53 door Mar cel
 
Alex L

Alex L

25/03/2011 20:02:46
Quote Anchor link
Volgende poging, deze keer met PDO erin.
Het is een begin dus advies is zeker welkom.

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

class Gebruiker {
    global $database;
    
    function
Inloggen()
            
    {

    try {
        $query = "SELECT gebruikersnaam,wachtwoord WHERE gebruikersnaam='%::gebruikersnaam%' AND wachtwoord='%::wachtwoord%'";
        $stmt = $this->database->prepare($query);            
        $stmt->bindParam('::gebruikersnaam', $gebruikersnaam);  
        $stmt->bindParam('::wachtwoord', $wachtwoord);              
        $stmt->execute();        
        
        $result = $stmt->fetchAll();
        if(!$result)
            throw new Exception ('Onjuiste gebruikersnaam of wachtwoord');                
        
        session_regenerate_id (sha1($gebruikersnaam));
        $_SESSION['gebruikersnaam'];
        header (location : index.php);
    }

    catch(PDOException $e)
    {

    echo $e->getMessage(); }
}

?>
 
Noppes Homeland

Noppes Homeland

25/03/2011 20:39:41
Quote Anchor link
database transacties horen niet thuis in deze class

kill -9 global definities

en neem vooral ook eens een kijkje op:
http://php.net/manual/en/language.oop5.php

http://www.pfz.nl/wiki/object-oriented-programming/
http://www.pfz.nl/wiki/oop-toepassen/
 
Alex L

Alex L

25/03/2011 22:54:00
Quote Anchor link
Is global niet acceptabel in OOP? Of gewoon niet zo mooi maar toch gewoon bruikbaar?

Normaal PHP leren ging me zo goed af maar dit is toch ff een flinke tegenvaller kwa leersnelheid.

naja goed, volgende poging, zit er nu dichterbij of verder af? Trouwens let niet op de simpele en lage sessie veiligheid, is maar om te oefenen.

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

class Inloggen {

public $gebruikersnaam;
public $wachtwoord;

    global $database;
    
    function
controleren()
    {

    try {
        $query = "SELECT gebruikersnaam,wachtwoord WHERE gebruikersnaam='%::gebruikersnaam%' AND wachtwoord='%::wachtwoord%'";
        $stmt = $this->database->prepare($query);            
        $stmt->bindParam('::gebruikersnaam', $gebruikersnaam);  
        $stmt->bindParam('::wachtwoord', $wachtwoord);              
        $stmt->execute();        
        
        $result = $stmt->fetchAll();
        if(!$result)
            throw new Exception ('Onjuiste gebruikersnaam of wachtwoord');                
    }

    catch(PDOException $e)
    {

    echo $e->getMessage();
    }
    
    
    function
inloggen() {

         this->controleren();
        session_regenerate_id (sha1($gebruikersnaam));
        $_SESSION['gebruikersnaam'];
        header (location : index.php);
    }

    
    function
sessie_controleren {
    
        if (isset($_SESSION['gebruikersnaam'])
        $this->gebruikersnaam = $_SESSION['gebruikersnaam'];
        $check = $this->controleren();
        if ($check)
            return TRUE;
        }
}

?>
Gewijzigd op 25/03/2011 22:54:15 door Alex L
 
Wouter J

Wouter J

25/03/2011 22:59:11
Quote Anchor link
Je moet geen try catch systeem maken in je class, maar erbuiten:
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
<?php
class User()
{

  private $db;

  public function __construct(PDO $pdo)
  {

    $this->db = $pdo;
  }


  public function getName(id)
  {

    $query = "
      SELECT
         nickname
      FROM
         users
      WHERE
         id = :id
    "
;
    $stmt = $this->db->prepare($query);
    $stmt->bindParam(':id', $id, PDO::INT);
    $result = $stmt->execute();

    if(!$result)
    {

      throw new PDOException('De query is niet gelukt.');
    }
  }
}


try
{
  $pdo = new PDO('mysql:host=localhost;dbname=website', 'gebruiker', 'wachtwoord');
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $user = new User($pdo);

  $wouter = $user->getName(5);
  $alex = $user->getName(7);
}

catch(PDOException $p)
{

  echo '[PDO] Er is een fout opgetreden op lijn '.$e->getLine().':';
  echo "<br />\n".$e->getMessage();
}

?>


Verder hoor je ook niks te echoën vanuit een methode, dit moet je returnen. Dit mag niet vanuit de constructor.


---Edit---
Deze code is wel heel brak die je nu hebt:
- Wachtwoord en Gebruikersnaam moet je private of protected maken, niet public. Zie mijn uitleg daarover hier.
- Elke functie heeft ook een public/private/protected
- echo niks vanuit een class
- Header(location : index.php), location : index.php is een string zet dit tussen quotes.
- Je vergeet de methode controleren af te sluiten
- Je vergeet de methode sessie_controleren af te sluiten
- Gebruik goede namen, class inloggen methode inloggen?
Gewijzigd op 25/03/2011 23:04:35 door Wouter J
 

25/03/2011 23:23:43
Quote Anchor link
Wouter J op 25/03/2011 22:59:11:
Je moet geen try catch systeem maken in je class, maar erbuiten:
(...)


Dit is niet per definitie zo. Exceptions kan je rethrowen, of gewoon weten dat iets niet goed ging.
Maar goed hier is het inderdaad niet de bedoeling. Hier is het volgens mij eigenlijk niet eens de bedoeling dat user die query doet...
 
Alex L

Alex L

25/03/2011 23:43:12
Quote Anchor link
Ik heb zover ik kon het aangepast maar kom niet verder, tips zijn welkom. Ondertussen ga ik de theorie maar weer lezen.

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

class Inloggen {

private $gebruikersnaam;
private $wachtwoord;

    private $database;
    
    public function getName(gebruikersnaam,wachtwoord)
    {

        $query = "SELECT gebruikersnaam,wachtwoord WHERE gebruikersnaam=':gebruikersnaam' AND wachtwoord=':wachtwoord'";
        $stmt = $this->database->prepare($query);            
        $stmt->bindParam(':gebruikersnaam', $gebruikersnaam);  
        $stmt->bindParam(':wachtwoord', $wachtwoord);              
        $result = $stmt->execute();        
        
        if(!$result)
            throw new Exception ('Onjuiste gebruikersnaam of wachtwoord');  
    }
            
    
    
    private function setSession() {

         this->getName();
        session_regenerate_id (sha1($gebruikersnaam));
        $_SESSION['gebruikersnaam'] = $gebruikersnaam;
        header ("location : index.php");
        }
    }


    
    public function getSession {
    
        if (isset($_SESSION['gebruikersnaam'])
        $this->gebruikersnaam = $_SESSION['gebruikersnaam'];
        $result = $this->getName();
        if ($result)
            return TRUE;
        }
    }
}

?>


Toevoeging op 26/03/2011 19:05:44:

Na verschillende tutorials nog een paar keer gelezen te hebben kom ik nog niet verder.

Waar zet je de fout afhandeling neer? In het procedure gedeelte met echo's of hoe? En stel je voor dat de gebruikersnaam en wachtwoord correct zijn, moet ik de sessie aanmaak dan in een object of in de procedure gedeelte zetten?

Heb rondgekeken op dit forum maar er is geen touw aan te knopen, ieder script is compleet anders ingedeelt.
 



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.