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 Login Script Formular soll sich bei falschem Kennwort die Anmeldedaten merken

Mitglied: gechger

gechger (Level 1) - Jetzt verbinden

29.06.2009, aktualisiert 18:24 Uhr, 4899 Aufrufe, 6 Kommentare

Ein vorhandenes Login Script möchte ich etwas verfeinern, weiss aber nicht wie

Hallo Forum,

zur Zeit arbeite ich an einer kleinen Anwendung. Ein Administrator soll für diese Anwendung Benutzer anlegen dürfen. Ich verwende dieses Script:

[EDIT: Script gelöscht, war das falsche Script. Unten steht das Richtige]

Wenn beim Anlegen des Benutzers die Passwörter nicht übereinstimmen, verschwinden im Formular die eingegebenen Daten Name, Vorname und Nickname. Ich möchte aber gerne, daß diese eingegebenen Daten erhalten bleiben, so daß der Administrator diese nicht noch einmal einpflegen muß. Nur die Kennwörter sollen neu eingegeben werden.

Wie kann ich dasmöglichst einfach realisieren?

Jede Idee hilft weiter.

Schöne Grüße
Christof
Mitglied: Cubic83
29.06.2009 um 18:04 Uhr
Hallo,

warum geht denn ein

01.
 
02.
<input type="username" value="<?=$_SESSION['user'];?>">  
03.
 
in deinem Formular nicht. wäre vielleicht interessant die Datei mit dem Formular zu sehen.
Bitte warten ..
Mitglied: gechger
29.06.2009 um 18:23 Uhr
Hallo Cubic,

viel schlimmer, ich habe die falsche Datei gepostet. Die oben beschriebene Datei checkt ja nur die Anmeldedaten gegen die Datenbank ab. Um neue User hinzu zu fügen verwende ich dieses Script:

01.
<?session_start();?> 
02.
 
03.
<!ENTITY % HTML.Version "-//W3C//DTD HTML 4.01 Frameset//EN" 
04.
  -- Typical usage: 
05.
 
06.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
07.
            "http://www.w3.org/TR/html4/frameset.dtd"
08.
 
09.
<html> 
10.
<head> 
11.
<title>MobilZeit WebTool - User anlegen</title> 
12.
<style type="text/css"
13.
.block {margin-left:8cm; margin-right:8cm} 
14.
 
15.
</style> 
16.
 
17.
</head> 
18.
<body  bgcolor="#E9E9E9"
19.
<font face="Verdana, Arial, Tahoma, Sans Serif" font size="+1" font color = "#595959"
20.
 
21.
<table height="50"  width="996"
22.
<tr > 
23.
<td align="center" width="13.5%"
24.
</td> 
25.
<td align="left" width="86.5%"
26.
<img src="grafik/webtool.jpg" alt="" border="0" width="840" height="110"
27.
</td> 
28.
</tr> 
29.
</table> 
30.
 
31.
<table width="996"
32.
<tr width="996"
33.
<td width="135"></td> 
34.
 
35.
<td><a href="index.php"
36.
<img src="buttons/start.jpg" alt="" border="1" style="border-collapse: collapse;" style="empty-cells: collapse;" style="border-style: outset;"  width="120" height="40" ></a></td> 
37.
<td><a href="erfassen.php"
38.
<img src="buttons/daten erfassen.jpg" alt="" border="1" style="border-collapse: collapse;" style="empty-cells: collapse;" style="border-style: outset;"  width="120" height="40"></a></td> 
39.
<td><a href="aendern.php"
40.
<img src="buttons/daten aendern.jpg" alt="" border="1" style="border-collapse: collapse;" style="empty-cells: collapse;" style="border-style: outset;"  width="120" height="40"></a></td> 
41.
<td><a href="anlegen.php"
42.
<img src="buttons/daten anlegen.jpg" alt="" border="1" style="border-collapse: collapse;" style="empty-cells: collapse;" style="border-style: outset;"  width="120" height="40"></a></td> 
43.
<td><a href="holen.php"
44.
<img src="buttons/daten holen.jpg" alt="" border="1" style="border-collapse: collapse;" style="empty-cells: collapse;" style="border-style: outset;"  width="120" height="40"></a></td> 
45.
<td><a href="drucken.php"
46.
<img src="buttons/daten drucken.jpg" alt="" border="1" style="border-collapse: collapse;" style="empty-cells: collapse;" style="border-style: outset;"  width="120" height="40"></a></td> 
47.
 
