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

Eingabeformular Eintrag prüfen ob im AD vorhanden

Mitglied: Bayano

Bayano (Level 1) - Jetzt verbinden

03.05.2007, aktualisiert 15.06.2007, 4538 Aufrufe, 1 Kommentar

Hallo,

ich habe Folgende Frage:
Ich hab ein Eingabeformular mit HTML/PHP erstellt. In diesem Formular muss dann der Benutzer einen Namen und eine wunsch E-Mail eingeben, daneben ist ein Button auf dessen Klick überprüft werden soll ob der Name und die Mail im Active Directory schon existieren. Danach soll ein Popup oder etwas ähnliches(Meldung) kommen ob Name und Mail schon existieren oder nicht. das Formular soll aber mit allen einträgen so bleiben und nicht neu gelade werden, das die schon eingegebenen Daten weg sind.

01.
<html> 
02.
  <head> 
03.
    <title> Title 
04.
    </title> 
05.
  </head> 
06.
  <Body> 
07.
    <form name="Formular" action="mail_senden.php" method="post"> 
08.
      <table> 
09.
        <tr> 
10.
          Anmeldename:</td> 
11.
          <td> 
12.
            E-Mail:</td> 
13.
        </tr> 
14.
        <tr> 
15.
          <td> 
16.
            <input type="varchar" size="28" maxlength="40" name="Anmeldename" ></td> 
17.
          <td> 
18.
            <input type="varchar" size="28" maxlength="40" name="EMail" ></td> 
19.
        </tr> 
20.
      </table> 
21.
      <input type="button" name="ueberpruefen" value="Überprüfen" ></td> 
22.
      <input type="submit" name="Senden" value="Senden"></td> 
23.
      <input type="reset" value="Löschen"></td>  
24.
  </Body> 
25.
</Html>
Kann mir jemand helfen? Mit PHP kenne ich mich noch nicht so aus.

MFG
Sascha
Mitglied: Bayano
15.06.2007 um 08:43 Uhr
Ich hab jetzt erst einmal eine Lösung, das ich erst einmal prüfe ob die Felder gefüllt sind, das Formular wird solange wiederholt bis alle Felder gefüllt sind. Jetz möchte ich wenn alle felder gefüllt sind an eine neue Seite weiterleiten. hier ist mein Problem, ich weiss nicht wie ich das anstellen soll. Zusätzlich weiss ich noch nicht wie ich die Feldeingabe mit dem AD abgleiche und prüfe ob der Eintrag schon vorhanden ist.

Mein Quellcode:
01.
 
02.
<?php 
03.
                  // Base DN bezeichnet die oberste OU unter der die User zu finden sind.  
04.
                  $basedn = "CN=Users,DC=domain,DC=loc"; 
05.
                  $server = "server.domain.loc"; 
06.
                  // da der Zugriff auch ohne Anmeldung möglich sein soll, hab ich einen extra User im AD angelegt, um mich mit dem Server zu verbinden. 
07.
                  $username_ein = $_POST["TUsern"]; 
08.
                  $password = $_POST["TPasswd"]; 
09.
                  $username =  stripslashes($username_ein); 
10.
                  $ldap_port = "389"; 
11.
                  // LDAP Abfrage  
12.
                  // ich hab einen erweiterten Filter genommen, da ich nicht nur die User des AD haben wollte, sondern auch Kontakteinträge. 
13.
                  //$filter = "(&(objectClass=user)(objectCategory=person)(cn=*))"; 
14.
                  //$filter = "(&(|(objectClass=user)(objectClass=contact))(objectCategory=person)(cn=*))"; 
15.
                  $filter = "(&(|(objectClass=user))(objectCategory=person)(cn=*))"; 
16.
    ?>  
17.
<?php 
18.
                  // Verbindung zum AD herstellen 
19.
                  $connectid = @ldap_connect($server)or die("Keine Verbindung zum LDAP server möglich."); 
20.
    ?>  
21.
<?php 
22.
                  // Ihr könnt dies auch nutzen, um z.B. Usernamen und Passwort z.B. fürs Intranet zu verifizieren. 
23.
                  $binding = @ldap_bind($connectid,$username,$password) or die("Fehler beim Anmelden des Benutzers."); 
24.
    ?>  
25.
<?php 
26.
                  // AD auslesen 
27.
                  $search = @ldap_search($connectid,$basedn,$filter); 
28.
                  $result = ldap_get_entries($connectid,$search); 
29.
    ?> 
30.
<?php 
31.
//------------------------------------------------------------------------------ 
32.
?> 
33.
<?php 
34.
    $exist_mail = "0"; 
