inlog met .txt bestand

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 4 5 6 7 volgende »

Wouter J

Wouter J

04/10/2011 18:25:11
Quote Anchor link
Tijd voor een cursusje php.net:
Een documentatie pagina op php.net is opgebouwd uit 7 blokken. Deze blokken hebben allemaal een handige betekenis:
Description
Hierin zie je hoe je de functie moet aanspreken. In het code voorbeeld staat wat hij als parameters verwacht. Alles wat tussen [] staat is optioneel.
Ook staat er onder de code waar de functie voor dient (natuurlijk in het engels).
Voorbeeld
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
bool isset ( mixed $var [, mixed $... ] )

Hierin zien we dat isset een bool(ean (true/false)) terug geeft. Als parameters verwacht hij sowieso 1 var, deze kan verschillende types hebben (mixed). Eventueel kunnen er meerdere (zoveel je wilt) parameters toegevoegd worden.

Parameters
Om nou precies te weten wat de isset functie als parameters verwacht gaan we naar het blokje eronder. Hierin kun je per parameter lezen wat het moet zijn. Deze parameter naam is gelijk aan de naam die je in de description blok hebt gezien.
Voorbeeld
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
var
    The variable to be checked.
...
    Another variable ...

Ah, nu weten we dat de $var in de description een variabele is die wordt gecheckt. Eventueel kunnen we meerdere variabelen laten checken.

Return Values
We lazen bij description al dat de isset functie een boolean returned. Maar hoe zit dat dan precies? Dat kunnen we in dit blok lezen.
Voorbeeld
Quote:
Returns TRUE if var exists and has value other than NULL, FALSE otherwise.

Ah, als de $var bestaat returned de functie true en anders false.

Examples
Nu weten we hoe we de functie moeten aanroepen en wat hij terug geeft. Vervolgens krijgen we in dit blok een paar goede voorbeelden te zien van hoe we deze functie moeten toepassen.

Notes
Hier lees je de nog belangrijke extra's. Dus mocht er iets zijn wat belangrijk is om te weten, maar wat niet in de blokken hierboven kon dan staat het hier aangegeven. Altijd handig om te doorzoeken.

See Also
Mochten we na het lezen van de documentatie weten dat dit niet de juiste functie is zien we hier een aantal functies die in dezelfde categorie behoren. Misschien zit de functie hier wel tussen.

Reactions
Onderaan lezen we de reacties opd eze documentatie.

Hoe kom ik op de pagina van mijn functie?
Dat doe je door naar php.net/functieNaam te gaan.
Voorbeeld
http://php.net/isset
 
PHP hulp

PHP hulp

11/12/2024 23:00:50
 
Jerry php

Jerry php

04/10/2011 18:49:53
Quote Anchor link
Geweldige uitleg, bedankt! hier schiet ik in ieder geval wat mee op!
Nu weet ik al deels welke functie ik moet gaan gebruiken, de bool isset!
 
- Ariën  -
Beheerder

- Ariën -

04/10/2011 18:52:21
Quote Anchor link
Haha... dat isset() was een voorbeeld.

Daar lees je geen bestanden mee...
 
Jerry php

Jerry php

04/10/2011 18:57:13
Quote Anchor link
- Aar - op 04/10/2011 18:52:21:
Haha... dat isset() was een voorbeeld.

Daar lees je geen bestanden mee...


Welke functie moet ik dan gebruiken?
Die fread, maar hoe ga ik die toepassen zodat hij kan kijken of de gebruikersnaam en wachtwoord in het .txt zit?
 
Obelix Idefix

Obelix Idefix

04/10/2011 19:01:27
 
Jerry php

Jerry php

04/10/2011 19:02:22
Quote Anchor link
Obelix en Idefix op 04/10/2011 19:01:27:


Daar staat toch geen antwoord bij?
 
- Ariën  -
Beheerder

- Ariën -

04/10/2011 19:02:57
Quote Anchor link
Ligt er maar net aan hoe je die data op hebt geslagen?
 
Jerry php

Jerry php

04/10/2011 19:04:07
Quote Anchor link
- Aar - op 04/10/2011 19:02:57:
Ligt er maar net aan hoe je die data op hebt geslagen?


Ik heb de data opgeslagen met een file_put_contents:

$res = file_put_contents($_SERVER['DOCUMENT_ROOT'].$file,$gebruikers);
 
- Ariën  -
Beheerder

- Ariën -

04/10/2011 19:05:53
Quote Anchor link
Hoe hoe is het onderscheid in user en pass? Wat staat er in $gebruikers?
Gewijzigd op 04/10/2011 19:06:19 door - Ariën -
 
Jerry php

Jerry php

04/10/2011 19:06:48
Quote Anchor link
- Aar - op 04/10/2011 19:05:53:
Hoe hoe is het onderscheid in user en pass? Wat staat er in $gebruikers?


Ik weet niet precies wat je bedoelt, daarom hier mijn php:

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


$error
= array();
$naam =  $_POST['naam']."\n";
$leeftijd = $_POST['leeftijd'];

$users = 'Naam: '.$naam;
$users .= 'Leeftijd: '.$leeftijd;
$users .= file_get_contents('users.txt');

$file = "/users.txt";
$gebruikers = $users;

