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

Frage Entwicklung PHP

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, 4882 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
MYSQL und PHP Login Script
gelöst Frage von GoldencreeperPHP17 Kommentare

Hallo liebe Administrator Community. Ich habe Arbeite grade an einer Status Seite für einen Hoster. Die Seite ist auch ...

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 ...

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
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 44 MinutenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 18 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 19 StundenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 20 StundenSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1031 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
gelöst Frage von Windows10GegnerNetzwerkgrundlagen21 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...