48.
<td></td> 
49.
</tr> 
50.
</table> 
51.
<p class="block"
52.
 
53.
Geben Sie die Daten Ihrer Mitarbeiter ein. Benötigt werden der Vorname und Nachname, ein Benutzer-Anmeldename, der nicht identisch mit Vor- oder Nachnamen sein sollte, und ein Kennwort, mit dem sich Ihr Mitarbeiter anmelden kann. 
54.
<br> 
55.
<br> 
56.
 
57.
 
58.
<table> 
59.
<form action="anlegen.php" method="post"
60.
    <tr> 
61.
         <td width="150">Name </td> 
62.
         <td width="175" ><input name="name" size = "20"  ></td> 
63.
    </tr> 
64.
    <tr> 
65.
         <td width="150">Vorname </td> 
66.
         <td width="175" ><input name="vorname" size = "20" ></td> 
67.
    </tr> 
68.
    <tr> 
69.
         <td width="150">Benutzername </td> 
70.
         <td width="175" ><input name="benutzer" size = "20"  ></td> 
71.
    </tr> 
72.
    <tr> 
73.
         <td width="150">Kennwort</td> 
74.
         <td width="175"><input  type ="password" name="pwd" size="8" ></td> 
75.
    </tr> 
76.
    <tr> 
77.
         <td width="150">Kennwort wiederholen</td> 
78.
         <td width="175"><input  type ="password" name="pwd2" size="8" ></td> 
79.
    </tr> 
80.
    <tr> 
81.
         <td width="150" ><input type="submit" value="Benutzer anlegen"></td> 
82.
         <td width="175"><input type="reset" value="Abbrechen"></td> 
83.
    </tr> 
84.
</table> 
85.
<? 
86.
 
87.
$name=$_POST["name"]; 
88.
$vorname=$_POST["vorname"]; 
89.
$nick=$_POST["benutzer"]; 
90.
$pwd=$_POST["pwd"]; 
91.
$pwd2=$_POST["pwd2"]; 
92.
 
93.
$sepwd=md5($pwd);//md5 Hash aus Passwort 
94.
$senick=md5($nick);//md5 Hash aus Kennwort 
95.
$secontrol=md5("123456");//Saltwert für das Kennwort 
96.
$sesum=$sepwd.$secontrol.$senick; //Kombination der Hashwerte 
97.
 
98.
if ( !empty($pwd) && ($pwd == $pwd2)) { 
99.
 
100.
         //Zugang zur Datenbank herstellen 
101.
         $cldb = mysql_connect($_SESSION['host'], $_SESSION['dbuser'], $_SESSION['passwort']); // or die(mysql_error()); 
102.
         mysql_select_db($_SESSION['db']); 
103.
         $sql2 = ("SELECT * FROM ".$_SESSION['tab']." where nick = '$nick' "); 
104.
         $query=mysql_Query ($sql2); 
105.
         @$check= mysql_fetch_array($query); 
106.
 
107.
         $key=$check[3]; 
108.
         $nick2=$check[4]; 
109.
 
110.
if (!empty($check)){ 
111.
	echo "Benutzername existiert bereits!"
112.
113.
else
114.
         $sql="INSERT INTO ".$_SESSION['tab']." (name, vorname, pwd, nick) VALUES ('$name', '$vorname', '$sesum', '$nick')"
115.
         mysql_query($sql); 
116.
         echo "Hallo der Mitarbeiter '$vorname' '$name' wurde erfolgreich mit Anmeldename '$nick' angelegt "
117.
 
118.
119.
120.
if (!empty($pwd) && ($pwd != $pwd2)){ 
121.
 
122.
echo "Die Passwörter stimmen nicht überein!"
123.
124.
echo mysql_error(); 
125.
@mysql_close(); 
126.
unset($key); 
127.
?> 
128.
</p> 
129.
</font> 
130.
</body> 
131.
</style> 
132.
</html> 
133.
<!ENTITY % HTML.Frameset "INCLUDE"
134.
<!ENTITY % HTML4.dtd PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
135.
 
Wenn die Benutzerdaten angelegt werden, habe ich in einer $_Session Variablen nur die Daten des Administrators, der den neuen User anlegen will. Im Formular werden die Daten dann angelegt und bei Fehlern im Kennwort die eingegebenen Werte gelöscht. In meinem Beispiel hatte ich auch schon mit value Werten experimentiert.

Wenn dies zutrifft:
}
if (!empty($pwd) && ($pwd != $pwd2)){

echo "Die Passwörter stimmen nicht überein!";
}

sollen die eingegebenen Daten im Formular erhalten bleiben.
Schöne Grüße
Christof
Bitte warten ..
Mitglied: Cubic83
29.06.2009 um 18:48 Uhr
Also mir fallen da 2 Sachen ein.

1) Wie bereits angedeutet:

01.
 
02.
<input name="benutzer" size = "20"  value="<?=$_POST['benutzer'];?>"> 
03.
 
2) Überprüfung mittels Javascript beim Abschicken überprüfen.