if($_SERVER['REQUEST_METHOD'] == 'POST')
{

        if(isset($naam))
        {

            $veld = trim($naam);
            
            if($veld == "")
            {

                $error[] = 'U heeft de naam niet ingevuld';
            }
        }

        
        if(isset($leeftijd))
        {

            if($leeftijd <= 25)
            {

                $error[] = 'U moet een minimale leeftijd hebben van 26 jaar.';
            }
        }

    
    if(empty($error))
    {

        $res = file_put_contents($_SERVER['DOCUMENT_ROOT'].$file,$gebruikers);
        if($res)
        {

        echo "U bent succesvol aangemeld!";
        }
    }

    
    else
    {
        foreach($error as $serror)
        {

            echo $serror . '<br />';    
        }
    }
}


?>
 
- Ariën  -
Beheerder

- Ariën -

04/10/2011 19:08:45
Quote Anchor link
je slaat twee dingen op, username en password.
Hoe wordt het onderscheid erin gemaakt? Hoe staat dat opgeslagen?

Kwestie van zo'n inlog-bestand er even bij te pakken.
 
Jerry php

Jerry php

04/10/2011 19:11:55
Quote Anchor link
- Aar - op 04/10/2011 19:08:45:
je slaat twee dingen op, username en password.
Hoe wordt het onderscheid erin gemaakt? Hoe staat dat opgeslagen?

Kwestie van zo'n inlog-bestand er even bij te pakken.


Ooh, op die manier. dat is een .txt bestand. en het staat er zo in:

Naam: adfadsf
Leeftijd: 33
Naam: jerry
Leeftijd: 30

Onder elkaar zeg maar.


EDIT: Dit is inderdaad met een leeftijd, dat wordt natuurlijk password. maar dat is even terzijde.
Gewijzigd op 04/10/2011 19:12:56 door Jerry php
 
- SanThe -

- SanThe -

04/10/2011 19:13:53
Quote Anchor link
Dat script is nog steeds niet goed.

- SanThe - op 30/09/2011 23:18:12:
Jerry php op 30/09/2011 22:53:24:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$leeftijd
= $_POST['leeftijd'];
$naam = $_POST['naam'];

if(isset($naam))
{

    if(empty($naam))
    {

        echo 'alert (hoi)';    
    }
}

?>


Klopt niks van de manier van testen.
Je neemt eerst gewoon aan dat de POST-vars bestaan.
Dan ga je kijken of $naam bestaat terwijl je die zojuist hebt aangemaakt.
Daarna komt de eigenlijke test pas.
 
Jerry php

Jerry php

04/10/2011 19:16:27
Quote Anchor link
Wat is er fout aan?
wat zou er volgens jou weg moeten?
 
- SanThe -

- SanThe -

04/10/2011 19:17:50
Quote Anchor link
- SanThe - op 04/10/2011 19:13:53:
Je neemt eerst gewoon aan dat de POST-vars bestaan.
Dan ga je kijken of $naam bestaat terwijl je die zojuist hebt aangemaakt.
Daarna komt de eigenlijke test pas.


Logica ontbreekt.
 
- Ariën  -
Beheerder

- Ariën -

04/10/2011 19:18:36
Quote Anchor link
Ik zou een regel voor de username en password maken.
Pietje:38ba44476aec40e95e1060e89129f1a9c05a97fc

Waarbij Pietje de username is, en die lange string naast de dubbele punt een leuke hash met het password (en een uiteraard een salt).
 
Jerry php

Jerry php

04/10/2011 19:21:44
Quote Anchor link
@aar

net als dit dus?

jerry:33
jerry:31
jerry:31
jerry:31

En nu?

EDIT:bedankt dat je me nu goed helpt
Gewijzigd op 04/10/2011 19:22:03 door Jerry php
 
Gerhard l

gerhard l

04/10/2011 19:29:38
Quote Anchor link
Nou nee, want je hebt hopelijk niet mensen met dezelfde username?

Als je alle users gelijk opslaat (dus username : password )zoals Aar zegt, kan je er weer uithalen en onderscheid maken tussen de users.
 
Wouter J

Wouter J

04/10/2011 19:30:11
Quote Anchor link
Jerry php op 04/10/2011 19:21:44:
EDIT:bedankt dat je me nu goed helpt

Dat komt omdat je nu een keer laat zien dat je bezig bent.

Je wachtwoord moet je nooit zomaar als wachtwoord opslaan. Altijd sha1 of md5 erover en een salt + pepper.

Je vraag de pagina op met fread en dan stop je de hele pagina in een string. Deze kan je dan doorzoeken met bijv. preg_match.

Jerry php:
Wat is er fout aan?

De isset() functie kijkt of de variabele is aangemaakt. Wat jij nu doet is dat je de post variabele in een var stopt ($naam). Vervolgens kijk je of die naam is aangemaakt. Natuurlijk is die naam aangemaakt, want dat doe je een regel daarvoor.
Kijk dus eerst of de post variabele bestaat en ga vervolgens -onnodig- variabele kopiëren. Zoals ik al zeg, je kan beter gewoon de post variabelen in je script gebruiken dan de variabele kopiëren in een var.
 
- Ariën  -
Beheerder

- Ariën -

04/10/2011 19:37:26
Quote Anchor link
Je kan ook met file() per lijn uitlezen. Explode op :

Lichter dan een preg_match...
 

Pagina: « vorige 1 2 3 4 5 6 7 volgende »



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.