fwrite lukt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer / C# / financiële organisatie

Bedrijfsomschrijving Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er wordt gewerkt met de nieuwste moderne ontwikkeltechnieken. Daarnaast ben je verantwoordelijk voor het implementeren van gloednieuwe features! Zo is er bijvoorbeeld onlangs een interface met Robotics gebouwd en zijn er veel stand-alone systemen die de komende periode moeten worden vervangen. Kennis van API's is dus zeker noodzakelijk. Je hebt nauw contact met de business om requirements te achterhalen en deze te vertalen naar

Bekijk vacature »

Product Owner Systeembeheer/Operations

Werken bij Bakker&Spees betekent werken in een innovatief IT-bedrijf met zelfsturende teams en in totaal 40 medewerkers. Omdat we flink groeien hebben we bij Systeembeheer behoefte aan verdere verbreding en uitbreiding van het team. Bij Systeembeheer is er geen sprake van één product maar een hele reeks. Juist daarom zoeken we een Product Owner die overzicht kan houden en eigendom kan nemen over die reeks. Deze producten en diensten variëren van basaal werkplekbeheer, kantoorinfrastructuur en softwareonderhoud (van eigen en externe software) tot netwerk-, server- en databasebeheer (Linux en Windows), monitoring, security, hosting en deployment automatisering. Wat ga je doen: Als

Bekijk vacature »

Frontend Developer React

Onze ambitieuze opdrachtgever heeft ruimte voor een exra frontend developer. Om te beginnen voor een jaar, 36 uur per week. Locatie: Zuid Holland. We zoeken een kandidaat met HBO werk/denknivo en beheersing van Nederlands en Engels. STACK: React Typescript GraphQL Apollo AuthO Style components Storybook. Pre: AWS Go Lang FramerX/Sketch. Mocht het passen dan hoor ik je graag! Liesbeth Dijkers 010 2069800

Bekijk vacature »

Senior Full Stack Developer

Senior Full Stack Developer Eindhoven The world wants simple apps that can manage the movements of millions of packages daily. But to get there, our apps go through a complex development process that is lead by the best developers in the industry. As someone who is highly familiar with C#, you will join us as a senior member of the team and manage apps for our Brokerage services – big business freight in global markets that cover over 76% of all international trade. Digital innovation plays a crucial role in choreographing the infinite movements of goods, funds and information. The

Bekijk vacature »

Java Developer

Heb jij een passie voor technologie en ben jij altijd al als eerste op de hoogte van ontwikkelingen en innovaties? Weet jij hoe je de verbinding moet maken tussen business en techniek? Dan ben je welkom bij ons! Wat ga je doen? Als Java developer bij CGI ga je deel uitmaken van de grootste en meest actieve JAVA community van Nederland. Je levert een bijdrage aan de technische realisatie van complexe systemen voor onze klanten. Hierbij maak je in eenvoudige taal aan een klant duidelijk welke softwareoplossingen op zijn of haar organisatie van toepassing kunnen zijn. Je weet voor onze

Bekijk vacature »

Mendix Expert Developer (Senior) (NL)

Mendix Expert Developer (Senior) (NL) Den Haag HBO/WO IT Professional "Als Mendix expert impact maken op de groeiende E-commerce markt met onze logistieke software en onze kritieke logistieke keten. Je doet dit door ontwikkeling en uitbreiding van onze Mendix Cloud omgeving, waarbij je complexe business processen vertaalt naar kritieke Mendix applicaties.". Wat ga je doen? PostNL is becoming a postal tech company Als Mendix Expert Developer ben je onderdeel van een multidisciplinair Business-IT-team bestaande uit onder andere een Lead, Mendix Developers en Solution Consultants. Wij zetten Mendix in voor kritieke processen waarbij applicaties optimaal moeten performen, want wanneer deze uitvallen,

Bekijk vacature »

