Eerste Poging ...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

Bekijk vacature »

C# developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als C# Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the Year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Robot Programmeur

Een verantwoordelijke baan met leuke uitdagingen. Heb jij ervaring met het programmeren van robots? Kan jij goed samenwerken met collega's die verschillende specialisaties hebben? Ben je oplossingsgericht, analytisch en flexibel? Ga dan aan de slag als Robot Programmeur bij Gibas in Nijkerk! Als Robot Programmeur kom je te werken bij Gibas. Dat betekent dat je gegarandeerd meewerkt aan unieke oplossingen in productieprocessen. Bij elk project moet er opnieuw geëngineerd en geprogrammeerd worden. Dat maakt jouw werk uitdagend! Voordat je robots gaat programmeren komt er het volgende bij kijken: De opdracht gaat van de afdeling Sales naar de afdeling Operations door

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 »

.NET Developer

Dit ga je doen Tot jouw takenpakket behoort onder andere: Webapplicaties ontwerpen, bouwen, testen en implementeren in .NET/C#.; Ontwikkelen, implementeren en beheren van maatwerkapplicaties; Onderhouden en beheren van standaardpakketten; Onderzoeken en beoordelen van nieuwe technieken. Hier ga je werken Als .NET ontwikkelaar kom je te werken bij een grote semioverheidsinstelling in Nijmegen. De organisatie staat garant voor het leveren van onderwijs en les- en onderzoeksmateriaal voor duizenden betrokkenen. De organisatie wil bijdragen aan een gezonde, vrije wereld met gelijke kansen voor iedereen. Binnen de teams hangt een open en collegiale cultuur met veel aandacht voor een prettige en sociale werksfeer.

Bekijk vacature »

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

Bekijk vacature »

BizTalk/ Azure Developer

Dit ga je doen •Understanding the scope of required functionality, translate them within context of way of working of the team into developed solutions, whilst safeguarding documentation; •Planning based on assigned sprint tasks; •Acting as an expert in estimation techniques and planning; •Understanding your role in the agile process and act in this way; •Facilitating internal communication and effective collaboration; •Working closely with scrum master to handle backlogs and new requests; •Providing information to the third parties about activities and needs for compliance. Hier ga je werken Our client is a leading organization focusing on animal nutrition, offering solutions that

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

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 »

Software Programmeur PHP - JAVA

Functie Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar een ontwikkelaar ter versterking van het huidige developers team. Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Moordrecht zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

Bekijk vacature »

Implementatie specialist

Standplaats: Honselersdijk Aantal uren: 32 – 40 uur Opleidingsniveau: HBO werk- en denkniveau Ben jij de implementatie expert die onze klanten helpt bij het integreren van de Greencommerce software? Ben jij daarnaast communicatief sterk, denk jij graag in verbeteringen en heb je ervaring met ICT? Lees dan snel verder! Bedrijfsinformatie Jem-id is een grote speler op het gebied van software ontwikkeling. Zo zijn wij continu bezig met het ontwikkelen van de meest innovatieve software voor de AGF- en sierteeltsector. We creëren oplossingen die er toe doen en verbinden klanten niet alleen op technisch vlak, maar zoeken ook de verbinding in

Bekijk vacature »

.NET developer WO niveau voor predictive software

Bedrijfsomschrijving Dit bedrijf uit Den Bosch is om precies te zijn 15 medewerkers groot en ze ontwikkelen (predicitve) planning software. Dit doen zij voor allerlei mooie en bekende organisaties (bierbrouwerijen, gemeentes, oliemaatschappijen en diverse multinationals). Wegens meer en grotere vraag vanuit de klanten komen er nu posities vrij voor onder andere een .NET developer. Het bedrijf is goed met openbaar vervoer te bereiken. Functieomschrijving Je komt hier te werken in een team van 3 .NET developers en bent betrokken bij het gehele ontwikkelproces. Dus van idee naar ontwerp en van ontwikkeling tot testen en implementatie. Bij voorkeur ben je niet

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

02/11/2024 03:46:06
 
- 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.