inlogsysteem voor grote groep

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 volgende »

Lissy Pixel

Lissy Pixel

21/10/2006 18:40:00
Quote Anchor link
@ Frank : jippy dan snap ik dat met die if(isset.....
Voor wat betreft die $index hoef je daar verder niets mee te doen?
Laat ik het voor mezelf simpel houden (*knipoog*)

Dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
foreach($_POST as $index => $value){
  $_POST[$index] = htmlspecialchars($value);
}

?>


is hetzelfde als dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if(isset($_POST['username']))        
{

    $StrGebruikersnaam    = htmlspecialchars($_POST['username']);
}

    
if(isset($_POST['password']))        
{

    $StrWachtwoord    = htmlspecialchars($_POST['password']);
}

?>
 
PHP hulp

PHP hulp

24/11/2024 18:34:04
 
Frank -

Frank -

21/10/2006 18:47:00
Quote Anchor link
@Lissy: Met de foreach hoef je de code niet aan te passen wanneer er formuliervelden bijkomen. De foreach doorloopt gewoon de hele array $_POST, ongeacht het aantal elementen, en klaar ben je. Zo kun je nooit meer een veld vergeten, wel zo simpel! (*knipoog*)

En het vergeten van zo'n functie gebeurt de beste, met náme de beste! (*nog_een_knipoog*)
 
Bart

bart

21/10/2006 18:52:00
Quote Anchor link
ik heb nu dit staan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
session_start();

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

    /* Gebruikersnaam en Wachtwoord */
    $Gebruikersnaam = "baas";
    $Wachtwoord = "enserweg"; // admin
        
    /* Haalt de geposten dingen op en beveiligt ze */
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(isset($_POST['Gebruikersnaam']))
{

    $b = htmlspecialchars($_POST['Gebruikersnaam']);
}

?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(isset($_POST['Wachtwoord']))
{

    $b = htmlspecialchars($_POST['Wachwoord']);
}

?>


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
<?php /* Kijkt of de invoer veld ingevuld zijn zo niet
    Geeft die een error weer */

    if (empty($Post_Gebruikersnaam))
    {

         $error = '<br>Vul een gebruikersnaam in.';
    }

    if (empty($Post_Wachtwoord))
    {

        $error .= '<br>Vul een wachtwoord in.';
    }

    if ($Post_Wachtwoord != $Wachtwoord || $Post_Gebruikersnaam != $Gebruikersnaam)
    {

         $error .= '<br>Gebruikersnaam of Wachtwoord kloppen niet.';
    }

    
    if(isset($error))
    {

         echo 'Verbeter het volgende:';
         echo $error;
         exit;
    }

    else
    {
         /* Pagina die je krijgt als je ingelogd bent */
         $_SESSION['logged_in'] = true;
         echo 'Je bent ingelogd.';
    }
}

else
{
?>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(isset($_POST['username']))
{

    // Dan pas met $_POST['username'] werken...
}
?>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(isset($_POST['password']))
{

    // Dan pas met $_POST['username'] werken...
}
?>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form method="post" action="#" class="login">
<h1>Inlogscherm</h1>
<p>
<label for="username">username:</label>
<input id="username" name="username" type="text">
</p>
<p>
<label for="password">password:</label>
<input id="password" name="password" type="password">
<input type="submit" value="inloggen">
</p>
</form>
</body>
</html>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
}
?>


en deze error krijg ik nu:
Notice: Undefined index: Wachwoord in /home/bart/domains/celpiavio.nl/public_html/baas/index1.php on line 22

Notice: Undefined variable: Post_Wachtwoord in /home/bart/domains/celpiavio.nl/public_html/baas/index1.php on line 36
Verbeter het volgende:
Vul een gebruikersnaam in.
Vul een wachtwoord in.
Gebruikersnaam of Wachtwoord kloppen niet.

kan iemand vertellen wat er nu allemaal niet geod is... want ik ben de draad kwijt
 
Lissy Pixel

Lissy Pixel

21/10/2006 18:57:00
Quote Anchor link
Frank schreef op 21.10.2006 18:47:
@Lissy: Met de foreach hoef je de code niet aan te passen wanneer er formuliervelden bijkomen. De foreach doorloopt gewoon de hele array $_POST, ongeacht het aantal elementen, en klaar ben je. Zo kun je nooit meer een veld vergeten, wel zo simpel! (*knipoog*)

En het vergeten van zo'n functie gebeurt de beste, met náme de beste! (*nog_een_knipoog*)


KIJK dit is de tip van de dag => DANK je wel voor deze leuke en vooral handige uitleg!!!
 
Joren de Wit

Joren de Wit

21/10/2006 18:59:00
Quote Anchor link
@bart: Je moet zomaar alle gegeven scriptjes achter elkaar plakken, dat zijn maar voorbeelden! Je zult ze zelf in je eigen script moeten toepassen, en daarbij zul je zelf ook een klein beetje logisch moeten nadenken...
 
Bart

bart

21/10/2006 19:39:00
Quote Anchor link
ohkee hij doet het...

hoe kan ik nu verder worden gestuurd naar de volgende pagina, hij blijft nu steken op: je bent nu ingelogt
 
Joren de Wit

Joren de Wit

21/10/2006 19:56:00
Quote Anchor link
Bijvoorbeeld door header() te gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
header('Refresh: 3; url=volgendepagina.php');
echo 'Je wordt doorgestuurd';
?>


Na 3 seconden wordt je naar de volgende pagina gestuurd.
 
