1. file liefert dir ein Array und $row ist ein Index, also wie liest man den Inhalt eines Elements des Arrays aus, wenn man den Index kennt?
2. schau dir mal an, was implode macht
2. schau dir mal an, was implode macht
if ($newpw_1==$newpw_2)
{
fclose($userdatei);
$array_userdatei = file('user.txt');
$zeilemitpw = implode($row, $array_userdatei);
$zeilemitpw == "$username|$newpw_1_2\n"; //altes pw mit neuem ersetzen..
$instring = implode("", $usnpw);
echo"test erfolgreicher";
}
<?php
$oldpw = $_POST["oldpw"];
$newpw_1 = $_POST["newpw_1"];
$newpw_2 = $_POST["newpw_2"];
$oldpw_2 = md5($oldpw);
$newpw_1_2 = md5($newpw_1);
$newpw_2_2 = md5($newpw_2);
$a="1";
$userdatei = fopen ("user.txt","r");
$row = 0;
while (!feof($userdatei))
{
$zeile = fgets($userdatei,500);
$userdata = explode("|", $zeile);
if ($oldpw_2==trim($userdata[1]))
{
if ($userdata[0]==$username)
{
if ($newpw_1==$newpw_2)
{
$a="0";
}
}
}
$row++;
}
fclose($userdatei);
if ($a=="0")
{
$array_userdatei = file('user.txt');
$zeilemitpw = implode($row, $array_userdatei);
echo"vorher: $zeilemitpw";
$zeilemitpw == "$username|$newpw_1_2\n";
echo"nachher: $zeilemitpw";
}
else
{
echo"falsches pw";
}
if ($a=="1")
{
echo"flasches pw";
}
?>
EDIT:
warum nimmst du das Teil aus dem If-Block raus? wasfür Überlegungen steckt dahinter?
bitte dringend www.schattenbaum.net/php durchlesen.
<?php
$oldpw = $_POST["oldpw"];
$newpw_1 = $_POST["newpw_1"];
$newpw_2 = $_POST["newpw_2"];
$oldpw_2 = md5($oldpw);
$newpw_1_2 = md5($newpw_1);
$newpw_2_2 = md5($newpw_2);
$a="1";
$userdatei = fopen("user.txt","r");
$row = 0;
while (!feof($userdatei))
{
$zeile = fgets($userdatei,500);
$userdata = explode("|", $zeile);
if ($userdata[0]==$username)
{
if ($oldpw_2==trim($userdata[1]))
{
if ($newpw_1==$newpw_2)
{
$array_userdatei = file('user.txt');
$usnpw = $array_userdatei[$row]; //zeile mit username und pw
$pwreplace = "$username|$newpw_1_2"; //passwort ersetzen
echo"$pwreplace";
echo"test erfolgreicher";
}
else
{
echo"passwörter nich identisch";
}
}
}
else
{
echo"falsches passwort";
}
$row++;
}
fclose($userdatei);
?>
<?php
$oldpw = $_POST["oldpw"];
$newpw_1 = $_POST["newpw_1"];
$newpw_2 = $_POST["newpw_2"];
$oldpw_2 = md5($oldpw);
$newpw_1_2 = md5($newpw_1);
$newpw_2_2 = md5($newpw_2);
$b="1";
$userdatei = fopen("user.txt","r");
$row = 0;
while (!feof($userdatei))
{
$zeile = fgets($userdatei,500);
$userdata = explode("|", $zeile);
if ($userdata[0]==$username)
{
if ($oldpw_2==trim($userdata[1]))
{
if ($newpw_1==$newpw_2)
{
$array_userdatei = file('user.txt');
$usnpw = $array_userdatei[$row];
$pwreplace = "$username|$newpw_1_2\n";
$userdatei2 = fopen("user.txt", "w+");
for($a = 0; $a < $row; $a++)
{
fwrite ($userdatei2, "$array_userdatei[$a]");
}
$a++;
fwrite($userdatei2, $pwreplace);
for($a; $a > $row; $a++)
{
fwrite ($userdatei2, "$array_userdatei[$a]");
}
$fclose($userdatei2);
echo"passwörter erfolgreich gaendernt.";
}
else
{
$b = "2";
}
}
}
$row++;
}
if ($b == "2")
{
echo"passwörter nicht identisch";
}
if ($b == "1")
{
echo"falsches passwort";
}
fclose($userdatei);
?>
$oldpw = $_POST["oldpw"];
$newpw_1 = $_POST["newpw_1"];
$newpw_2 = $_POST["newpw_2"];
$oldpw_2 = md5($oldpw);
$newpw_1_2 = md5($newpw_1);
$newpw_2_2 = md5($newpw_2);
$b="1";
$blChanged = false;
$userdatei = file("user.txt"); // datei in array einlesen
for ($row=0; $row<count($userdatei); $row++) { // schleife über alle Zeilen
$userdata = explode("|", $userdatei[$row]); // zeile in array
if ($userdata[0]==$username) {
if ($oldpw_2==trim($userdata[1])) {
if ($newpw_1==$newpw_2) {
// neues pw zuweisen
$userdata[1] = $newpw_1_2;
// zeile mit neuer info zuweisen
$userdatei[$row] = implode('|',$userdata);
// flag setzen
$blChanged = true;
echo"passwörter erfolgreich gaendernt.";
}
else {
$b = "2";
}
}
}
if ($blChanged) break; // abbruch der schleife
}
if ($blChanged) { // daten geändert, zurück schreiben
$file = fopen('user.txt', 'w'); // datei zum schreiben öffnen
for ($i=0; $i<count($userdatei);$i++)
fputs($file, $userdatei[$i]);
fclose($file);
} else {
switch($b){
case 1:
echo"falsches passwort";
break;
case 2:
echo"passwörter nicht identisch";
} // switch
}
Kommentar