Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PHP - Userverwaltung

Mitglied: ITSchlumpf

ITSchlumpf (Level 1) - Jetzt verbinden

30.11.2011, aktualisiert 12.12.2011, 3194 Aufrufe, 12 Kommentare

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?

01.
<!DOCTYPE html> 
02.
<html> 
03.
    <head> 
04.
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
05.
        <title></title> 
06.
    </head> 
07.
    <body> 
08.
        <form action="index.php" method="post"> 
09.
            <br/> 
10.
            <input type="Submit" name="startseite" value="Startseite"> 
11.
        </form> 
12.
        <form action="liste.php?sort=IP&dir=asc" method="post"> 
13.
            <br/> 
14.
            <input type="Submit" name="uebersicht" value="EEEPC Übersicht"> 
15.
        </form> 
16.
        <br/> 
17.
        <?php 
18.
        include ('server.php'); 
19.
 
20.
        $dbconnect = mssql_connect($SQL_Server, $SQL_User, $SQL_Pw); 
21.
        mssql_select_db($SQL_db); 
22.
 
23.
        $sql = "SELECT * FROM Benutzer"; 
24.
        $result = mssql_query($sql); 
25.
        $row = mssql_fetch_array($result, MSSQL_ASSOC); 
26.
 
27.
        echo "<form action=verwaltung.php>"; 
28.
        echo" <input type=Submit name=absenden value=\"Daten ändern\">"; 
29.
        if (isset($_REQUEST['edit'])) { 
30.
            echo "edit ist gesetzt"; 
31.
            echo $_REQUEST['edit']; 
32.
            $edit = $_REQUEST['edit']; 
33.
        } else { 
34.
            echo "edit ist nicht gesetzt"; 
35.
36.
 
37.
        echo "<table border=1><tr>"; 
38.
 
39.
        if ($row == "") { 
40.
            echo "Es sind keine Neuen User vorhanden"; 
41.
        } else { 
42.
            while ($field = key($row)) { 
43.
 
44.
                echo "<th> $field </th>"; 
45.
                next($row); 
46.
47.
            echo "<th>Hinzufügen</th>"; 
48.
            echo "</tr>"; 
49.
 
50.
            while ($row = mssql_fetch_array($result, MSSQL_ASSOC)) { 
51.
                echo "<tr> 
52.
                        <td>$row[Benutzername]</td> 
53.
                        <td>$row[Flag]</td> 
54.
                        <td>$row[Vorname]</td> 
55.
                        <td>$row[Name]</td> 
56.
                        <td>$row[admin]</td>   
57.
                <td></td> 
58.
                <td></td> 
59.
                <td></td> 
60.
                <td><input type=checkbox name=edit value=test></td>                               
61.
               </tr>"; 
62.
                
63.
            }/* while */ 
64.
        } /* if/else */ 
65.
        echo" </table>"; 
66.
        echo "</form>"; 
67.
        mssql_close($dbconnect); 
68.
         
69.
         
70.
        ?> 
71.
    </body> 
72.
</html>
Vielen dank für eure Hilfe.

Gruß
Schlumpf
Mitglied: msr972
30.11.2011 um 10:05 Uhr
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ß
Bitte warten ..
Mitglied: ITSchlumpf
30.11.2011 um 10:21 Uhr
Hi,
danke für die fixe Antwort.

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?

Gruß
Schlumpf
Bitte warten ..
Mitglied: msr972
30.11.2011 um 11:09 Uhr
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?

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
01.
 $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.
Bitte warten ..
Mitglied: ITSchlumpf
30.11.2011 um 12:44 Uhr
Also die Tabelle hat folgende Spalten:
ID auto_increment, pk, not null
benutzername not null
passwort not null
flag (ob Benutzer berechtigt ist sich einzuloggen)
vorname
name
eingeloggt
admin

Wie gebe ich der checkbox dann die ID vom Benutzernamen?
Einfach in die Schleife der Tabellenerstellung
01.
<input type=checkbox id="$row[benutzername]" name='selected' >
oder geht das anderst?

Gruß
Bitte warten ..
Mitglied: msr972
30.11.2011 um 13:16 Uhr
Jap genau so.. oder alternativ

01.
<input type=checkbox id="$row[ID]" name="selected">
Dann hätte die Checkbox den Wert der jeweiligen ID und Du könntest Dein SQL Update Statement mit dem Schlüssel ID erstellen.
In Deinem Beispiel müsstest Du das SQL Updatestatement auf 'Benutzername' anpassen.
Bitte warten ..
Mitglied: nxclass
30.11.2011 um 13:42 Uhr
... wir reden doch hier von HTML oder ?
01.
<input type="checkbox" name="benutzerId[]" value="<?php echo $row['ID'] ?>" />
ggf noch:
01.
<input type="checkbox" name="benutzerId[]" value="<?php echo $row['ID'] ?>" selected="selected" />
... 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
Bitte warten ..
Mitglied: msr972
30.11.2011 um 13:56 Uhr
Ich habs grade nicht ausprobiert, aber...
wenn ich ein post auf ein Form mache, werden dann nicht nur die selected items übertragen? damit hätte er über ID die Benutzer IDs aus der Table.. Mehr wollte er ja auch nicht.
Kann mich natürlich auch irren.

aber du hast natürlich schon auch recht nx!
Bitte warten ..
Mitglied: ITSchlumpf
30.11.2011 um 14:05 Uhr
Danke für eure Tipps. Das hat mir echt geholfen.
Okay ich merks mir für die Zukunft nx.

Gruß
Schlumpf
Bitte warten ..
Mitglied: ITSchlumpf
30.11.2011 um 14:22 Uhr
Noch ne kurze Frage. Wie kann ich das ganze dann auslesen um es dann in meine SQL-Abfrage einzubauen??

Gruß
Bitte warten ..
Mitglied: nxclass
30.11.2011 um 15:08 Uhr
Das Form sendet mit method="post" ? - dann sollten die Daten in der Super Globalen $_POST sein.
In meinem Beispiel sollte unter $_POST['benutzerId'] ein Array mit den selektierten Benutzer IDs zu finden sein.
Bitte warten ..
Mitglied: ITSchlumpf
30.11.2011 um 15:17 Uhr
Okay danke. Hab grad gesehen, dass er die Daten in den html-Link schreibt. Dann kann ich des über POST oder GET auslesen. Danke,
Bitte warten ..
Mitglied: msr972
30.11.2011 um 15:27 Uhr
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!
Bitte warten ..
Ähnliche Inhalte
Windows Userverwaltung

Tool zur Userverwaltung für den Helpdesk

Frage von lmsa18Windows Userverwaltung3 Kommentare

Guten Tag, ich wurde unserem Helpdesk gerne ein Tool zur Userverwaltung im Active Directory zur Verfügung stellen. Sprich der ...

Windows Userverwaltung

Active Directory Userverwaltung für Webseite

Frage von cMarckWindows Userverwaltung3 Kommentare

Hallo Com, Problemstellung: Win Server 2003 mit über 800 Usereinträgen in einer OU, diese ist die Zugangsberechtigung für eine ...

Microsoft

Suche Software Userverwaltung Abteilungsübergreifend

Frage von lendrodMicrosoft5 Kommentare

Hallo liebe Gemeinde, was ich suche gibt es vielleicht schon nur ich komme vielleicht nicht auf den Namen wie ...

PHP

PHP statements mit PHp erzeugen

gelöst Frage von LorderichPHP4 Kommentare

Hallo zusammen, ich habe eine Datei, in welcher per switch und case die Webseiten definiert werden, welche bei Aufruf ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 13 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 16 StundenAdministrator.de Feedback11 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...