Medior PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops are bizarre fast and super tight. How do I become a PHP Developer at Coolblue? As a Medior PHP Developer you work together with other development teams to make our webshop work as optimally as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little C # or Javascript. Want to become an PHP Developer at Coolblue? Else will explain how to do that. You enjoy doing this Writing PHP code, but can also find your way in C

Bekijk vacature »

Power Bi Developer

Bedrijfsomschrijving De organisatie is actief in de automotive branche en is de laatste jaren erg hard aan het groeien. Vanwege de groei wil de organisatie de volgende stap zetten op gebied van IT. Namelijk digitaliseren en automatiseren. Als Power BI Developer ga je een groot deel uitmaken. Vertrouwen staat in deze organisatie hoog in het vaandel en is dan ook de sleutel tot de hoge klanttevredenheid die zij hebben. De organisatie is gevestigd in de omgeving Haarlem. Het data-team bestaat nu uit een team van 3 professionals met elk een eigen specialisatie. Men is op zoek naar de 4e met

Bekijk vacature »

Cloud Automation Engineer VMware

Ben jij een ambitieuze Cloud Engineer die de ontwikkelingen en innovaties op het gebied van Cloud Infra & Automation op de voet volgt? Ben je een breed georiënteerde engineer en wil je je verdiepen in een specifieke technologie? Of wil je je expertise juist verbreden en certificeren in meerdere technieken en tools? Wij zoeken ter versterking van ons team zowel multi-skilled als specialistische engineers met passie voor hun vak! Bij ons krijg je de ruimte en vrijheid om in de praktijk jezelf verder te ontwikkelen op diverse projecten en aan je theoretische kennis te werken door het volgen van trainingen

Bekijk vacature »

IT-traineeship junior software developer