Frank -

Frank -

21/10/2006 20:24:00
Quote Anchor link
Toch blijft de vraag wat nu de bedoeling is van de functie htmlspecialchars(). Het voegt helemaal niets toe aan het script, je kunt het gewoon weglaten of nog een stuk of 10 zinloze functies toevoegen. htmlspecialchars() gebruik je wanneer je de data in de browser gaat weergeven en dat doe je hier helemaal niet.

Tip: gooi deze overbodige functie uit je script, het zorgt alleen maar voor vertraging in de verwerking (nauwelijks meetbaar, maar toch) en vervuiling van je script.
 
Benny Lava

Benny Lava

22/10/2006 14:49:00
Quote Anchor link
Blanche schreef op 21.10.2006 14:48:
@Benny: Dat script doet niets meer dan controleren of ingevulde gegevens overeenkomen. In jouw script kun je gewoon www.jouwsite.nl/index2.php bezoeken door er direct naar toe te linken, er wordt nergens gecontroleerd of de bezoeker van die pagina wel ingelogd is.

Op een of andere manier moet je ergens opslaan dat een bepaalde gebruiker is ingelogd. Dit kan met sessies of cookies, waarbij het eerste mijn voorkeur heeft.

Als tijdens het inloggen de ingevulde gegevens blijken te kloppen, maak je een sessie aan waaruit blijkt dat de gebruiker ingelogd is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$_SESSIOn
['logged_in'] = true;
?>


Op pagina's die alleen ingelogde gebruikers mogen zien kun je dan controleren of deze sessie bestaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if(isset($_SESSION['logged_in']))
{

    // Toon de pagina
}
else
{
    // Stuur gebruiker terug
}
?>


Ja, je zou Session kunnen gebruiken om te kijken of die ingelogd zou zijn.
* Zou ik ook gebruiken als er meerdere pagina zoude zijn.

Maar als je in de index2.php zet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
     /* Controlleert of je daadwerkelijk bent ingelogd */
     if($Ingelogd == 'True') {
         /* Hier de inhoud */
         echo 'U bent ingelogd!';
     }
else {
         /* Bericht als je niet ingelogd zou zijn */
        echo 'Sorry ik heb slecht nieuws voor u, u bent niet ingelogd!';
     }

?>


Ik dacht dat dit redelijk eenvoudig zou zijn voor Bart om te begrijpen, en session misschien een beetje te hoog gegerepen.

Maar u kunt uiteraard het beste session gebruiken.
 
- SanThe -

- SanThe -

22/10/2006 15:15:00
Quote Anchor link
$_SESSIOn['logged_in'] is NIET hetzelfde als $_SESSION['logged_in']

Let op de kleine letter 'n'.
 
Bart

bart

22/10/2006 21:50:00
Quote Anchor link
Blanche schreef op 21.10.2006 19:56:
Bijvoorbeeld door header() te gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
header('Refresh: 3; url=volgendepagina.php');
echo 'Je wordt doorgestuurd';
?>


Na 3 seconden wordt je naar de volgende pagina gestuurd.


waar zet je die neer, in de het login script, erna of in de body?
 
Joren de Wit

Joren de Wit

22/10/2006 22:00:00
Quote Anchor link
In het loginscript op het moment dat een gebruiker ingelogd is maar voor de echo's.

@SanThe: oops, typfoutje...
 
Bart

bart

22/10/2006 22:21:00
Quote Anchor link
thnx hij werkt ideaal, nu kan ik alle pagina's er achter gaan goed maken. bedankt toppie, en trouwens die php taal is best leuk, ga me eens wat meer in verdiepen....
 
Bart

bart

24/10/2006 21:12:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
session_start()
if(isset($_SESSION['logged_in']))
{

    // Toon de pagina
}
else
{
    // Stuur gebruiker terug
}
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
halllooooooooooooooooooooooooooo alles goed
</body>
</html>

wat is er niet geod aan deze code?

hij geeft error:

rse error: parse error, unexpected T_IF in /home/bart/domains/celpiavio.nl/public_html/baas/index2.php on line 3
 
- SanThe -

- SanThe -

24/10/2006 21:22:00
Quote Anchor link
Regel 2 afsluiten met een ; helpt vast.
 
Jan Koehoorn

Jan Koehoorn

24/10/2006 21:27:00
Quote Anchor link
@ bart: gebruik de en de tags als je PHP en HTML combineert, please.
 
Bart

bart

24/10/2006 21:37:00
Quote Anchor link
uhm, ik kan nu als nog gewoon naar index2.php surfen, terwijl deze eigenlijk moet beveiligd zijn
 
Bart

bart

24/10/2006 21:59:00
Quote Anchor link
dit is de code van de pagina die eigenlijk beveiligd moet zijn

voorbeeld op http://www.celpiavio.nl/baas/index2.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
<?php
if(isset($_SESSION['logged_in']))
{

    // Toon de pagina
}
else
{
    // Stuur gebruiker terug
}
?>
  <head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
        @import 'login.css';
    </style>
</head>

<body>
<p class="login">Hey hey welkom op deze beveiligde pagina</p>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door bart
 
Jan Koehoorn

Jan Koehoorn

24/10/2006 22:05:00
Quote Anchor link
In je else staat alleen wat commentaar, dus is het logisch dat er niets gebeurt.
 
Kalle P

Kalle P

24/10/2006 22:28:00
Quote Anchor link
if idem dito
 

Pagina: « vorige 1 2 3 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.