PHP - Userverwaltung
Hallo zusammen,
ich bastel gerade eine kleine Intranetseite zusammen und wollte jetzt noch eine kleine Userverwaltug dazu machen, damit man nicht immer die User in der Datenbank freischalten muss.
Ich wollte das ganze über eine Tabelle regeln, welche mittels einer SQL-Abfrage befüllt wird. Hinter die Tabelle sollte eine Checkbox kommen welche ich dann auslese und die angewählten User lösche, freischalte oder sonst irgendwas mache.
Kann mir da jemand bitte helfen, wie ich die checkbox so auslesen kann, damit ich genau den User bekomme der in der Zeile steht?
Vielen dank für eure Hilfe.
Gruß
Schlumpf
ich bastel gerade eine kleine Intranetseite zusammen und wollte jetzt noch eine kleine Userverwaltug dazu machen, damit man nicht immer die User in der Datenbank freischalten muss.
Ich wollte das ganze über eine Tabelle regeln, welche mittels einer SQL-Abfrage befüllt wird. Hinter die Tabelle sollte eine Checkbox kommen welche ich dann auslese und die angewählten User lösche, freischalte oder sonst irgendwas mache.
Kann mir da jemand bitte helfen, wie ich die checkbox so auslesen kann, damit ich genau den User bekomme der in der Zeile steht?
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<form action="index.php" method="post">
<br/>
<input type="Submit" name="startseite" value="Startseite">
</form>
<form action="liste.php?sort=IP&dir=asc" method="post">
<br/>
<input type="Submit" name="uebersicht" value="EEEPC Übersicht">
</form>
<br/>
<?php
include ('server.php');
$dbconnect = mssql_connect($SQL_Server, $SQL_User, $SQL_Pw);
mssql_select_db($SQL_db);
$sql = "SELECT * FROM Benutzer";
$result = mssql_query($sql);
$row = mssql_fetch_array($result, MSSQL_ASSOC);
echo "<form action=verwaltung.php>";
echo" <input type=Submit name=absenden value=\"Daten ändern\">";
if (isset($_REQUEST['edit'])) {
echo "edit ist gesetzt";
echo $_REQUEST['edit'];
$edit = $_REQUEST['edit'];
} else {
echo "edit ist nicht gesetzt";
}
echo "<table border=1><tr>";
if ($row == "") {
echo "Es sind keine Neuen User vorhanden";
} else {
while ($field = key($row)) {
echo "<th> $field </th>";
next($row);
}
echo "<th>Hinzufügen</th>";
echo "</tr>";
while ($row = mssql_fetch_array($result, MSSQL_ASSOC)) {
echo "<tr>
<td>$row[Benutzername]</td>
<td>$row[Flag]</td>
<td>$row[Vorname]</td>
<td>$row[Name]</td>
<td>$row[admin]</td>
<td></td>
<td></td>
<td></td>
<td><input type=checkbox name=edit value=test></td>
</tr>";
}/* while */
} /* if/else */
echo" </table>";
echo "</form>";
mssql_close($dbconnect);
?>
</body>
</html>
Vielen dank für eure Hilfe.
Gruß
Schlumpf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 177037
Url: https://administrator.de/contentid/177037
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
12 Kommentare
Neuester Kommentar
Hi,
Du musst eigentlich nur der Checkbox eine eindeutige ID geben, z.B. mit einer Nummer, wenn Du einen AI PK in der Table hast.
Und vorallem nicht per GET übertragen sondern per POST, also <form method="POST" action="verwaltung.php">
Danach kannst Du im verwaltung.php einfach über die entsprechenden Daten itterieren
Gruß
Du musst eigentlich nur der Checkbox eine eindeutige ID geben, z.B. mit einer Nummer, wenn Du einen AI PK in der Table hast.
Und vorallem nicht per GET übertragen sondern per POST, also <form method="POST" action="verwaltung.php">
Danach kannst Du im verwaltung.php einfach über die entsprechenden Daten itterieren
Gruß
Zitat von @ITSchlumpf:
Naja aber die Tabelle ist ja nicht immer gleich groß, wie soll ich ihm dann nen eindeutigen Wert zuweisen? Das ganze
müsste doch flexibel sein oder?
Naja aber die Tabelle ist ja nicht immer gleich groß, wie soll ich ihm dann nen eindeutigen Wert zuweisen? Das ganze
müsste doch flexibel sein oder?
Ok, ich merke, Du weißt nicht, was ich mit AI PK meinte.
Jeder vernünftige Tabelle hat einen Primary Key, der immer eindeutig ist. AI steht einfach für AutoIncrement.
Du machst ja einen
$sql = "SELECT * FROM Benutzer";
Welche Felder kommen dann genau zurück?
Benutzername, Flag, Vorname, Nachname und Admin Flag? Sonst nichts? Ok, denn dann wäre der Benutzername ein PK, da er ja nur einmal vorkommen kann. Ich hoffe, Du hast die Tabelle so angelegt.
Dann gib im Notfall der Inputbox die ID vom Benutzernamen.
Damit hast Du eine eindeutige Kennzeichnung und kannst das Update durchführen.
... wir reden doch hier von HTML oder ?
ggf noch:
... wenn die ID vor selektiert werden soll bei der anzeige.
TIPP: trenne optisch deinen Code so weit es geht (PHP - HTML) - am besten erst die Daten speichern/selektieren - dann sich um die Anzeige kümmern
<input type="checkbox" name="benutzerId" value="<?php echo $row['ID'] ?>" />
ggf noch:
<input type="checkbox" name="benutzerId" value="<?php echo $row['ID'] ?>" selected="selected" />
TIPP: trenne optisch deinen Code so weit es geht (PHP - HTML) - am besten erst die Daten speichern/selektieren - dann sich um die Anzeige kümmern
Deshalb hab ich schon im ersten Post gesagt, nimm POST her und nicht GET
GET ist scheibe bei sowas, denn GET hat eine Zeichenbeschränkung usw. und die Links kann man aus Versehen nochmal aufrufen und alles ist fürn Allerwertesten.. Deshalb über method="post" im form-tag und dann die Superglobal $_POST benutzen!
GET ist scheibe bei sowas, denn GET hat eine Zeichenbeschränkung usw. und die Links kann man aus Versehen nochmal aufrufen und alles ist fürn Allerwertesten.. Deshalb über method="post" im form-tag und dann die Superglobal $_POST benutzen!