Ankündigung

Einklappen
Keine Ankündigung bisher.

DHCP Datei ändern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #76
    Achso...jetzt versteh ich die Bedeutung. Danke

    JA das ich da den Namen vom Submit Button ändern muss weiß ich. =)

    Naja momentan siehts so aus.

    PHP-Code:
    if(isset($_POST["submit"]))
     {
      
    // speichern
      
    echo "Daten gespeichert";
      
      }

    Und dann kommt mein ganzer anderer code php+html 
    Muss ich dazu noch eine variable für submit anlegen?

    HAb nur den button einen namen gegebn usw. hat bis jetzt ja auch funktioniert aber für diese funktion brauch ich da noch ne variable für den button?

    Kommentar


    • #77
      Das reicht völlig:

      <input type="submit" name="submit" value="speichern">

      Kommentar


      • #78
        Hmm ja das hab ich auch alles so gemacht... er überschreibt trotzdem immer meine einstellungen der schuft.

        Kommentar


        • #79
          dann zeig halt deinen code

          Kommentar


          • #80
            PHP-Code:
            <?php
             
              
            if(isset($_POST["submit"]))
             {
              
            // speichern
              
            echo "Daten gespeichert";
             }
              
            //Variablen mit Inhalt aus dem Formular füllen.

              
            $subnet $_POST["subnet"];
              
            $start_adress $_POST["start_adress"];
              
            $end_adress $_POST["end_adress"];
              
            $subnetmask $_POST["subnetmask"];
              
            $gateway $_POST["gateway"];
              
            $default_lease_time $_POST["default_lease_time"];
              
            $max_lease_time $_POST["max_lease_time"];
              
            $domain $_POST["domain"];
              
            $primary_dns $_POST["primary_dns"];
              
            $secondary_dns $_POST["secondary_dns"];

              
              
            // DHCPD.CONF in ein array speichern um es später zu bearbeiten zu können 
              
            $array file('/etc/dhcpd.conf');

              
            //Überprüfen ob in den Textfeldern was drinsteht oder nicht. steht nichts darin wird es auskommentiert.

            if(trim($subnet) == "")
                {
              
            $array[6] = "#subnet ".$subnet." netmask ".$subnetmask." {\r\n";
                }
                else
                {
              
            $array[6] = "subnet ".$subnet." netmask ".$subnetmask." {\r\n";
                }
              
                
            ///////////////////////////////////////////  
              
            if(trim($start_adress) == "" || trim($end_adress) == "")
                {
              
            $array[9] = "#range ".$start_adress." ".$end_adress.";\r\n";
                }
                else
                {
              
            $array[9] = "range ".$start_adress." ".$end_adress.";\r\n";
                }
                
                 
            /////////////////////////////////////////// 
              
            if(trim($subnetmask) == "")
                {
              
            $array[12] = "#option subnet-mask ".$subnetmask.";\r\n";
                }
                else
                {
              
            $array[12] = "option subnet-mask ".$subnetmask.";\r\n";
                }
                
                  
            ///////////////////////////////////////////
              
            if(trim($gateway) == "")
                {
              
            $array[24] = "#option routers ".$gateway.";\r\n";
                }
                else
                {
              
            $array[24] = "option routers ".$gateway.";\r\n";
                }
                    
            ///////////////////////////////////////////
                
            if(trim($default_lease_time) == "")
                {
              
            $array[18] = "#default-lease-time ".$default_lease_time.";\r\n";
                }
                else
                {
              
            $array[18] = "default-lease-time ".$default_lease_time.";\r\n";
                }
                
            ///////////////////////////////////////////
                
            if(trim($max_lease_time) == "")
                {
               
            $array[21] = "#max-lease-time ".$max_lease_time.";\r\n";
                }
                else
                {
               
            $array[21] = "max-lease-time ".$max_lease_time.";\r\n";
                }
              
                 
            ///////////////////////////////////////////
                
            if(trim($domain) == "")
                {
              
            $array[15] = "#option domain-name ".$domain.";\r\n";
                }
                else
                {
              
            $array[15] = "option domain-name ".$domain.";\r\n";
                } 
              
                 
            ///////////////////////////////////////////
                
            if(trim($primary_dns) == "" || trim($secondary_dns) == "")
                {
              
            $array[27] = "#option domain-name-servers ".$primary_dns.", ".$secondary_dns.";\r\n";
                }
                else
                {
              
            $array[27] = "option domain-name-servers ".$primary_dns.", ".$secondary_dns.";\r\n";
                } 

              
            // DHCPD.CONF speichern und schließen
              
            file_put_contents('/etc/dhcpd.conf',$array); 

            ?>
            Brauchst du meinen HTML auch?

            Kommentar


            • #81
              An die Stelle wo ich //speichern geschrieben hab sollte auch der Speichervorgang hin... weil genau der ja nur bei abgesendetem Formular ausgeführt werden soll

              Kommentar


              • #82
                Versteh ich das richtig...

                if(isset($_POST["name_des_submitbuttonssubmit
                //hier schreibe ich mein ganzes php gesoxx bis zum speicher hin, weil hier ja entscheiden wird das zu schicken falls was drin steht?

                echo
                "Daten gespeichert";
                }
                // hier kommt das Formular hin (ohne else)
                und hier kommt der Rest meiner Datei hin

                Kommentar


                • #83
                  jo so isses

                  Kommentar


                  • #84
                    Wer darf denn eigntlich das Skript benutzen? Nur jemand, der/die so oder so alles mit der Datei machen dürfte? Wenn nicht, musst Du das noch gegen "unerwünschte" Zeichen absichern, zum Beispiel Zeilenumbrüche.

                    Kommentar


                    • #85
                      Zitat von David Beitrag anzeigen
                      Wer darf denn eigntlich das Skript benutzen? Nur jemand, der/die so oder so alles mit der Datei machen dürfte? Wenn nicht, musst Du das noch gegen "unerwünschte" Zeichen absichern, zum Beispiel Zeilenumbrüche.

                      Das hab ich auch schonmal angesprochen, aber er sagt die die das nutzen wissen was sie tun...

                      Kommentar


                      • #86
                        Das sollen wirklich nur Leute benutzen die sich damit auskennen. Klar können auch die fehler machen aber ich denke die schaffen das.

                        Hmm bräuchte mal wieder einen Rat. Da es ja verschiedene Interfaces gibt sprich mehrere Netzwerkkarten in einem Server/Firewall sind müsst ich das noch mit einbauen das man noch auswählen kann für welche er es schreiben soll. Die oder auch wenn beide oder alle auf dhcp laufen soll muss man sie einmal in der Datei "dhcp" vermerken mit einem einfachen Eintrag und einmal in meiner dhcpd.conf mit den genauen Einträgen wie Adressbereich.

                        Letzteres hab ich ja schon. Ich suche jetzt aber eine schöne anwenderfreundlich Lösung wie ich die Interface auswahl noch mit einbau und wie ich es aktivieren lasse. Hat jemand ideen wie man das verwirklichen kann?

                        Meine Ideen

                        - Für jedes Interface so ein code und Formular bauen.

                        - evtl eine checkbox in welcher man das interface seiner wahl ankreuzen kann und dadurch mit if entschieden wird in welche zeile er was hinschreibt und das er auch noch in die andere Datei schreibt.

                        Jemand ideen?


                        Danke

                        Kommentar


                        • #87
                          Kannst Du die Menge an Parametern, die über das Webinterface änderbar sein sollen, genau eingrenzen?

                          Kommentar


                          • #88
                            Klar kann ich.

                            DHCP

                            - service ein und ausschalten

                            - es muss auswählbar sein welches Interfacemit der Eingabe angesprochen werden soll.

                            - wenn auf statisch umgestellt muss man auch noch ip einstellen können ein formular haben mit welchem man die statische ip zuweisen kann.

                            - Noch gut wäre zum DHCP wenn man noch einstellen könnte das bestiommte Rechner eine feste IP zugewiesen bekommen beim DHCP.

                            Insgesamt muss der php code mit zwei files arbeiten einmal der

                            /etc/default/dhcp -> hier wird reingeschrieben wer dhcp bezieht und wer statisch ( + wenn statisch die ip+subnet usw.)

                            /etc/dhcpd.conf -> hier wird reingeschrieben ob pcs feste ips dynamisch bekommen welches Subnetz welche subnetmask usw.

                            Kommentar


                            • #89
                              Oh, so meinte ich das nicht
                              Mit dhcpd und dhcpd.conf kenne ich mich nicht aus (und will es mir auch nicht angucken)
                              Zitat von Templerschaf Beitrag anzeigen
                              PHP-Code:
                              <?php

                                $subnet 
                              $_POST["subnet"];
                                
                              $start_adress $_POST["start_adress"];
                                
                              $end_adress $_POST["end_adress"];
                                
                              $subnetmask $_POST["subnetmask"];
                                
                              $gateway $_POST["gateway"];
                                
                              $default_lease_time $_POST["default_lease_time"];
                                
                              $max_lease_time $_POST["max_lease_time"];
                                
                              $domain $_POST["domain"];
                                
                              $primary_dns $_POST["primary_dns"];
                                
                              $secondary_dns $_POST["secondary_dns"];


                                
                              $array file('/etc/dhcpd.conf');

                                
                              // 7 deswegen weil Zeile eins als Zeile null gelesen wird
                                
                              $array[7] = "subnet ".$subnet." netmask ".$subnetmask." {";
                                
                              $array[10] = "range ".$start_adress." LEERZEICEHN? ".$end_adress." {";
                                
                              $array[13] = "option subnet-mask ".$subnetmask." {";
                                
                              $array[16] = "option domain-name ".$domain." {";
                                
                              $array[19] = "default-lease-time ".$default_lease_time." {";
                                
                              $array[22] = "max-lease-time ".$max_lease_time." {";
                                
                              $array[25] = "option routers ".$gateway." {";
                               
                              $array[28] = "option domain-name-servers ".$primary_dns."; LEERZEICEHN? ".$secondary_dns." {";
                              file_put_contents('/etc/dhcpd.conf');
                              Deckt das dem Grunde nach alle Deine Bedürfnisse für eine Netzwerkkarte ab?

                              Kommentar


                              • #90
                                Wenn php angeschalten ist und eingetragen ist welche karte das bekommt ja dann ist das was ich da mit Hilfe von anderen zusammengebaut habe schon gut das macht alles was ich brauche. Zumindest steht alles drin.

                                deckt es zu 45 % ab

                                Hab halt nur noch das prob das ich das vorher ner netzwerkkarte zuweisen muss und noch gut wäre wenn ich da noch n formular feld hätte welches feste pcs mit hineinschreibt.

                                Kommentar

                                Lädt...
                                X