ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
213
213
EMPFEHLEN
-
Schönen Sonntag,
Ich möchte in einer Datei nur das Passwort vom Admin ändern also ID 1,
klappt auch wunderbar soweit,
nur ist der Rest der Datei nicht mehr vorhanden.
Die Datei sieht so aus:
1|Admin|7651320fc8fd972af966e40752ddcecc|Administrator|
2|Beta|e22a63fb76874c99488435f26b117e37|Betaname|beta@mail.de|
3|Gamma|f26b117e37874c99488435s84b117e47|Gammaname|gamma@mail.de|
usw.
Mein code zum ändern des Passwortes so:
Sieht einer von euch warum nur die Zeile die ich eingebe nach dem Passwort ändern zu sehen ist?PHP-Code:<?php
if (isset($_GET['action'])) $action = $_GET['action'];
if($_SESSION['username']=='Admin'){
$uid = $_POST["uid"];
$username = $_POST["username"];
$password = $_POST["passwort"];
$password2 = $_POST["passwort2"];
$realname = $_POST["realname"];
$email = $_POST["email"];
$isuser = array();
$passwort = md5($password);
$userdatei = fopen ("verz/daten.db","r");
while (!feof($userdatei)){
$dat = fgets($userdatei,500);
$userdaten = explode("|", $dat);
array_push ($isuser,$userdaten[1]);}
fclose($userdatei);
if ($action == "save"){
if ($password == $password2){
$userdatei=file("verz/daten.db");
$num = sizeof($lines);
if ($num) {
$entry = explode ("|", $lines[$num-1]);
$uid = $entry[0]+1;
} else $uid = 1;
$userdatei = fopen ("verz/daten.db","w");
rewind($userdatei);
fwrite($userdatei, "1");
fwrite($userdatei, "|");
fwrite($userdatei, "Admin");
fwrite($userdatei, "|");
fwrite($userdatei, $passwort);
fwrite($userdatei, "|");
fwrite($userdatei, "Administrator");
fwrite($userdatei, "|");
fwrite($userdatei, "\n");
fclose($userdatei);
}else echo'Die Passwörter stimmen <strong>nicht</strong> überein!';
}
$userdatei = fopen ("verz/daten.db","r");
while (!feof($userdatei)){
$dat = fgets($userdatei,2);
$userdaten = explode("|", $dat);
array_push ($isuser,$userdaten[1]);}
fclose($userdatei);
?>
<form action="index.php?page=edit&action=save" method="post">
<p>Passwort:<br />
<input type="password" size="35" name="passwort" value="" /></p>
<p>Passwort wiederholen:<br />
<input type="password" size="35" name="passwort2" value="" /></p>
<p><input class="formulbut" type="submit" value="Ändern" /></p>
</form>
<?php
} ?>
Danke im voraus freue mich über jede Hilfe
-
Hallöle,
das ist eigentlich ein ganz einfacher Patzer, der dir da unterlaufen ist - und zwar in dieser Zeile:
Dadurch, dass du das File im Modus "w" öffnest, wird deren Inhalt gelöscht und der Zeiger auf den Dateianfang gesetzt.PHP-Code:$userdatei = fopen ("verz/daten.db","w");
Was du suchst, dürfte der Modus "a" bzw. "a+" sein.
Hier mal noch ein Link zum Nachlesen: fopenPHP-Code:$userdatei = fopen ("verz/daten.db","a");
Da fällt mir auch noch was anderes ein:
Du solltest in dem Falle vllt. versuchen, die entsprechende Zeile in der Datei erst zu suchen, dann zu löschen und dann erneuert wieder einzufügen, denn ein "Update" im eigentlichen sinne wird nicht möglich sein - nur doppelte Einträge....Geändert von Alex_T (13.11.11 um 18:33 Uhr)
Mfg, Alex
“The function of good software is to make the complex appear to be simple.” (Grady Booch)
“First, solve the problem. Then, write the code.” (John Johnson)
-
Danke Alex,
und wie macht man das mit dem Filtern?
werde es erstmal selbst probieren, wie bei einem Gästebuch eintrag editieren.
Ähnliche Themen
-
MySQL daten werden nicht gelöscht :(
Von BerlinerBaer im Forum PHPAntworten: 7Letzter Beitrag: 30.09.07, 01:20 -
Screens werden nicht gelöscht warum gelöscht?
Von daniel_sun im Forum PHPAntworten: 1Letzter Beitrag: 07.10.06, 15:51 -
Durch "Aktualisieren" werden Daten doppelt eingetragen
Von tayke im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 06.06.06, 04:09 -
Daten werden zu früh gelöscht, wenn ein Mitglied sein Profil bearbeitet.
Von Sunmaxx im Forum PHPAntworten: 3Letzter Beitrag: 26.02.04, 11:42 -
Daten nach Datum auslesen wobei frühere gelöscht werden
Von Subwoover im Forum PHPAntworten: 14Letzter Beitrag: 06.06.02, 18:39





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren