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

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

Mit freundlichen Grüßen
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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft Office
gelöst ACCESS Prüfen ob IP Adresse in IP Range vorhanden (6)

Frage von thomas1972 zum Thema Microsoft Office ...

Windows Server
AD Replikation zwischen untergeordneten Domäne zwingend? (1)

Frage von Gien-app zum Thema Windows Server ...

Windows Server
AD DC Failover zeitintensiv und DHCP repliziert nicht (2)

Frage von JiggyLee zum Thema Windows Server ...

Visual Studio
gelöst Remotedienst prüfen mit Visual Basic (1)

Frage von flyingmichael zum Thema Visual Studio ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

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

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...