01.
 
02.
<form onsubmit='mySubmit();' (.....) > 
03.
 
04.
 
05.
</form> 
06.
 
07.
<script language="javascript"> 
08.
 
09.
function mySubmit() { 
10.
   return (Document.Forms[0].pwd.text == Document.Forms[0].pwd2.text) 
11.
12.
 
13.
</script> 
14.
 
Achtung: Ich bin schon etwas aus der Materie raus, deswegen keine Syntaxgarantie! Ich denke das Prinzip dürfte aber klar sein. Wenn die Funktion mySubmit true zurückgibt wird das Formular abgeschickt; bei false nicht.



BTW: Du hast kein </form> Tag.

mfG
Bitte warten ..
Mitglied: gechger
30.06.2009 um 21:01 Uhr
Hi Cubic,

Java kommt nicht in Frage, da das Webtool auch funktionieren muß, wenn Java deaktiviert ist. Das Value funktioniert auch nicht, weil ich dann die Anmeldedaten des Administrators hätte, und nicht die Daten, die angelegt werden sollen.

Ich überlege nun, ob ich bei fehlerhafter Eingabe des Passwortes mittels header: eine neue Seite aufrufe und die $_POST Werte des Formulars dahin übergebe. Aber header: funktioniert ja nur, wenn vorher keine echo Ausgaben erfolgt sind.

Stimmt, habe das form tag vergessen
Das kann aber doch nicht das Problem sein, oder??????

Danke für Deine Ideen
Schöne Grüße
Christof
Bitte warten ..
Mitglied: Cubic83
30.06.2009 um 21:07 Uhr
dann eben ohne Javascript

Wieso soll beim $_POST die Angaben des Admins drin stehen. Das usernamefeld selbst heisst ja "benutzer". $_POST['benutzer'] entspricht also dem Inhalt des Feldes beim Reload. Vorrausgesetzt die gleiche Datei wird beim absenden aufgerufen.
Bitte warten ..
Mitglied: gechger
02.07.2009 um 15:10 Uhr
stimmt, Du hast Recht.

<input name="name" size = "20" value= "<?=$_POST["name"]?>" > So behält das Script die Daten. Ich hatte einen Fehler drin, weil ich $_SESSION["name"] verwendet hatte. Dann bekomme ich natürlich die Administrator Daten angezeigt.

Vielen Dank

Schöne GRüße
Christof
Bitte warten ..
Ähnliche Inhalte
PHP
PHP Problem mit Formular
gelöst Frage von vServerPHP6 Kommentare

Hallo, ich habe ein Formular jedoch ein Problem das später nicht alle Felder weitergegeben werden? und hier hab ich ...

Windows Server
Falsche Login-Daten überwachen
gelöst Frage von hesperWindows Server2 Kommentare

Hallo zusammen! Ich hab hier ein kleines Problem. AD läuft auf Windows Server 2012 R2. User in der Außenstelle ...

Batch & Shell
Per script kennwort setzen?
Frage von LinuxguruBatch & Shell3 Kommentare

Hi allerseits! Ich möchte zu gegebenem Zeitpunkt via script das Kennwort des Benutzers "gast" via script verändern. Geht das ...

Windows Server

Login Kennwort für eine ganze Gruppe ändern

gelöst Frage von Hendrik2586Windows Server14 Kommentare

Guten Tag an alle. :) Ich will die Kennwörter bestimmter Gruppen (der darin enthaltenen User) im AD zurücksetzen. Leider ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 19 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 TagHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++24 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless22 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL18 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...