inlog met .txt bestand

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 ... 5 6 7

- Ariën  -
Beheerder

- Ariën -

04/10/2011 23:20:36
Quote Anchor link
je hoeft toch geen array aan te maken hiervoor?
 
PHP hulp

PHP hulp

08/11/2024 13:25:24
 
Jerry php

Jerry php

04/10/2011 23:26:55
Quote Anchor link
Maar ik wil ze allebij kijken of ze bestaan en of er iets ingevuld is.
Heb je andere sugestie dan?
 
- SanThe -

- SanThe -

04/10/2011 23:29:45
Quote Anchor link
- Aar - op 04/10/2011 23:20:36:
je hoeft toch geen array aan te maken hiervoor?


En je doet dat ook nog op de verkeerde plaats want daar weet je nog helemaal niet of er wel gePOST is. Verder weer het onlogische dat je iets aanmaakt en dan kijkt of het er wel is. Tuurlijk is het er want je maakt het net aan.
Gewijzigd op 04/10/2011 23:30:19 door - SanThe -
 
Victor -

Victor -

04/10/2011 23:52:52
 

04/10/2011 23:57:44
Quote Anchor link
Belangrijk!
Je kunt alleen maar een bestand uitlezen. De wachtwoorden worden niet gecodeerd of dergelijke, dat is een zorg voor later, denk ik.

Ik heb even vlug iets gemaakt. Ik ben pas bezig met PHP, dus schiet me niet af. Mijn Engels is ook niet zo goed (ik begrijp alles, maar schrijven...)

Dus hier gaan we dan:
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
    
    // If a persons click the submit button:
    if(isset($_POST['submit'])) {
    
        // Get the content of that file:
        $content     = file_get_contents('gebruikers.txt');
    
        // Seperate the user and the password (suap = seperate user and password):
        $suap         = explode('_', $content);
    
        // Normal variables:
        $error     = '';
        
        $username    = trim($_POST['username']);
        $password    = trim($_POST['password']);
    
        // Check the username:
        if(strlen($username) < 5) {
            $error .= 'Your username need at least 5 charachters.'; }
        if(strlen($password) > 20) {
            $error .= 'Your username has too much charachters.'; }
            
        // Check the password:
        if((preg_match("/^.*(?=.{5,})(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).*$/", trim($_POST['password'])) === 0)) {
            $error .= 'Your password need caps, small letter, numbers and at least 5 charachters.'; }
        if(strlen($password) > 20) {
            $error .= 'Your password is too long.'; }
            
    // If there aren't any errors:
    if($error == '') {
    
        // Check if the password and username is correct:
        if(($suap[0] == $username) && ($suap[1] == $password)) {
            echo 'You are now logged in!'; /*** Do something **/ }
        else {
            $error .= 'Your password or username isn\'t correct.'; } }
                
    // If there are errors:
    else {
    
        /*** Do nothing ***/ } }
        
    // If nobody pushed the submit button:
    else {
    
        $error = '';
        /*** Do nothing ***/ }
    
?>


<?php echo $error; ?>

<form action="" method="POST">
 <table>
  <tr>
   <td>Username:</td>
   <td><input type="text" name="username" /></td>
  </tr>
  <tr>
   <td>Password:</td>
   <td><input type="password" name="password" /></td>
  </tr>
  <tr>
   <td></td>
   <td><input type="submit" value="login" name="submit" /></td>
  </tr>
 </table>
</form>


In het gebruikers.txt bestandje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Declerck_Hallo123

Username: Declerck
Password: Hallo123

Met deze code kun je wel maar een regel controleren en je kunt ook niet schrijven!
Een database is veel gemakkelijker, efficiënter!
Gewijzigd op 05/10/2011 00:04:50 door
 
Jerry php

Jerry php

05/10/2011 10:15:46
Quote Anchor link
@victor bedankt.
@aaron ik vroeg niet om een kant en klare code dus hier ga ik niet op in.

nogmaals, ik wil username en password tegelijk controleren of ze zijn ingevuld, hoe doe ik dit?
 
Victor -

Victor -

