Forenindex » Programmierung/Entwicklung » PHP und MySQL » userdatenbank auf Dateibasis

userdatenbank auf Dateibasis

here4fun
Beiträge gesamt: 47

21. Sep 2004, 01:35
Bewertung:

gelesen: 1526

Beitrag als Lesezeichen
Wer kann mir hiermit weiterhelfen? Mit hilfe eine SCV-datei sollten in vorhandene User eingtragen weden und die über eine checkbox gelösched werden. ? Über eine user array ? Aber wie Hilfe ...
<html>
<head>
<title>Mini Datenbank</title>
</head>
<body>
Anlegen von Usern:<br><br>
<form action="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="password"></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>&nbsp;</td>
<td><input type="hidden" name="ID" value="Time()"></td></tr>
<tr><td colspan="2">
<input type="Submit" name="submit" value=" User Speichern"></td></tr>
</table>
</form>
Folgende User sind bereits vorhanden:<br><br>
<table cellspacing="0" cellpadding="2" border="1" bordercolor="Black">
<tr>
<td>Nr:&nbsp;<input type="checkbox" name="id"></td>
<td>Vorname</td>
<td>Nachname</td>
<td>Login</td>
<td>Passwort</td>
<td>Userlevel</td>
<td>Löschen</td>
</tr>
<form action="miniDB.php" method="post">
<tr><td align="center" colspan="7">
<input type="submit" name="submit_delete" value=" User löschen "></td></tr>
</form>
</table>
</body>
</html>

userdatenbank auf Dateibasis

Tömsken
Beiträge gesamt: 720

24. Sep 2004, 02:42
Bewertung:

gelesen: 1526

Beitrag als Lesezeichen
> Mit hilfe eine SCV-datei sollten in vorhandene User
> eingtragen weden und die über eine checkbox gelösched werden. ?

Ähm, wi jedz ? Wilst dU User über ein VCS-datei in einer Tabele einfügn?und in ein List ausgebn,mit cHeckbox vershn, sodasss auch gelösched kann?

userdatenbank auf Dateibasis

here4fun
Beiträge gesamt: 47

24. Sep 2004, 13:53
Bewertung:

gelesen: 1526

Beitrag als Lesezeichen
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>&nbsp;</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">&nbsp;Nr:&nbsp;</td>
<td width="15%" align="center">&nbsp;Vorname&nbsp;</td>
<td width="15%" align="center">&nbsp;Nachname&nbsp;</td>
<td width="15%" align="center">&nbsp;Login&nbsp;</td>
<td width="15%" align="center">&nbsp;Passwort&nbsp;</td>
<td width="10%" align="center">&nbsp;Userlevel&nbsp;</td>
<td width="5%"align="center">&nbsp;Löschen&nbsp;</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!&nbsp;&nbsp;<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>