Zoek jij een stevige uitdaging en de mogelijkheid om veel nieuwe dingen te leren in een dynamisch vakgebied? Doe mee aan ons IT Professional Program en ontwikkel jezelf tot software engineer! Je begint met een opleidingstraject van ongeveer 4 maanden. Hierin ga je aan de slag met verschillende technieken die je op conceptueel niveau leert te overzien en interpreteren. Onderwerpen die aan bod komen zijn o.a. programmeren (Java/C#/Python), Object Oriëntatie, Databases, Webservices & webtechnologieën, Domain Driven Design en Continuous Integration/Continuous Delivery. Sommige van deze onderdelen sluit je af met een examen en bijbehorende certificering. Het opleidingstraject zelf sluit je af

Bekijk vacature »

Mendix Consultant / Developer

Bedrijfsomschrijving Deze organisatie is actief binnen de retail branche en constant in beweging. De focus ligt op het verbeteren van de ICT afdeling en de dienstverlening richting interne klanten/ gebruikers. De organisatie bestaat uit ongeveer 3000 medewerkers. Met de ICT afdeling verzorgen zij de ICT dienstverlening voor verschillende onderdelen binnen de organisatie. Het Mendix team wordt gezien als drijvende kracht achter de innovaties binnen deze organisatie. Het team bestaat ruim 2 jaar en heeft in die periode ruim 20 verschillende applicaties gebouwd en er staat gepland staat om dat aantal te vergroten. Het doel van het team is om processen

Bekijk vacature »

Director Consulting Services

Wij zoeken een talentvolle ondernemer met oog voor maatschappelijk belang! Ondernemer word je niet, dat ben je. CGI biedt jou deze mogelijkheid in de rol van Director Consulting Services. Wat ga je doen? Als Director Consulting Services (DCS) ben je de spil in de dienstverlening van CGI. Je bent een IT-professional en samen met jouw team van +/- 15 collega’s maak je het verschil in opdrachten bij jouw klant. Naast een eigen billableassignment (50%) ben je verantwoordelijk voor business development. Door te zien wat jouw klant nodig heeft en hoe je daaraan met je team invulling zou kunnen geven laat

Bekijk vacature »

Java Developer

Onze opdrachtgever heeft zsm ruimte voor twee java developers. Rotterdam, een jaar contract (ZZP mogelijk) met optie van verlenging van een jaar. Fulltime. Jouw profiel Je beschikt over de volgende competenties: Resultaatgerichtheid Kwaliteitsgericht (clean code) Integriteit Planmatig werken Samenwerken Sociaal Gericht op delen van kennis Beheersing van de Nederlandse taal Eisen Je beschikt over minimaal: Een afgeronde relevante HBO-opleiding (zoals Hogere Informatica Opleiding en/of Technische Informatica) of een afgeronde WO Bèta studie 5 jaar ervaring als Java ontwikkelaar (senior) opgedaan in de afgelopen 6 jaar 4 jaar ervaring met Spring opgedaan in de afgelopen 6 jaar 4 jaar ervaring met

Bekijk vacature »

Ervaren .NET developer gezocht, api development, .

Ben je een ervaren .NET developer en op zoek naar baan waarbij je je ook meer kunt gaan richten op architectuur? Binnen een leuke, sociale en betrokken werkomgeving? Met technieken als .NET Core en Azure? Dan zou deze baan wellicht iets voor jou kunnen zijn. Voor een organisatie in Rotterdam zijn we op zoek naar eens ervaren .NET ontwikkelaar. De organisatie bevindt zich in de financiële branche en is een van de grotere spelers in hun vakgebied. De organisatie bestaat uit circa 600 medewerkers en heeft verschillende vestigingen in Nederland. Het hoofdkantoor zit in Rotterdam en daar is ook de

Bekijk vacature »

C# ontwikkelaar gezocht, academisch niveau, goed s

Ben je als .NET ontwikkelaar op zoek naar een (nieuwe) analytische uitdagende baan? Een baan waar je te maken krijgt geavanceerde wiskundige modellen? Dan zou deze organisatie je dit kunnen bieden. Voor een organisatie in Delft zijn we momenteel op zoek naar .NET ontwikkelaar met een academisch niveau en kennis of affiniteit met het bouwen van modellen, dataprocessen en applicaties in .NET C#. De organisatie houdt zich bezig met het leveren van zeer specifieke diensten voor de financiële sector en doet veel zaken met grote financiële instellingen. Het gaat hier om een kleinere organisatie van circa 15 mensen waarvan 5

Bekijk vacature »

Pagina: 1 2 volgende »

Klaas vieren

klaas vieren

02/01/2011 23:13:37
Quote Anchor link
Het werkt niet. Het zou een bestand moeten opslaan met de input die je invult. Echter slaat het wel een bestand op, maar dan zonder gegevens die je invoert...? Iemand weet?

aanmelden.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
<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>



accountaanmaken.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
<?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!");
}

?>
Gewijzigd op 02/01/2011 23:14:32 door Klaas vieren
 
PHP hulp

PHP hulp

01/12/2020 13:46:50
 
Pim -

Pim -

02/01/2011 23:17:59
Quote Anchor link
Omdat je $outputtekst pas vult nadat je hebt geschreven...
Maar gebruik toch gewoon een DB...
 
Write Down

Write Down

02/01/2011 23:19:26
Quote Anchor link
Fout is zoals Pim aangeeft, je schrijft niks weg.

Maar inderdaad, ik mag er niet aan denken dat je dit soort gegeven in txt bestand gooit...
 
Klaas vieren

klaas vieren

02/01/2011 23:23:02
Quote Anchor link
Beste mensen, ik wou net reactie toevoegen dat het me gelukt is!

@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.
 
Pim -

Pim -

02/01/2011 23:26:54
Quote Anchor link
Wow, lekker onderwijs xD
 
Klaas vieren

klaas vieren

02/01/2011 23:32:11
Quote Anchor link
Nog een probleem tegengekomen..

ik heb nu de volgende code die werkt:

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
<?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!");
}


?>


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!
 
Pim -

Pim -

02/01/2011 23:34:29
Quote Anchor link
$bestand=fopen("gebruikers.txt","w");
w moet zijn a (van append)
 
Klaas vieren

klaas vieren

