Hallo Tömsken
Das is was sie haben wollten ... also die angaben die ein kunde eingibt werden in eine cvs datei geschrieben und gespeichert und als eine tabelle wieder gegeben. und mit löschen konnen die einträge wieder einzelend gelösched werden! If finde es ja nur fair auch die lösung zu schicken da ich ja auch hier nachschlage solle ich auf ein problem stoßen. Dande an alle die geholfen haben
mfg
barbara
<?php
// Funktion zum Auslesen eines csv-Arrays
function read_csv($fp) {
while (! feof($fp)) {
$row = fgetcsv($fp, 4096);
if (count($row) >= 6) {
$csv_array[]=$row;
}
}
return $csv_array;
}
// Funktion zum Auslesen der Datei user.txt
function read_user() {
$fp = @ fopen("user.txt", "r");
if ($fp == false) {
$fehler = "Datei nicht gefunden";
} else {
$row = read_csv($fp);
fclose($fp);
$j = 0;
for ($i = 0; $i < count($row); $i++) {
$user[$j] = $row[$i];
$j++;
}
}
if ($fehler != "") {
return $fehler;
} else {
return $user;
}
}
// Funktion zum Schreiben von Daten in die csv-Datei
function write_csv($csv_array,$fp) {
for ($i = 0; $i < count($csv_array); $i++) {
$row = implode(",", $csv_array[$j]) . "\n";
fputs($fp, $row);
}
}
// Schreiben der ins Formular eingegebenen Daten in die csv-Datei
if((isset($HTTP_POST_VARS)) && (isset($HTTP_POST_VARS["submit"]))
&& (!isset($HTTP_POST_VARS["submit_delete"]))) {
$array = $HTTP_POST_VARS;
}
if(isset($array)) {
if ((empty($array["vorname"])) || (empty($array["nachname"])) ||
(empty($array["login"])) || (empty($array["pass"]))) {
echo '<center><h2>Bitte füllen Sie alle Felder aus!</h2><br><br></center>';
die ('<a href="PHP_LE10_HA2-miniDB.php">Zurück zur Eingabemaske</a>');
} else {
$pid = time();
$user[$i][0] = $array["vorname"];
$user[$i][1] = $array["nachname"];
$user[$i][2] = $array["login"];
$user[$i][3] = $array["pass"];
$user[$i][4] = $array["userlevel"];
$user[$i][5] = $pid;
$fp = @ fopen("user.txt", "a+");
if ($fp !== false) {
write_csv($user,$fp);
fclose($fp);
}
}
}
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Mini Datenbank</title>
</head>
<body>
<font>
<center>
<h2>Dateifunktionen - User-Datenbank auf Dateibasis</h2>
<br><b>Anlegen von Usern:</b><br><br>
<form action="PHP_LE10_HA2-miniDB.php" method="post">
<table>
<tr>
<td>Vorname:</td>
<td><input type="Text" name="vorname"></td>
</tr>
<tr>
<td>Nachname:</td>
<td><input type="Text" name="nachname"></td>
</tr>
<tr>
<td>Login:</td>
<td><input type="Text" name="login"></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td>Userlevel:</td>
<td>
<select name="userlevel">
<?php for($i=1; $i<21; $i++) { ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="Submit" name="submit" value=" User Speichern">
</td>
</tr>
</table>
</form>
<br><br>
<b>Folgende User sind bereits vorhanden:</b><br><br>
<form action="PHP_LE10_HA2-miniDB.php" method="POST">
<table bgcolor="#ffffff" cellspacing="0" cellpadding="2"border="1" bordercolor="Black" width="80%">
<tr>
<td width="5%"align="center"> Nr: </td>
<td width="15%" align="center"> Vorname </td>
<td width="15%" align="center"> Nachname </td>
<td width="15%" align="center"> Login </td>
<td width="15%" align="center"> Passwort </td>
<td width="10%" align="center"> Userlevel </td>
<td width="5%"align="center"> Löschen </td>
</tr>
<tr>
<?php
// Auslesen der Daten aus der csv-Datei
$user = read_user();
if (! is_array($user)) {
echo $user . "<br>";
} else {
// Übernahme der Daten in die Lieste der vorhandenen User
foreach ($user as $key => $user) {
echo '<tr><td align="center">' . ($key+1) . '</td>';
echo '<td>' . $user[0] . '</td>';
echo '<td>' . $user[1] . '</td>';
echo '<td>' . $user[2] . '</td>';
echo '<td>' . $user[3] . '</td>';
echo '<td align="center">' . $user[4] . '</td>';
echo '<td align="center">';
echo '<input type="checkbox" name="id[]" value="' . $user[5] . '"></td></tr>';
}
}
// Löschen von Usern
// Fehlermeldung, wenn kein Datensatz zum Löschen ausgewählt wurde
if ((isset($HTTP_POST_VARS["submit_delete"])) && (empty($HTTP_POST_VARS["id"]))) {
die ('<h2>Bitte die zu löschenden User auswählen! <a href="PHP_LE10_HA2-miniDB.php">Zurück</a></h2>');
}
// Auslesen der Datensätze
if ((isset($HTTP_POST_VARS["submit_delete"])) &&
(isset($HTTP_POST_VARS["id"]))) {
$ident = $HTTP_POST_VARS["id"];
$user = file("user.txt");
$fp = @ fopen("user.txt","w-");
fclose($fp);
// Aufsplitten der Datensätze
for($i = 0; $i < count($user); $i++) {
$set[$i] = explode(",",$user[$i]);
}
// Entfernen des Zeilenumbruchs
for($i = 0; $i < count($set); $i++) {
$set[$i][5] = str_replace("\n","",$set[$i][5]);
// Feststellung, welche Datensätze zum Löschen ausgewählt wurden
if(in_array($set[$i][5],$HTTP_POST_VARS["id"])) {
$zahl++;
} else {
// Datensätze, die nicht gelöscht werden sollen, werden wieder in die Datei geschrieben
$fp = @ fopen("user.txt","a+");
$user = $set[$i][0].",".$set[$i][1].",".$set[$i][2].",".$set[$i][3].",".$set[$i][4].",".$set[$i][5]."\n";
fputs($fp,$user);
fclose($fp);
}
}
}
?>
<tr>
<td colspan="7" align="center">
<!--Löschen der Daten aus der Datei wird ausgelöst-->
<input type="submit" name="submit_delete" value=" User aus der Datenbank löschen ">
</td>
</tr>
<tr>
<td colspan="7" align="center" valign="bottom">
<!--Um die Tabelle zu aktualisieren, muss die Seite neu geladen werden-->
<a href="PHP_LE10_HA2-miniDB.php"><b>Tabelle aktualisieren</b></a>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
als Antwort auf: [#109923]