35.
    // Wenn auf 'Eintragen' geklickt wurde, prüfe das Formular 
36.
    if(isset($_POST['submit']) AND $_POST['submit']=='Eintragen'){ 
37.
        // Fehlerarray erzeugen 
38.
        $errors = array(); 
39.
         // Prüfen, ob alle Felder existieren 
40.
         if(!isset($_POST['Email'])) 
41.
             $errors[] = "Bitte benutzen sie unser Formular."; 
42.
         else{ 
43.
                 // Prüfen, ob Name und Email nicht leer sind 
44.
                 if(trim($_POST['Dienststelle'])=='') 
45.
                     $errors[] = "Bitte geben Sie ihre Dienstselle ein."; 
46.
                 if(trim($_POST['TelefonnummerM'])=='') 
47.
                     $errors[] = "Bitte geben Sie ihre Telefonnummer ein."; 
48.
                 if(trim($_POST['Datum'])=='') 
49.
                     $errors[] = "Bitte geben Sie das Umstellungsdatum ein."; 
50.
                 if(trim($_POST['Rufname'])=='') 
51.
                     $errors[] = "Bitte geben Sie den Rufnamen ein."; 
52.
                 if(trim($_POST['Vorname'])=='') 
53.
                     $errors[] = "Bitte geben Sie den Vornamen ein."; 
54.
                 if(trim($_POST['Nachname'])=='') 
55.
                     $errors[] = "Bitte geben Sie den Nachnamen ein."; 
56.
                 if(trim($_POST['Email'])=='') 
57.
                     $errors[] = "Bitte geben Sie ihre Email-Adresse ein."; 
58.
                 if(trim($_POST['Anmeldename'])=='') 
59.
                     $errors[] = "Bitte geben Sie den gewünschten Anmeldenamen ein."; 
60.
                 if(trim($_POST['PCNr'])=='') 
61.
                     $errors[] = "Bitte geben Sie die gewünschte PC Nr ein."; 
62.
                 if(trim($_POST['Telefon'])=='') 
63.
                     $errors[] = "Bitte geben Sie die gewünschte Telefonnummer ein."; 
64.
                 if(trim($_POST['Pfad'])=='') 
65.
                     $errors[] = "Bitte geben Sie den gewünschten UNC-Pfad ein."; 
66.
                /* 
67.
                $anzahl = ldap_count_entries($connectid,$search); 
68.
                $arrMail = array(); 
69.
                for ($i=0; $i<$anzahl; $i++) { 
70.
                      $mail = $result[$i]["cn"][0]; 
71.
                      array_push( $arrMail,$mail ); 
72.
73.
                asort($arrMail); 
74.
                foreach($arrMail As $aMail){ 
75.
                  if($_POST['Email']==$aMail)  
76.
                  $exist_mail = "1"; 
77.
78.
                if($exist_mail == '1') 
79.
                $errors[] = "Die gewählte Mailadresse existiert schon."; 
80.
                */ 
81.
82.
83.
    // Wenn das Formular geprüft wurde und kein Fehler gefunden wurde verarbeite die Daten 
84.
    if(isset($errors) AND !count($errors)){ 
85.
    // z.B. Speichern in einer Datenbank oder Textdatei... 
86.
         echo "Vielen Dank!<br>\n". 
87.
              "Ihre Informationen wurden erfolgreich weitergeleitet."; 
88.
89.
    // Beim ersten Aufruf oder beim Finden eines Fehlers wird das Formular angezeigt 
90.
    else { 
91.
        // Wurde bei der Formularprüfung ein Fehler gefunden wird er über dem Formular ausgegeben 
92.
         if(isset($errors)){ 
93.
             echo "Sorry, Ihre Daten konnten noch nicht weitergeleitet werden, weil sie noch nicht komplett sind.<br>\n". 
94.
                       "<br>\n"; 
95.
             foreach($errors as $error) 
96.
                 echo $error."<br>\n"; 
97.
             echo "<hr>\n"; 
98.
99.
?> 
100.
 
101.
 
102.
<!-- 
103.
//-------------------------------------------------------------------------------------------------------------- 
104.
// Hier fängt die Internetseite an 
105.
//-------------------------------------------------------------------------------------------------------------- 
106.
--> 
107.
<title> Benutzer anlegen 
108.
</title> 
109.
<font size="+5"> 
110.
  <font color="#29528c"> 
111.
    <b> 
112.
      <div align="center"> ADV-Koordination 
113.
      </div></b> 
114.
  </font> 
115.
</font> 
116.
<font size="+2"> 
117.
  <font color="#29528c"> 
118.
<?php  
119.
      echo '<b>'; 
120.
      echo "Hallo "; 
121.
      echo substr($username, 7); 
122.
      echo '<br>'; 
123.
      echo "Bitte gib hier die gewünschten Informationen ein."; 
124.
      echo '</b>'; 
125.
      echo '<input type="hidden" name="Vusername" value='.$username.'>'; 
126.
?>     
127.
 </font> 
128.
</font> 
129.
<form action="<? echo $_SERVER['PHP_SELF']; ?> " method="post" accept-charset="ISO-8859-1"> 
130.
  <table> 
131.
   <tr> 
132.
      <td> Dienststelle:</td> 
133.
      <td> 
134.
<?php 
135.
    // Stellt den Namen wieder her, wenn ein Fehler auftrat 
136.
    if(isset($_POST['Dienststelle'])) 
137.
        // htmlentities sichert das Formular gegen Cross-Scripting 
138.
        echo "<input type=\"text\" name=\"Dienststelle\" value=\"".htmlentities($_POST['Dienststelle'], ENT_QUOTES)."\">\n"; 
139.
    else 
140.
        echo "<input type=\"text\" name=\"Dienststelle\">\n"; 
141.
        ?></td> 
142.
    </tr> 
143.
    <tr> 
144.
      <td> Telefonnummer:</td> 
145.
      <td> 
146.
<?php 
147.
    // Stellt den Namen wieder her, wenn ein Fehler auftrat 
148.
    if(isset($_POST['TelefonnummerM'])) 
149.
        // htmlentities sichert das Formular gegen Cross-Scripting 
150.
        echo "<input type=\"text\" name=\"TelefonnummerM\" value=\"".htmlentities($_POST['TelefonnummerM'], ENT_QUOTES)."\">\n"; 
151.
    else 
152.
        echo "<input type=\"text\" name=\"TelefonnummerM\">\n"; 
153.
        ?></td> 
154.
    </tr>  
155.
    <tr> 
156.
      <td> Umstellungsdatum:</td> 
157.
      <td> 
158.
<?php 
159.
    // Stellt den Namen wieder her, wenn ein Fehler auftrat 
160.
    if(isset($_POST['Datum'])) 
161.
        // htmlentities sichert das Formular gegen Cross-Scripting 
162.
        echo "<input type=\"text\" name=\"Datum\" value=\"".htmlentities($_POST['Datum'], ENT_QUOTES)."\">\n"; 
163.
    else 
164.
        echo "<input type=\"text\" name=\"Datum\">\n"; 
165.
        ?></td> 
166.
    </tr> 
167.
    <tr> 
168.
      <td> Rufname:</td> 
169.
      <td> 
170.
<?php 
171.
    // Stellt den Namen wieder her, wenn ein Fehler auftrat 
172.
    if(isset($_POST['Rufname'])) 
173.
        // htmlentities sichert das Formular gegen Cross-Scripting 
174.
        echo "<input type=\"text\" name=\"Rufname\" value=\"".htmlentities($_POST['Rufname'], ENT_QUOTES)."\">\n"; 
175.
    else 
176.
        echo "<input type=\"text\" name=\"Rufname\">\n"; 
177.
        ?></td> 
178.
    </tr> 
179.
    <tr> 
180.
      <td> Vorname:</td> 
181.
      <td> 
182.
<?php 
183.
    // Stellt den Namen wieder her, wenn ein Fehler auftrat 
184.
    if(isset($_POST['Vorname'])) 
185.
        // htmlentities sichert das Formular gegen Cross-Scripting 
186.
        echo "<input type=\"text\" name=\"Vorname\" value=\"".htmlentities($_POST['Vorname'], ENT_QUOTES)."\">\n"; 
187.
    else 
188.
        echo "<input type=\"text\" name=\"Vorname\">\n"; 
189.
        ?></td> 
190.
    </tr> 
191.
    <tr> 
192.
      <td> Nachname:</td> 
193.
      <td> 
194.
<?php 
195.
    // Stellt den Namen wieder her, wenn ein Fehler auftrat 
196.
    if(isset($_POST['Nachname'])) 
197.
        // htmlentities sichert das Formular gegen Cross-Scripting 
198.
        echo "<input type=\"text\" name=\"Nachname\" value=\"".htmlentities($_POST['Nachname'], ENT_QUOTES)."\">\n"; 
199.
    else 
200.
        echo "<input type=\"text\" name=\"Nachname\">\n"; 
201.
        ?></td> 
202.
    </tr> 
203.
    <tr> 
204.
      <td> Email-Adresse:</td> 
205.
      <td> 
206.
<?php 
207.
    // Stellt die Email-Adresse wieder her, wenn ein Fehler auftrat 
208.
    if(isset($_POST['Email'])) 
209.
        echo "<input type=\"text\" name=\"Email\" value=\"".htmlentities($_POST['Email'], ENT_QUOTES)."\">\n"; 
210.
    else 
211.
        echo "<input type=\"text\" name=\"Email\">\n"; 
212.
        ?></td> 
213.
    </tr>  
214.
    <tr> 
215.
      <td> Anmeldename:</td> 
216.
      <td> 
217.
<?php 
218.
    // Stellt den Namen wieder her, wenn ein Fehler auftrat 
219.
    if(isset($_POST['Anmeldename'])) 
220.
        // htmlentities sichert das Formular gegen Cross-Scripting 
221.
        echo "<input type=\"text\" name=\"Anmeldename\" value=\"".htmlentities($_POST['Anmeldename'], ENT_QUOTES)."\">\n"; 
222.
    else 
223.
        echo "<input type=\"text\" name=\"Anmeldename\">\n"; 
224.
        ?></td> 
225.
    </tr> 
226.
    <tr> 
227.
      <td> PC-Nr:</td> 
228.
      <td> 
229.
<?php 
230.
    // Stellt den Namen wieder her, wenn ein Fehler auftrat 
231.
    if(isset($_POST['PCNr'])) 
232.
        // htmlentities sichert das Formular gegen Cross-Scripting 
233.
        echo "<input type=\"text\" name=\"PCNr\" value=\"".htmlentities($_POST['PCNr'], ENT_QUOTES)."\">\n"; 
234.
    else 
235.
        echo "<input type=\"text\" name=\"PCNr\">\n"; 
236.
        ?></td> 
237.
    </tr> 
238.
    <tr> 
239.
      <td> Telefonnummer:</td> 
240.
      <td> 
241.
<?php 
242.
    // Stellt den Namen wieder her, wenn ein Fehler auftrat 
243.
    if(isset($_POST['Telefon'])) 
244.
        // htmlentities sichert das Formular gegen Cross-Scripting 
245.
        echo "<input type=\"text\" name=\"Telefon\" value=\"".htmlentities($_POST['Telefon'], ENT_QUOTES)."\">\n"; 
246.
    else 
247.
        echo "<input type=\"text\" name=\"Telefon\">\n"; 
248.
        ?></td> 
249.
    </tr> 
250.
    <tr> 
251.
      <td> Pfad:</td> 
252.
      <td> 
253.
<?php 
254.
    // Stellt den Namen wieder her, wenn ein Fehler auftrat 
255.
    if(isset($_POST['Pfad'])) 
256.
        // htmlentities sichert das Formular gegen Cross-Scripting 
257.
        echo "<input type=\"file\" name=\"Pfad\" value=\"".htmlentities($_POST['Pfad'], ENT_QUOTES)."\">\n"; 
258.
    else 
259.
        echo "<input type=\"file\" name=\"Pfad\">\n"; 
260.
        ?></td> 
261.
    </tr> 
262.
  </table> 
263.
  <input type="submit" name="submit" value="Eintragen"> 
264.
</form> 
265.
<?php 
266.
267.
?>
Vielleicht weiss ja von euch einer wie ich das lösen kann.
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Prüfen ob string im Tabellenblatt vorhanden
gelöst Frage von thomas1972Microsoft Office3 Kommentare

Hallo, ich lasse mit einem Script Teile eines Tabellenblattes suchen/ersetzen) Nur kommt es vor, dass gewisse Zeichen nicht vorhanden ...

Batch & Shell
Powershell - Datei prüfen ob vorhanden, dann löschen
gelöst Frage von BuggerBatch & Shell9 Kommentare

Hallo, ich habe glaube ich eine einfache Frage. Folgenden Code ausschnitt habe ich: Wenn ich jetzt bei jedem $var ...

Windows Server
Angeblich nicht vorhandener DNS Eintrag kann nicht angelegt werden
Frage von AlternativendeWindows Server11 Kommentare

Hallo zusammen, ich installiere gerade einen neuen 2008er Server in einer vorhandenen Domäne (alter DC mit 03) und habe ...

Microsoft Office
Prüfe ob datei vorhanden, falls nicht prüfe weiter....stopp nach 10 min
gelöst Frage von thomas1972Microsoft Office2 Kommentare

Hallo, ich möchte per VBA in Excel prüfen lassen, ob eine Datei X im Verzeichnis Y vorhanden ist Diese ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

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 3 TagenTipps & 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 3 TagenSicherheit12 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 3 TagenSicherheit12 Kommentare

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

Heiß diskutierte Inhalte
Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...