Rediger en bruger der ligger i et "bruger"-dokument

Tags:    php

Hi...
Jeg er igang med et lave et login-bruger-system der er baseret på txt filer (der er også php filer med indhold).
Login er lavet og virker som det skal, opret bruger virker også.
men kommer Rediger bruger...
DET, er straks en anden sag!

Min bruger db ser sådan ud: (users.php)
Fold kodeboks ind/udKode 


Jeg har prøvet at lave koden til redigeringen men kan ikke få det til at virke, så jeg HAR lavet et "foreslag"/forsøg, men kan ikke finde hvad der er galt:
Fold kodeboks ind/udKode 

Det burde vel virke ik ?

På forhånd tak..
//Krille



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Okay - fint :) Det kan jeg da gøre :)

Hvis du har lyst, kan du ligge koden herind, så andre folk kan få glæde af den?

mikl-dk | mikl@mikl.dk
co-admin



Txt-filer er gode til mange ting - men er der nogen grund til du bruger det i stedet for en database-løsning (fx MySQL)?

Det du nok skal gøre, er at læse filen til et array. Se http://php.net/file

Finde indexet for den bruger der er logget ind, og indlæse disse oplysninger til en ny variable eller array. Derefter vil jeg foreslå, at du sletter brugerinformationerne fra fil-arrayet, og derefter nulstiller indexet i fil-arrayet. Derefter ændrer du koden i brugerarrayet, og lægger brugeroplysninger ind i fil-arrayet. Til sidst sletter du indholdet af filen og skriver indholdet af fil-array til filen.

Det er bøvlet at arbejde med txt-filer som gummi-database - jeg vil stærkt anbefale at bruge en rigtig database-løsning.

mikl-dk | mikl@mikl.dk
co-admin



Txt-filer er gode til mange ting - men er der nogen grund til du bruger det i stedet for en database-løsning (fx MySQL)?

Det du nok skal gøre, er at læse filen til et array. Se http://php.net/file

Finde indexet for den bruger der er logget ind, og indlæse disse oplysninger til en ny variable eller array. Derefter vil jeg foreslå, at du sletter brugerinformationerne fra fil-arrayet, og derefter nulstiller indexet i fil-arrayet. Derefter ændrer du koden i brugerarrayet, og lægger brugeroplysninger ind i fil-arrayet. Til sidst sletter du indholdet af filen og skriver indholdet af fil-array til filen.

Det er bøvlet at arbejde med txt-filer som gummi-database - jeg vil stærkt anbefale at bruge en rigtig database-løsning.

mikl-dk | mikl@mikl.dk
co-admin


Jeg plejer normalt også at lave mine brugersystemer i MySQL, men det her system er til en server hvor der ikke er mulighed for det...
- Der var også noget andet jeg lagde mærke til, hver gang jeg laver et array med foreach siger den:
Undefined index: *index* in /free1go/s/n/www.snoob.1go.dk/test/function.php on line __LINE__
//Krille

[Redigeret d. 13/08-04 16:43:40 af Krille]



Yeah, nu virker det...
Du lavede ikke din kommentar som svar
//Krille



function redigerpass($brugernavn, $nyt_pass)
{
$gamle_db = file("users.php");
$nye_db = fopen("users.php);

foreach($gamle_db as $gamle_db_keys)
{
$gamle_db_info = explode("|+|", $gamle_db_keys); // Det er så her brugerne hives ud i array
if($brugernavn != $gamle_db_info[3])
{
fwrite($db, "$gamle_db_info");
}
else
{
if($nyt_pass != "")
{
$gamle_db_info[1] = md5($nyt_pass);
$_SESSION['password'] = $gamle_db_info[1];
}
fwrite($db, "$gamle_db_info[0]|+|$gamle_db_info[1]|+|$gamle_db_info[2]|+|$gamle_db_info[3]|+|$gamle_db_info[4]\\n");
}
}
}




undskyld, det var før den var rettet...
her er den der virker...
function redigerpass($brugernavn, $nyt_pass)
{
$gamle_db = file("./users.php");
$nye_db = fopen("./users.php", "w");

foreach($gamle_db as $gamle_db_keys)
{
$gamle_db_info = explode("|+|", $gamle_db_keys); // Det er så her brugerne hives ud i array
if(strtolower($brugernavn) != strtolower($gamle_db_info[0]))
{
fwrite($nye_db, "$gamle_db_keys");
}
else
{
if($nyt_pass != "")
{
$gamle_db_info[1] = md5($nyt_pass);
$_SESSION['password'] = $gamle_db_info[1];
}
fwrite($nye_db, "$gamle_db_info[0]|+|$gamle_db_info[1]|+|$gamle_db_info[2]|+|$gamle_db_info[3]|+|$gamle_db_info[4]");
}
}
}
//Krille



t