Eerste Poging ...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

(Junior) PHP Ontwikkelaar bij een retail bedrijf i

Bedrijfsomschrijving Ben jij een ervaren PHP ontwikkelaar met een passie voor retail en ICT? Wil jij werken in een team dat zich bezighoudt met het ontwikkelen van uitdagende applicaties voor een groot retailbedrijf in Delft? Dan zijn zij op zoek naar jou! Functieomschrijving Als PHP Ontwikkelaar werk je in een team aan de ontwikkeling van applicaties die door de gehele organisatie worden gebruikt. Je bent verantwoordelijk voor het ontwikkelen, testen en implementeren van deze applicaties. Je werkt hierbij nauw samen met andere ontwikkelaars, projectmanagers en stakeholders binnen de organisatie. Je taken bestaan onder andere uit: Ontwikkelen van nieuwe functionaliteiten en

Bekijk vacature »

Front-end developer (Medior/Senior)

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Klein team zoekt grote fullstack .NET developer to

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

Bekijk vacature »

Medior/senior front end developer React Sportsoftw

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van onze stack; Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor

Bekijk vacature »

C#.NET Developer Jr. Functie

Functie omschrijving Bouw jij graag aan applicaties om processen in distributiecentra te optimaliseren? Wij zijn op zoek naar een C#.NET ontwikkelaar in regio Breda die hier graag een steentje aan bijdraagt! Jouw werkzaamheden zullen er als volgt uitzien: Je krijgt veel vrijheid in de keuze van de technieken die je gaat gebruiken. Uiteraard wel binnen de gestelde kaders, en door gebruik te maken van het .NET platform. Je gaat aan de slag met de ontwikkeling van een nieuwe module binnen de WMS suite van dit bedrijf. Deze "carrier" module gaat er voor zorgen dat de selectie van een vervoerder volledig

Bekijk vacature »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing vanilla PHP code. Working with

Bekijk vacature »

C# .NET Developer

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Bennekom gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

Fullstack Developer

Functieomschrijving Voor een erkende werkgever in regio Etten-Leur zijn wij op zoek naar een Fullstack Developer met PHP/Laravel ervaring. Je gaat aan de slag met het bouwen van maatwerk software voor klanten die actief zijn in een specifieke markt. Als fullstack developer ben je samen met een enthousiast team van 7 collega’s verantwoordelijk voor de ontwikkeling, beheer en innovatie van informatiesystemen voor klanten in een specifieke branche. Verder ondersteun je complexe uitdagingen van klanten. Je brengt hun wensen in kaart en vertaalt deze door naar maatwerk software. Ervaring met Laravel is een must. Om de klant zo goed mogelijk te

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: 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 je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Medior PHP Developer

Functie omschrijving Ben jij een getalenteerde PHP Developer en aan de slag in een gemotiveerd team? Lees dan snel verder! Voor onze opdrachtgever in de omgeving van Valkenswaard zijn we op zoek naar een ervaren PHP developer. Jij gaat hier zorg dragen voor het optimaliseren en up-to-date houden van de bestaande applicaties. Je werkt verder aan de applicaties die jij verder ontwikkelt. Dit doe je voornamelijk met PHP en MySQL. Verder ga je je bezig houden met: Het uitbouwen van het E-commerce software platform. Deelnemen aan overleggen met het team. Het ondersteunen van jouw team developers (3 man) en helpen

Bekijk vacature »

Full stack developer Node.js, React Remote

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Senior PHP Developer

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

Bekijk vacature »

Java developer - procesoptimalisatie (Inhouse)

Functie Wat ga je doen als Java developer? Jij als back end developer hebt al enige ervaring opgedaan in jouw vakgebied. Voornamelijk het werken met Java en Spring spreekt jou aan. Jij wordt samen met je collega developers in het team verantwoordelijk voor de gehele back end van de applicatie. Hierdoor heb jij veel zelfstandigheid in je rol en zul je ook zelf beslissingen samen met de PO maken. Er wordt gewerkt volgens de SCRUM methodiek, om zo structuur te creëren in de werkzaamheden. Binnen de 2-wekelijkse sprints pak jij je taken op die samen met de PO afgestemd zijn.

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

08/05/2024 19:32:25
 
- 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.