05/10/2011 11:02:07
Quote Anchor link
Je hoeft aarons script ook niet te kopiëren en plakken, maar je kan wel kijken wat hij doet, dan zie je dat hij gebruikersnaam en wachtwoord beide controleert.
 
- Ariën  -
Beheerder

- Ariën -

05/10/2011 11:30:54
Quote Anchor link
Jerry php op 05/10/2011 10:15:46:
@victor bedankt.
@aaron ik vroeg niet om een kant en klare code dus hier ga ik niet op in.

nogmaals, ik wil username en password tegelijk controleren of ze zijn ingevuld, hoe doe ik dit?


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
// Check if the password and username is correct:
        if(($suap[0] == $username) && ($suap[1] == $password)) {
            echo 'You are now logged in!'; /*** Do something **/ }
        else {
            $error .= 'Your password or username isn\'t correct.'; } }
    


De == en && operator dus. Met een isset() combinatie kan je dan kijken of ze zijn ingevuld.
Gewijzigd op 05/10/2011 11:31:52 door - Ariën -
 
Jerry php

Jerry php

05/10/2011 12:42:11
Quote Anchor link
dus jullie bedoelen dus dat ik ze in een array moet zetten, en dan explode moet doen. Dan de explode variabele 0 vergelijken username.

Maar als mijn txt bestand dit is:

username:password
username:password
username:password
username:password

(met uiteraard een username en password ;) )
dan is de 2e username toch $suap[3]??
 
- Ariën  -
Beheerder

- Ariën -

05/10/2011 12:49:20
Quote Anchor link
Nee, je maakt steeds een array per lijn aan.

Kijk eens met print_r() naar je array.
Gewijzigd op 05/10/2011 12:49:30 door - Ariën -
 
Jerry php

Jerry php

05/10/2011 14:26:53
Quote Anchor link
EDIT:

krijg nu al username:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

$file
= file_get_contents('users.txt');

$los = explode(":", $file);

print_r ($los[0]);


?>


dan krijg ik: jerry.
maar één keer, terwijl er al 3 jerry's in users.txt staat
Gewijzigd op 05/10/2011 14:28:43 door Jerry php
 
- Ariën  -
Beheerder

- Ariën -

05/10/2011 14:28:51
Quote Anchor link
$los is een array. gooi die in print_r
En er mis een foreach..

Laas anders maar even terug, want het antwoord heb ik gegeven.
Gewijzigd op 05/10/2011 14:32:18 door - Ariën -
 
Jerry php

Jerry php

05/10/2011 14:35:01
Quote Anchor link
nu krijg ik helemaal vage dingen, 1 letter vaak..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$file
= file('users.txt');

$los = explode(":", $file);


foreach($los as $value)
{

 echo $value[0];
}


?>
 
- SanThe -

- SanThe -

05/10/2011 14:48:39
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$file
= file('users.txt');
foreach($file as $value)
{

    $los = explode(":", $value);
    echo $los[0];
}

?>
 
Jerry php

Jerry php

05/10/2011 14:53:52
Quote Anchor link
werkt perfect, dankje!

Toevoeging op 05/10/2011 20:00:07:

ik krijg nu als de vergelijking niet klopt, krijg ik een foutmelding voor élke username.

Ik had het namelijk getest, had er wat meer aangemeld, en toen kreeg ik de errors nog meer. dit is mijn 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
24
25
26
27
28
29
30
31
32
33
34
35
<?php

$file
= file('users.txt');
$name = $_POST['user'];
$pass = $_POST['pass'];

$error = array();

foreach($file as $value)
{

    if(isset($name))
    {

        if(isset($pass))
        {

    
            $los = explode(":", $value);
            if(($los[0] == $name) && ($los[1] == $pass))
            {

                echo "U heeft zich succesvol aangemeld";    
            }

            
            else
            {
                $error[] =     "U heeft uw wachtwoord niet ingevoerd";
            }
        }
    }    
}


foreach($error as $serror)
{

    echo $serror;    
}


?>
 

Pagina: « vorige 1 2 3 ... 5 6 7



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.