Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Entwicklung PHP

Mitglied: ITSchlumpf

ITSchlumpf (Level 1) - Jetzt verbinden

30.11.2011, aktualisiert 12.12.2011, 3105 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...