fwrite lukt niet
aanmelden.php
Code (php)
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
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
<form action="accountaanmaken.php"
method="post">
<table border='1' >
<caption>
<strong>Aanmeldingsformulier</strong>
</caption>
<tr>
<td>Achternaam: </td>
<td><input type="text" name="achternaam"></td>
<tr>
<td>Naam: </td>
<td><input type="text" name="naam"></td>
</tr>
<tr>
<td>Adres: </td>
<td><input type="text" name="adres"></td>
</tr>
<tr>
<td>Postcode: </td>
<td><input type="text" name="postcode"></td>
</tr>
<tr>
<td>Plaats: </td>
<td><select name="plaats">
<option value=""></option>
<option value="Amsterdam">Amsterdam</option>
<option value="Den haag">Den haag</option>
<option value="Rotterdam">Rotterdam</option>
<option value="Utrecht">Utrecht</option></select></td>
</tr>
<tr>
<td>email adres: </td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Gebruikersnaam: </td>
<td><input type="text" name="gebruikersnaam"></td>
</tr>
<tr>
<td>Wachtwoord: </td>
<td><input type="text" name="wachtwoord"></td>
</tr>
</table>
<br />
<input type="submit" value="verzenden"><br />
<input type="reset" value="reset">
</form>
method="post">
<table border='1' >
<caption>
<strong>Aanmeldingsformulier</strong>
</caption>
<tr>
<td>Achternaam: </td>
<td><input type="text" name="achternaam"></td>
<tr>
<td>Naam: </td>
<td><input type="text" name="naam"></td>
</tr>
<tr>
<td>Adres: </td>
<td><input type="text" name="adres"></td>
</tr>
<tr>
<td>Postcode: </td>
<td><input type="text" name="postcode"></td>
</tr>
<tr>
<td>Plaats: </td>
<td><select name="plaats">
<option value=""></option>
<option value="Amsterdam">Amsterdam</option>
<option value="Den haag">Den haag</option>
<option value="Rotterdam">Rotterdam</option>
<option value="Utrecht">Utrecht</option></select></td>
</tr>
<tr>
<td>email adres: </td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Gebruikersnaam: </td>
<td><input type="text" name="gebruikersnaam"></td>
</tr>
<tr>
<td>Wachtwoord: </td>
<td><input type="text" name="wachtwoord"></td>
</tr>
</table>
<br />
<input type="submit" value="verzenden"><br />
<input type="reset" value="reset">
</form>
accountaanmaken.php
Code (php)
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
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
<?php
$bestand=fopen("gebruikers.txt","w");
if(!$bestand)
{
echo("Kon geen bestand openen!");
}
fwrite($bestand, $outputtekst, strlen($outputtekst));
$outputtekst =
$_POST["achternaam"] . $_POST["naam"] . "\t" .
$_POST["naam"] . "\t" .
$_POST["adres"] . "\t" .
$_POST["postcode"] . "\t" .
$_POST["plaats"] . "\t" .
$_POST["email"] . "\t" .
$_POST["gebruikersnaam"] . "\t" .
$_POST["wachtwoord"] . "\n";
if(fclose($bestand))
{
echo("Account is aangemaakt.");
}
else
{
echo("Kon bestand niet afsluiten!");
}
?>
$bestand=fopen("gebruikers.txt","w");
if(!$bestand)
{
echo("Kon geen bestand openen!");
}
fwrite($bestand, $outputtekst, strlen($outputtekst));
$outputtekst =
$_POST["achternaam"] . $_POST["naam"] . "\t" .
$_POST["naam"] . "\t" .
$_POST["adres"] . "\t" .
$_POST["postcode"] . "\t" .
$_POST["plaats"] . "\t" .
$_POST["email"] . "\t" .
$_POST["gebruikersnaam"] . "\t" .
$_POST["wachtwoord"] . "\n";
if(fclose($bestand))
{
echo("Account is aangemaakt.");
}
else
{
echo("Kon bestand niet afsluiten!");
}
?>
Gewijzigd op 02/01/2011 23:14:32 door Klaas vieren
Maar gebruik toch gewoon een DB...
Maar inderdaad, ik mag er niet aan denken dat je dit soort gegeven in txt bestand gooit...
@Pim, sorry, ik moet me echt houden aan deze "trashcode" omdat het voor school is en moet alle richtlijnen gebruiken van de opdrachten..
@write down zie mijn voor school reactie! Dank je.
Wow, lekker onderwijs xD
ik heb nu de volgende code die werkt:
Code (php)
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
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
<?php
$outputtekst =
$_POST["achternaam"] . $_POST["naam"] . "\t" .
$_POST["adres"] . "\t" .
$_POST["postcode"] . "\t" .
$_POST["plaats"] . "\t" .
$_POST["email"] . "\t" .
$_POST["gebruikersnaam"] . "\t" .
$_POST["wachtwoord"] . "\n";
$bestand=fopen("gebruikers.txt","w");
if(!$bestand)
{
echo("Kon geen bestand openen!");
}
fwrite($bestand, $outputtekst, strlen($outputtekst));
if(fclose($bestand))
{
echo("Account is aangemaakt.");
}
else
{
echo("Kon bestand niet afsluiten!");
}
?>
$outputtekst =
$_POST["achternaam"] . $_POST["naam"] . "\t" .
$_POST["adres"] . "\t" .
$_POST["postcode"] . "\t" .
$_POST["plaats"] . "\t" .
$_POST["email"] . "\t" .
$_POST["gebruikersnaam"] . "\t" .
$_POST["wachtwoord"] . "\n";
$bestand=fopen("gebruikers.txt","w");
if(!$bestand)
{
echo("Kon geen bestand openen!");
}
fwrite($bestand, $outputtekst, strlen($outputtekst));
if(fclose($bestand))
{
echo("Account is aangemaakt.");
}
else
{
echo("Kon bestand niet afsluiten!");
}
?>
Maar nu is het probleem. De eerste en alleen de eerste wordt opgeslagen. Als ik nu nog een keer aanmeld, in plaats dat het zich toevoegt, dan wijzigt het gewoon de gegevens die al erin stonden. Het is de bedoeling om die dan ook in het tekst bestand op te slaan... weet iemand?
Toevoeging op 02/01/2011 23:32:46:
Pim - op 02/01/2011 23:26:54:
Wow, lekker onderwijs xD
Hahah, niet dus!
w moet zijn a (van append)
Toevoeging op 02/01/2011 23:35:38:
Hoi Pim, dank je voor je reactie! Ben 20 seconden te laat :P
Toevoeging op 02/01/2011 23:38:32:
Pim. nog een vraagje
ik heb deze code
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$outputtekst =
$_POST["achternaam"] . $_POST["naam"] . "\t" .
$_POST["adres"] . "\t" .
$_POST["postcode"] . "\t" .
$_POST["plaats"] . "\t" .
$_POST["email"] . "\t" .
$_POST["gebruikersnaam"] . "\t" .
$_POST["wachtwoord"] . "\n";
?>
$outputtekst =
$_POST["achternaam"] . $_POST["naam"] . "\t" .
$_POST["adres"] . "\t" .
$_POST["postcode"] . "\t" .
$_POST["plaats"] . "\t" .
$_POST["email"] . "\t" .
$_POST["gebruikersnaam"] . "\t" .
$_POST["wachtwoord"] . "\n";
?>
Nu kamp ik met twee probleempjes. Als ik een toevoeg, dan komt het niet op de nieuwe regel te staan? Terwijl vanaf wachtwoord "\n" staat. En de tweede vraag, hoe kan ik een spatie neerzetten voor de naam en achternaam? Dus in plaats van dat in de tekst komt te staan: KlaasVieren moet zijn Klaas Vieren..?
Toevoeging op 03/01/2011 00:01:21:
Gelukt! Ik moest \r\n gebruiken ipv alleen \n. Nu alleen nog de spatie tussen de namen.. hm
Toevoeging op 03/01/2011 00:05:39:
ach heb gewoon " " . gebruikt voor de spatie. Kan denk ik niet anders..
Zo, hoppa naar de volgende probleem, maar nu eerst beetje slapen haha. Fijne avond iedereen
Het enige wat je nodig hebt:
Kris Peeters op 03/01/2011 10:42:32:
Wat je zegt klopt niet helemaal. Met beide functies kan hetzelfde bereikt worden. Fwrite is iets lastiger te gebruiken, het vereist meer parameters. Maar, fwrite is daardoor net iets effectiever. Die effectiviteit vertaalt zich in tijdswinst. Bij grotere hoeveelheden data is dit zeker en vast een interessant punt.
Omdat het hier voor relatief weinig data is, en aan de normen te zien die je school stelt, zou je toch kunnen opteren voor file_puts_contents. Ik zou zeggen, bekijk het is, vraag desnoods even na op school of ze kiezen voor prestatie of niet.
Wie er wel voordeel uit kan halen, zal hier geen problemen over melden.
Ik blijf dus bij mijn boodschap.
@Kis peeters, hartstikke bedankt voor het laten zien hoe het ook efficienter kan. Echter moet ik toch echt aan de richtlijnen krijgen van de opdracht (voor school).
@write down, ja dat klopt! Dank u wel. Het is denk ik juist de bedoeling van de leraar om vanaf het basis te beginnen en (nog) niet verder ingewikkeld te doen.
Graag zou ik van jullie hulp krijgen van het volgende:
Ik moet nu met $bestand=fopen("gebruikers.txt", "r"); werken én met "fgets". Én ik moet een bestand lezen zodat ik kan inloggen met fgetscsv
Kunnen jullie masters mij hiermee helpen? Ik vind het echt prachtig om te coderen en hoop dat ik ook zo ervaren word!
Toevoeging op 03/01/2011 21:14:02:
Heren (en dames) het is me gelukt om een pagina aan te maken die het kan weergeven. Nu ga ik even sleutelen hoe ik het kan gebruiken om in te loggen in een pagina! Als iemand me ermee wilt helpen, please! Thanks.
Eigenlijk ga je iets zoeken in je txt-bestand. Je zoekt de gegevens van de gebruikers. Indien je "zoekopdracht" een resultaat geeft, dan kloppen de gegevens. Indien er geen resultaat is, dan is geen gebruiker gevonden met het bijhorende wachtwoord.
Stel de gebruiker zijn gegevens controleert en ze kloppen, dan kan je de "geheime" content weergeven.
Code (php)
Nu, je zal het misschien nog niet zien, maar als deze pagina wordt herladen dan is de persoonlijk niet meer ingelogd. Je hebt namelijk nergens opgeslaan dat de persoon is ingelogd. Hiervoor bieden sessies een oplossing. (google er eventueel is op) Het komt erop neer dat je in die sessie iets plaatst zodanig dat je kan zien of een gebruiker al dan niet is ingelogd. Je dient voor de veiligheid nog andere zaken erin te zetten. (bv. het IP) Wat je precies allemaal in de sessie stopt, is jouw keuze. Er zijn op internet zat genoeg tutorials over te vinden. De gegevens van de sessie dien je dan op elke beveiligde pagina na te kijken. Hiermee kan je dan bepalen of een gebruiker al dan niet is ingelogd. (en door controle op het IP kan je stoute mensjes tegen gaan)
Wat betreft fgets etc, heb ik even iets gegoogeld. Klikje Ik denk dat deze site een vrij duidelijk voorbeeld geeft het hoe werkt. Je kan er ook altijd is de PHP manual op nakijken. Bij de reacties staan geregeld erg duidelijke voorbeelden, of zelfs volledige scripten.
Het zou kunnen dat ik wat zaken ben overgeslagen, of dat mijn uitleg niet altijd even duidelijk is. Als je iets niet begrijpt, vraag het even.
Gewijzigd op 03/01/2011 21:38:34 door Write Down
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="post">
Gebruikersnaam: <input type="text" name="gebruikersnaam"><br />
Wachtwoord: <input type="text" name="wachtwoord"><br /><br />
<input type="submit" value="versturen">
</form>
<?php
$bestand=fopen("gebruikers.txt","r");
if($gebruikersnaam && $wachtwoord)
{
echo("Weh feena Mootje");
}
else
{
echo("Uw moet zich eerst registreren");
}
$account = fgetcsv($bestand, 100, "\t");
fclose($bestand);
?>
method="post">
Gebruikersnaam: <input type="text" name="gebruikersnaam"><br />
Wachtwoord: <input type="text" name="wachtwoord"><br /><br />
<input type="submit" value="versturen">
</form>
<?php
$bestand=fopen("gebruikers.txt","r");
if($gebruikersnaam && $wachtwoord)
{
echo("Weh feena Mootje");
}
else
{
echo("Uw moet zich eerst registreren");
}
$account = fgetcsv($bestand, 100, "\t");
fclose($bestand);
?>
Wat betreft sessies! Ook bedankt voor de uitgebreide uitleg, dat zal mijn volgende opdracht zijn haha..
Nou Write Down, als je me kunt helpen of laten zien wat ik fout doe bij het script boven.. graag!
Het is dus de bedoeling dat wanneer iemand inlogt, gelezen wordt in het .txt bestand of die wel bestaat, dan de volgende melding te geven: welkom, anders, je moet je registreren (ofzoiets).
Misschien dat het helpt als ik erbij zeg dat gebruikersnaam en wachtwoord gewoon $gebruikersnaam en $wachtwoord zijn..
Toevoeging op 03/01/2011 22:53:11:
Ps. het .txt bestand heet nog steeds gebruikers.txt.. moet ik die veranderen in account?
Gewijzigd op 03/01/2011 22:41:45 door klaas vieren
?
Toevoeging op 05/01/2011 23:35:08:
Kan je me even een voorbeeld van je txt bestandje tonen?
Toevoeging op 06/01/2011 00:48:11:
Nou ja, ik kon niet wachten :+
Ik ben er vanuit gegaan dat je op de even lijnen (0, 2, 4, ...) gebruikersnaam hebt staan, de oneven wachtwoord.
Om je gebruikers toch een beetje te privecay te geven, heb ik ze met sha1-hash beveiligd.
Ik heb wat liggen te verzinnen. De user waarover het gaat is "Klaas" met wachtwoord "phpHulp". Wat de anderen zijn doet niet zo veel ter zake.
Mijn user-bestand ziet er als volgt uit:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
0757ddb029ec7d9bfbea3f024ccf6e5c871ffb77
78c87b0ed4de64f81776a289f8ccefe1d477ee0
27106d45edd11b64a6ea5d59bc179ae31289ae15
4543d8f93fae1e28a4be5e56228422427f2376c0
e03fdeae52d00891c4371242c688597e5c2cc632
f7a39bf5f111ef862e861526d28dc8c99d4231ea
a1e2991ae2ba42fa48de603133084f71e0746689
b3d123ab1c64a495968f04c543e658701e1951e0
78c87b0ed4de64f81776a289f8ccefe1d477ee0
27106d45edd11b64a6ea5d59bc179ae31289ae15
4543d8f93fae1e28a4be5e56228422427f2376c0
e03fdeae52d00891c4371242c688597e5c2cc632
f7a39bf5f111ef862e861526d28dc8c99d4231ea
a1e2991ae2ba42fa48de603133084f71e0746689
b3d123ab1c64a495968f04c543e658701e1951e0
Hierin staat dus ergens jouw login.
Wat ik ga doen is dit bestand lijn per lijn uitlezen. Ik ga die waarden dan ook in array stoppen. De key van de array is gewoon het vorige getal + 1 (beginnend van 0). Hierdoor weet je dus dat de lijn onder een gebruikersnaam het wachtwoord is. Of ook, dat de key vermeerder met 1 het bijhorende wachtwoord is van de gebruiker.
We zoeken bv. de gebruiker "Klaas". Indien die bestaat, weet ik graag de bijhorende key. Als ik die key heb, weet ik dat de key vermeerderd met 1, de bijhorende wachtwoord-key is van de gebruiker "Klaas". Als ik door middel van die key de value bepaal, deze vergelijk met het ingevulde wachtwoord (POST), kan ik bepalen of de combinatie al dan niet klopt. Dan zijn we er hé!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$search_user = 'Klaas';
$search_pass = 'phpHulp';
$handle = @fopen("users.txt", "r");
if ($handle) {
$counter = 0;
while (($line = fgets($handle, 4096)) !== false) {
$combination[$counter] = trim($line);
$counter++;
}
if (!feof($handle)) {
echo 'fgets lukt niet :-(';
}
fclose($handle);
}
$key = array_search(sha1(sha1($search_user)), $combination);
if(trim($combination[$key+1]) == sha1($search_pass)) {
echo 'De gegevens kloppen!';
} else {
echo 'Foute gegevens!';
}
?>
$search_user = 'Klaas';
$search_pass = 'phpHulp';
$handle = @fopen("users.txt", "r");
if ($handle) {
$counter = 0;
while (($line = fgets($handle, 4096)) !== false) {
$combination[$counter] = trim($line);
$counter++;
}
if (!feof($handle)) {
echo 'fgets lukt niet :-(';
}
fclose($handle);
}
$key = array_search(sha1(sha1($search_user)), $combination);
if(trim($combination[$key+1]) == sha1($search_pass)) {
echo 'De gegevens kloppen!';
} else {
echo 'Foute gegevens!';
}
?>
Ik denk dat je hiermee al aan de slag kan. Moest je er niet uitkomen, ask!
Ik heb de volgende codes:
Code (php)
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
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
<html>
<head>
<title>Mijn php script</title>
</head>
<body>
<h3>Voorbeeld van een inlog script</h3>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="post">
Gebruikersnaam: <input type="text" name="gebruikersnaam"><br />
Wachtwoord: <input type="text" name="wachtwoord"><br /><br />
<input type="submit" value="versturen">
</form>
<?php
$bestand=fopen("gebruikers.txt","rb");
if($gebruikersnaam && $wachtwoord)
{
echo("Hoi hoi");
}
else
{
echo("Uw moet zich eerst registreren");
}
$account = fgetcsv($bestand, 100, "\t");
fclose($bestand);
?>
</body>
</html>
<head>
<title>Mijn php script</title>
</head>
<body>
<h3>Voorbeeld van een inlog script</h3>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="post">
Gebruikersnaam: <input type="text" name="gebruikersnaam"><br />
Wachtwoord: <input type="text" name="wachtwoord"><br /><br />
<input type="submit" value="versturen">
</form>
<?php
$bestand=fopen("gebruikers.txt","rb");
if($gebruikersnaam && $wachtwoord)
{
echo("Hoi hoi");
}
else
{
echo("Uw moet zich eerst registreren");
}
$account = fgetcsv($bestand, 100, "\t");
fclose($bestand);
?>
</body>
</html>
mijn bestand heet gebruikers.txt het is heel simpel (easy said haha..). Het moet gewoon ervoor zorgen dat het het bestandje leest en kijkt of de gebruikersnaam en wachtwoord klopt. Hiervoor had ik deze pagina gemaakt (waar je dus kunt aanmelden):
Code (php)
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
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
<html>
<head>
<title>Mijn php script</title>
</head>
<body>
<form action="accountaanmaken.php"
method="post">
<table border='1' >
<caption>
<strong>Aanmeldingsformulier</strong>
</caption>
<tr>
<td>Achternaam: </td>
<td><input type="text" name="achternaam"></td>
<tr>
<td>Naam: </td>
<td><input type="text" name="naam"></td>
</tr>
<tr>
<td>Adres: </td>
<td><input type="text" name="adres"></td>
</tr>
<tr>
<td>Postcode: </td>
<td><input type="text" name="postcode"></td>
</tr>
<tr>
<td>Plaats: </td>
<td><select name="plaats">
<option value=""></option>
<option value="Amsterdam">Amsterdam</option>
<option value="Den haag">Den haag</option>
<option value="Rotterdam">Rotterdam</option>
<option value="Utrecht">Utrecht</option></select></td>
</tr>
<tr>
<td>email adres: </td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Gebruikersnaam: </td>
<td><input type="text" name="gebruikersnaam"></td>
</tr>
<tr>
<td>Wachtwoord: </td>
<td><input type="text" name="wachtwoord"></td>
</tr>
</table>
<br />
<input type="submit" value="verzenden"><br />
<input type="reset" value="reset">
</form>
<?php
?>
</body>
</html>
<head>
<title>Mijn php script</title>
</head>
<body>
<form action="accountaanmaken.php"
method="post">
<table border='1' >
<caption>
<strong>Aanmeldingsformulier</strong>
</caption>
<tr>
<td>Achternaam: </td>
<td><input type="text" name="achternaam"></td>
<tr>
<td>Naam: </td>
<td><input type="text" name="naam"></td>
</tr>
<tr>
<td>Adres: </td>
<td><input type="text" name="adres"></td>
</tr>
<tr>
<td>Postcode: </td>
<td><input type="text" name="postcode"></td>
</tr>
<tr>
<td>Plaats: </td>
<td><select name="plaats">
<option value=""></option>
<option value="Amsterdam">Amsterdam</option>
<option value="Den haag">Den haag</option>
<option value="Rotterdam">Rotterdam</option>
<option value="Utrecht">Utrecht</option></select></td>
</tr>
<tr>
<td>email adres: </td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Gebruikersnaam: </td>
<td><input type="text" name="gebruikersnaam"></td>
</tr>
<tr>
<td>Wachtwoord: </td>
<td><input type="text" name="wachtwoord"></td>
</tr>
</table>
<br />
<input type="submit" value="verzenden"><br />
<input type="reset" value="reset">
</form>
<?php
?>
</body>
</html>
Code (php)
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
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
<html>
<head>
<title>Mijn php script</title>
</head>
<body>
<h3>Gegevens verwerken</h3>
<?php
$outputtekst =
$_POST["achternaam"] . " " . $_POST["naam"] . "\t" .
$_POST["adres"] . "\t" .
$_POST["postcode"] . "\t" .
$_POST["plaats"] . "\t" .
$_POST["email"] . "\t" .
$_POST["gebruikersnaam"] . "\t" .
$_POST["wachtwoord"] . "\r\n";
$bestand=fopen("gebruikers.txt","a");
if(!$bestand)
{
echo("Kon geen bestand openen!");
}
fwrite($bestand, $outputtekst, strlen($outputtekst));
if(fclose($bestand))
{
echo("Account is aangemaakt.");
}
else
{
echo("Kon bestand niet afsluiten!");
}
?>
</body>
</html>
<head>
<title>Mijn php script</title>
</head>
<body>
<h3>Gegevens verwerken</h3>
<?php
$outputtekst =
$_POST["achternaam"] . " " . $_POST["naam"] . "\t" .
$_POST["adres"] . "\t" .
$_POST["postcode"] . "\t" .
$_POST["plaats"] . "\t" .
$_POST["email"] . "\t" .
$_POST["gebruikersnaam"] . "\t" .
$_POST["wachtwoord"] . "\r\n";
$bestand=fopen("gebruikers.txt","a");
if(!$bestand)
{
echo("Kon geen bestand openen!");
}
fwrite($bestand, $outputtekst, strlen($outputtekst));
if(fclose($bestand))
{
echo("Account is aangemaakt.");
}
else
{
echo("Kon bestand niet afsluiten!");
}
?>
</body>
</html>
Klaas vieren op 10/01/2011 14:34:07:
Echter moet ik me strikt aan de richtlijnen houden van school :-(
Wat zijn die?
Wat is precies wel gevraagd (Wat moet er zeker in zitten)?
Wat mag niet? (mag je bv. file_put_contents() gebruiken (zie mijn vorige post) ?)
Trouwens, na alle reacties... wat is jouw vraag nu?
Werkt het ondertussen?
Gewijzigd op 10/01/2011 16:00:07 door Kris Peeters
nee het werkt nog niet. Misschien als je even die bestanden kunt kopieeren en plakken dat je dan kunt zien wat ik bedoel?
Het zit namelijk zo:
Het aanmelden.php werkt wel. Dan slaat het een bestand op. Deze bestand moet ik nu in inloggen.php lezen als de gebruikersnaam en wachtwoord kloppen (uit het bestand dus die is aangemaakt), dan zou er welkom moeten staan. Anders registreer jezelf ofzo.
Het enige wat ik mag gebruiken staat in de code.. dus fgetscsv en fopen..
Zie eens of je er zo iets mee bent.
Code (php)
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
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
<?php
// eerst zien of er iets gepost is
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$bestand=fopen("gebruikers.txt","r");
$message = "";
// doorloop elke lijn
while (($data = fgetcsv($bestand, 100, "\t")) !== FALSE) {
// hier is $data dus een array die informatie bevat van 1 lijn. $data[0] is het eerste veld, $data[1] het tweede, ...
if (
$data[5] == $_POST['gebruikersnaam']
&& $data[6] == $_POST['wachtwoord']
) {
$message = "Hoi hoi";
break;
}
}
fclose($bestand);
if (empty($message)) {
$message = "Uw moet zich eerst registreren";
}
echo $message;
}
else { // inlogformulier tonen
echo '
<form action="" method="post">
Gebruikersnaam: <input type="text" name="gebruikersnaam"><br/>
Wachtwoord: <input type="text" name="wachtwoord"><br /><br/>
<input type="submit" value="versturen">
</form>
';
}
?>
// eerst zien of er iets gepost is
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$bestand=fopen("gebruikers.txt","r");
$message = "";
// doorloop elke lijn
while (($data = fgetcsv($bestand, 100, "\t")) !== FALSE) {
// hier is $data dus een array die informatie bevat van 1 lijn. $data[0] is het eerste veld, $data[1] het tweede, ...
if (
$data[5] == $_POST['gebruikersnaam']
&& $data[6] == $_POST['wachtwoord']
) {
$message = "Hoi hoi";
break;
}
}
fclose($bestand);
if (empty($message)) {
$message = "Uw moet zich eerst registreren";
}
echo $message;
}
else { // inlogformulier tonen
echo '
<form action="" method="post">
Gebruikersnaam: <input type="text" name="gebruikersnaam"><br/>
Wachtwoord: <input type="text" name="wachtwoord"><br /><br/>
<input type="submit" value="versturen">
</form>
';
}
?>
Gewijzigd op 10/01/2011 17:14:59 door Kris Peeters