02/01/2011 23:34:54
Quote Anchor link
Heb het al jongens, het moest de "a" ipv de "w" zijn! Ik zal zo nog even iets plaatsen over hoe ik die tekst moet laten verschijnen en hoe ik die tekst kan gebruiken om in te loggen!

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)
PHP script in nieuw venster Selecteer het PHP script
1
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";
?>


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
 

03/01/2011 09:31:12
Quote Anchor link
Hoe zijn die richtlijnen precies dan. Als het in een tekstbestand moet, dan kan xml ook, zie dom en simplexml.
 
Kris Peeters

Kris Peeters

03/01/2011 10:42:32
Quote Anchor link
Je hebt die fwrite helemaal niet nodig.

Het enige wat je nodig hebt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$filenaam
= 'test.txt';
$output = '...';  // maar dan iets zinnigers
$aantal_bytes_geschreven = file_put_contents($filenaam, $output);
?>
 
Write Down

Write Down

03/01/2011 11:32:02
Quote Anchor link
Kris Peeters op 03/01/2011 10:42:32:
Je hebt die fwrite helemaal niet nodig.

Het enige wat je nodig hebt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$filenaam
= 'test.txt';
$output = '...';  // maar dan iets zinnigers
$aantal_bytes_geschreven = file_put_contents($filenaam, $output);
?>


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.
 
Kris Peeters

Kris Peeters

03/01/2011 12:38:10
Quote Anchor link
Mensen die niet goed weten hoe fwrite werkt, zijn beter af met file_put_contents.
Wie er wel voordeel uit kan halen, zal hier geen problemen over melden.

Ik blijf dus bij mijn boodschap.
 
Klaas vieren

klaas vieren

03/01/2011 21:01:58
Quote Anchor link
@Karl karl. Ik moest dus in het tekstbestand gewoon de input te zien krijgen. Alleen heb ik een spatie tussen naam en achternaam geplaatst door "" . te zetten. Voor de enter heb ik \r\n gebruikt.

@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.
 
Write Down

Write Down

03/01/2011 21:37:58
Quote Anchor link
Klaas, misschien is het wel geen slecht idee om even te zeggen wat je opdracht precies is.

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(....) {
//alle controles geslaagd, de persoon is ingelogd
echo 'hier de "geheime" inhoud';
}
else {
echo 'sorry, je bent niet ingelogd';
}

?>


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
 
Klaas vieren

klaas vieren

03/01/2011 22:33:46
Quote Anchor link
@write down, dank je voor je uitgebreide uitleg! Ik heb het volgende:

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
<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);
?>


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
 
Klaas vieren

klaas vieren

05/01/2011 22:46:19
Quote Anchor link
?
 
Write Down

Write Down

05/01/2011 23:32:41
Quote Anchor link
Even geduld, ik ben aan het kijken :-)

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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
echo sha1(sha1($gebruiker)) . '<br/>;
echo sha1($password);
?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
0757ddb029ec7d9bfbea3f024ccf6e5c871ffb77
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)
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
<?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!';
}

?>


Ik denk dat je hiermee al aan de slag kan. Moest je er niet uitkomen, ask!
 
Klaas vieren

klaas vieren

10/01/2011 14:34:07
Quote Anchor link
WriteDown, EXCUSES voor de late reactie! Dank u wel voor het schrijven van de code ziet er goed uit. Echter moet ik me strikt aan de richtlijnen houden van school :-(

Ik heb de volgende codes:

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
<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)
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
<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>
en deze bestand moet het verwerken (aanmelden dus een externe bestand)

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
<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>
 
Kris Peeters

Kris Peeters

10/01/2011 15:33:42
Quote Anchor link
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
 
Klaas vieren

klaas vieren

10/01/2011 16:08:14
Quote Anchor link
@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..
 
Kris Peeters

Kris Peeters

10/01/2011 17:08:24
Quote Anchor link
Dit zou moeten doen wat je vraagt.
Zie eens of je er zo iets mee bent.

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
<?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>
'
;
}

?>
Gewijzigd op 10/01/2011 17:14:59 door Kris Peeters
 

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