Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Eingabeformular Eintrag prüfen ob im AD vorhanden

Frage Entwicklung PHP

Mitglied: Bayano

Bayano (Level 1) - Jetzt verbinden

03.05.2007, aktualisiert 15.06.2007, 4528 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
Windows Tools
gelöst Nicht mehr vorhandene Computer aus der AD entfernen (6)

Frage von M.Marz zum Thema Windows Tools ...

Batch & Shell
gelöst Powershell - Datei prüfen ob vorhanden, dann löschen (9)

Frage von Bugger zum Thema Batch & Shell ...

Microsoft Office
Excelsheet gesperrt durch nicht mehr vorhandenen AD-User (5)

Frage von Dopamin85 zum Thema Microsoft Office ...

Windows 10
gelöst Auf Softwareupdates prüfen (4)

Frage von honeybee zum Thema Windows 10 ...

Neue Wissensbeiträge
Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Sicherheit

Eventuell neue Lücke in Intels ME

Information von sabines zum Thema Sicherheit ...

Heiß diskutierte Inhalte
Humor (lol)
Freidach Beitrag (35)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Windows 7
SSD - Win7 Lags (19)

Frage von ph5555 zum Thema Windows 7 ...