Eerste Poging ...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end Developer

Functieomschrijving Heb jij kort geleden je HBO ICT Informatica diploma in ontvangst mogen nemen? Of heb je een aantal jaar ervaring als Software Developer en ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een gewaardeerde werkgever in de regio van Goirle zijn wij op zoek naar een junior/medior Back-end Developer met affiniteit met MS Acess. Samen met een vooruitstrevend team ben je verantwoordelijk voor het ontwikkelen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL en affiniteit met MS Acess. Je bent klantvriendelijk en flexibel ingesteld en vindt het leuk om klanten te

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

Software Developer C# / ASP .Net

Functie omschrijving Ben jij een software ontwikkelaar die bekend is met termen ASP .NET, C# en SQL? Lees dan snel verder! Voor een bedrijf binnen de agrarische sector zijn wij namelijk op zoek naar een zelfstandige, enthousiaste en proactieve Software Developer die open staat voor een afwisselende functie met veel uitdaging. Binnen deze organisatie ben jij als Software Developer samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Hierbij draag jij bij aan de vertaling van klantwensen naar effectieve softwareoplossingen. Daarnaast ben je verantwoordelijk voor: Schatten

Bekijk vacature »

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 »

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »

Software Developer / .NET / Azure

Dit ga je doen Als Lead .NET Software Developer zal je je bezig houden met: Het vertalen van bedrijfswensen naar een technische roadmap; Uitwerken van nieuwe architectuur / designs; Het team aansturen en motiveren; Toezien op de kwaliteit van de code; Mee ontwikkelen van nieuwe features en applicaties. Hier ga je werken Deze organisatie is op dit momenteel marktleider in het ontwikkelen van productielijnen voor de voedselindustrie en heeft een wereldwijd klantnetwerk. Binnen deze organisatie is het team van software developers dagelijks bezig met het ontwikkelen van maatwerk oplossingen om alle productiemachines aan te sturen, maar ook bedrijf kritische applicaties

Bekijk vacature »

Randstad B.V.- Freelance Senior Fullstack Develope

Startdatum: 01.05.2023 Richttarief: € 75,00 - €85,00 Duur van de opdracht: 1 jaar Uren per week: 40 Werkmodel: Hybride, dinsdag en donderdag aanwezig op kantoor in Diemen en meer wanneer dit nodig is. Functieomschrijving: De ideale kandidaat gaat onderdeel uitmaken van een junior team binnen het foundation domein. Vanuit het foundation domein werkt dit team samen met andere foundation teams en teams uit het online domein (professionals B2B en B2C) voor het bouwen en integreren van HRM functionaliteiten (verlof en benefits) in de persoonlijke portal van Interim Professionals. Er is meer backend werk dan frontend, maar kandidaat moet beiden leuk

Bekijk vacature »

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

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 »

Front-End Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a 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 these within the team. You also take pride in your work and welcome any feedback. Would you like to become a Front-End Developer at Coolblue? Read below if the job suits you. You

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »

Junior Outsystems developer

Functie Als junior Outsystems developer wordt jij onderdeel van een multidisciplinair team van 23 software engineers. Ons team werkt agile en termen als Continuous Integration en Continuous Delivery zijn bij ons dagelijkse koek. Wij werken aan uitdagende en afwisselende projecten met als doel onze klanten een totaal oplossing aan te bieden. Als junior Outsystems developer krijg jij bij ons de kans om jezelf te ontwikkelen naar een volwaardige ervaren en gecertificeerde Outsystems developer. Jij een team met ervaren mensen (10+ ervaring) om je heen. Zo heb jij niet het gevoel dat jij meteen in het diepe wordt gegooid en uiteraard

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

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 »

Front-end developer E-Commere

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als front-end developer heb je een adviserende rol en sta je aan het eindpunt van alles wat met designs te maken heeft. Je overlegt met klanten en collega’s, en zet je in om ideeen om te zetten tot unieke concepten. Je bent het aanspreekpunt voor de klant en bewaakt tevens de planning. Eisen

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

21/11/2024 15:18:29
 
- 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.