Zum Inhalt springen

ElmhornBoy

Mitglieder
  • Gesamte Inhalte

    6
  • Benutzer seit

  • Letzter Besuch

  1. Hallo Ted, den Hinweis mit den maximal 3 Verschachtelungen nehme ich dankend an. Das Glück bei mir liegt am nicht ändernden Design. Die Logik müsste jedem auffallen, außer man ist müde, sie ist falsch. Ein Kleiner-Gleich müsste sich dort als Operator befinden. Darüber lacht man herzlich und macht es besser.
  2. Aha, das semantische meinst du. Ich frage mich, ob ich die Klammern unbedingt weglassen muss, denn sie helfen. Oha, das Scoping bedachte ich nicht. Ein simples Return würde es auch tun. Danke
  3. Der Code ist strukturiert. Ich weiß, ich könnte mehr die Kodierungsrichtlinien einhalten. Der Fehler ist gefunden. Die Switch Case folgt demnächst. Richtlinien zur Kodierung und Kommentierung von Programmcode 1. Kodierung 1.1 Namensgebung Funktions- Variablennamen sollten weitestgehend selbsterklärend sein. Eine zu allgemeine Namenswahl ist zu vermeiden. Beispiel: $az ist nicht selbsterklärend, $anzahl ist zu allgemein. Besser ist $AnzahlZeichen. Bei Indizes oder Zählvariablen sind die Buchstaben i, j, k, ... zulässig, solange sie aus dem Kontext eindeutig verständlich sind. Die verwendete Sprache muss durchgehend verwendet werden (entweder alles deutsch, oder durchgehend englisch). 1.2 Einrückung Zum Einrücken wird eine Tabulatorweite von 2 verwendet. Beispiel: if ($i != $j) { $j = 10; } 1.3 Effizienz Eine Steigerung der Effizienz durch Verschachtelung mehrerer Befehle in einer Zeile ist nicht zulässig. Dazu müsste die genaue Übersetzung des Compilers bekannt sein. Dafür erschwert sich die Lesbarkeit um ein Vielfaches. â€Premature optimization is the root of all evil†(Donald E. Knuth) 1.4 Groß- und Kleinschreibung Funktionen werden durchgehend kleingeschrieben. Setzt sich der Funktionsname aus mehreren Bestandteilen zusammen, wird der Unterstrich zur Trennung verwendet. Beispiel: function primzahl_pruefung () Variablen beginnen mit einem Großbuchstaben. Sind Variablennamen aus mehreren Teilen zusammengesetzt, beginnt jeder Teil mit einem Großbuchstaben. Beispiel: $AnzahlZeichen. Werden Variablen als Konstante benutzt, wird der Name komplett großgeschrieben. Als Trennzeichen dient hier der Unterstrich. Beispiel: $DB_NAME. 1.5 Leerzeichen Leerzeichen sollten zur besseren Lesbarkeit eingesetzt werden. Beispiel: $a = $b * ($c + $d % 3); 1.6 Klammerung Öffnende {-Klammern stehen in einer neuen Zeile alleine, direkt unter der zugehörigen Kontrollstruktur. Schliessende }-Klammern stehen ebenfalls in einer eigenen Zeile auf gleicher Höhe wie die öffnende Klammer. Bedingte Anweisungsblöcke, die nur aus einer Anweisung bestehen, müssen in geschweifte Klammern gesetzt werden. 1.7 Schleifenabbruch Ein Abbruch einer Schleife innerhalb des Schleifenrumpfes (Multi-Exit- Schleife) ist nicht zulässig. 2. Kommentierung 2.1 Datei-Kommentar Jede Datei hat einen Kommentarkopf mit den Inhalten: /******************************************************** * Dateiname: beispiel.php * Autor: Max Muster * * Version: 0.1 * letzte Aenderung: 01.10.2007 * * Inhalt: Beipiel für die Kommentierung * * Verwendete Funktionen (aus anderen Dateien): * primzahltest () * * Definierte Funktionen: * beispiel_funktion () * * globale Variablen: ********************************************************/ 2.2 Funktionen-Kommentar Jede Funktion hat einen Kommentarkopf mit den Inhalten: /******************************************************** * Funktion: primzahltest * Beschreibung: Prueft, ob eine Zahl Primzahl ist * * Verwendete Funktionen (selbst definierte): * kleinere_zahl * * Parameter: * zu pruefende Zahl (ganzzahlig) * * Rückgabewert: * boolean (true, wenn Zahl Primzahl ist) ********************************************************/ 2.3 Algorithmen Komplexe Algorithmen sollten kurz kommentiert werden, insbesondere die entscheidenden Stellen der Implementation. Hierbei muss man sich weitgehend auf Intuition verlassen, da nicht offensichtlich ist, welche Stellen der Implementierung für den Betrachter kompliziert erscheinen. 2.4 Sonstiges Ansonsten sind Kommentare an jeder Stelle einzufügen, die für andere Entwickler nicht offensichtlich verständlich sind. 2.5 Platzierung der Kommentare Kommentare im Quelltext, solange sie kurz sind, erfolgen mit // in der selben Zeile. Sind längere Kommentare erforderlich, können sie durch mehrfaches // oder mit /* */ vor der kommentierten Stelle erstellt werden.
  4. Das folgende Script wurde in PHP geschrieben, aber immer teilt die Funktion mit die Straße fehlt. Was ist da falsch, wenn die Straßenvariable wenigstens im PHP ankommt? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript"> function eingaben_ueberpruefen(){ if (document.Form.eingabe.value.length != 5){ alert("Bitte geben Sie den Code ein!"); document.Form.eingabe.focus(); return false; } else return true; } function RND(){ Zufall = Math.round(Math.random()*11+1); document.Form.code.value=Zufall; return Zufall; } </script> <title> Radio Summer Energie - Bewerbung </title> <meta http-equiv="Content-type" content="text/html;charset=iso-8859-1"> </head> <body onLoad="document.Form.eingabe.focus();" style="background-color:#82808B;"> Du möchtest ins Radio Summer Energie Team?<br> Dann bewerbe dich hier!<br> Bitte registriere dich vor deiner Bewerbung bei uns! >>><a href="" title="" target="">Hier gehts zur Registrierung</a><<< <br><br> Im Moment suchen Wir: <ul type="circle"> <li>Stamm-Moderator/in</li> <li>Gast-Moderator/in</li> </ul> <ul type="circle"> <li>Du solltest mindestens 16 Jahre alt sein!</li> <li>Alle Angaben werden streng vertraulich gehandhabt und nicht an Dritte weitergegeben!</li> <li>Alle Felder mit * sind Pflichtangaben!</li> </ul> <br><br> <?php //Bewerbungsformular Einträge $flatcastusername = @$_POST['flatcastusername']; $bewerbungals = @$_POST['bewerbungals']; $nachname = @$_POST['nachname']; $vorname = @$_POST['vorname']; $geburttag = @$_POST['geburttag']; $geburtsmonat = @$_POST['geburtsmonat']; $geburtsjahr = @$_POST['geburtsjahr']; $strasse = @$_POST['strasse']; $staatplzort = @$_POST['staatplzort']; $telefon = @$_POST['telefon']; $handy = @$_POST['handy']; $email = @$_POST['email']; $msn = @$_POST['msn']; $skype = @$_POST['skype']; $aim = @$_POST['aim']; $homepage = @$_POST['homepage']; $beruf = @$_POST['beruf']; $geschlecht = @$_POST['geschlecht']; $erfahrung = @$_POST['erfahrung']; $erfahrungsmessage = @$_POST['erfahrungsmessage']; $musikarchiv = @$_POST['musikarchiv']; $internetverbindung = @$_POST['internetverbindung']; $musikstil = @$_POST['musikstil']; $sendezeit = @$_POST['sendezeit']; $streamsoftware = @$_POST['streamsoftware']; $warum = @$_POST['warum']; $mitteilung = @$_POST['mitteilung']; //unsere Ausfüllvariable mit einem Wahrheitswert $verschicken = false; echo $strasse; //Die Funktion prüft alles und teilt mit, wo Eingaben fehlen. Fehlt nichts gibt sie true zurück function fehlerfinden($string1,$string2,$string3,$string4,$string5,$string6,$string7) { if(empty($string1)) { echo 'Der Flatcast Benutzername fehlt<br>'; } else if($string2 == "Bitte waehlen") { echo 'Bewerbung als ist nicht ausgefüllt<br>'; } else if(empty($string3)) { echo 'Der Vorname ist nicht ausgefüllt<br>'; } else if(empty($string4)) { echo 'Der Vorname fehlt!<br>'; } else if(!is_numeric($string5)) { echo 'Der Tag beim Geburtsdatum fehlt!<br>'; } else if(!is_numeric($string6)) { echo 'Der Monat im Geburtsdatum fehlt!<br>'; } else if(!is_numeric($string7)) { echo 'Das Geburtsjahr im Geburtsdatum fehlt!<br>'; } else if($string7 >= 1993) { echo 'Sie sind nicht 16!!!!<br>'; } else { return $verschicken = true; } } //zweite fehlerfinden2() function fehlerfinden2($string1,$string2,$string3) { echo $string1; if(empty($string1)) { echo 'Die Straße fehlt!<br>'; } else if(empty($string2)) { echo 'Der Staat, die PLZ und der Ort fehlt!<br>'; } else if(empty($string3) || !is_numeric($string3)) { echo 'Die Telefonnummer fehlt!<br>'; } else { return $verschicken = true; } } //verschicken gibt die daten in die Funktion $verschicken = fehlerfinden($flatcastusername,$bewerbungals,$nachname,$vorname,$geburttag,$geburtsmonat,$geburtsjahr); $verschicken = fehlerfinden2($strasse,$staatplzort,$telefon); // Spam-Schutz $eingabe = @$_POST["eingabe"]; $eingabe = strtolower($eingabe); $code = @$_POST["code"]; if(@$_POST["eingabe"] !=""){ $chluessel[1] = "dsnxn"; $chluessel[2] = "tepsh"; $chluessel[3] = "5fwnb"; $chluessel[4] = "fs7ha"; $chluessel[5] = "5ress"; $chluessel[6] = "ywyyw"; $chluessel[7] = "lcvr7"; $chluessel[8] = "gskaw"; $chluessel[9] = "u7twn"; $chluessel[10] = "4x8uw"; $chluessel[11] = "wtwem"; $chluessel[12] = "ehewh"; // Weitere Schlüssel ab hier eingeben! // Überprüfung if ($chluessel[$code] == $eingabe) { echo '<font color="blue">Die Eingabe war richtig.</font>'; } else { echo '<font color="red">Die Eingabe war falsch!</font>'; } } ?> <form name="Form" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" onSubmit="return eingaben_ueberpruefen(this.form)"> <table> <tr> <td> DJ/DJane Nickname (bei Flatcast registriert)* </td> <td> <input type="text" name="flatcastusername"> </td> </tr> <tr> <td>Bewerbung als:* </td> <td> <select size="1" name="bewerbungals"> <option>Bitte waehlen</option> <option>Stamm-Moderator/in</option> <option>Gast-Moderator/in</option> <option>Design</option> <option>Technik</option> </select> </td> </tr> <tr> <td> Name:* </td> <td> <input type="text" name="nachname"> </td> </tr> <tr> <td> Vorname:* </td> <td> <input type="text" name="vorname"> </td> </tr> <tr> <td> Geburtstag: TT/MM/JJJJ* </td> <td> <select size="1" name="geburttag"> <option>TT</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> <option>11</option> <option>12</option> <option>13</option> <option>14</option> <option>15</option> <option>16</option> <option>17</option> <option>18</option> <option>19</option> <option>20</option> <option>21</option> <option>22</option> <option>23</option> <option>24</option> <option>25</option> <option>26</option> <option>27</option> <option>28</option> <option>29</option> <option>30</option> <option>31</option> </select> <select size="1" name="geburtsmonat"> <option>MM</option <option>01</option> <option>02</option> <option>03</option> <option>04</option> <option>05</option> <option>06</option> <option>07</option> <option>08</option> <option>09</option> <option>10</option> <option>11</option> <option>12</option> </select> <select size="1" name="geburtsjahr"> <option>JJJJ</option> <option>1901</option> <option>1902</option> <option>1903</option> <option>1904</option> <option>1905</option> <option>1906</option> <option>1907</option> <option>1908</option> <option>1909</option> <option>1910</option> <option>1911</option> <option>1912</option> <option>1913</option> <option>1914</option> <option>1915</option> <option>1916</option> <option>1917</option> <option>1918</option> <option>1919</option> <option>1920</option> <option>1921</option> <option>1922</option> <option>1923</option> <option>1924</option> <option>1925</option> <option>1926</option> <option>1927</option> <option>1928</option> <option>1929</option> <option>1930</option> <option>1931</option> <option>1932</option> <option>1933</option> <option>1934</option> <option>1935</option> <option>1936</option> <option>1937</option> <option>1938</option> <option>1939</option> <option>1940</option> <option>1941</option> <option>1942</option> <option>1943</option> <option>1944</option> <option>1945</option> <option>1946</option> <option>1947</option> <option>1948</option> <option>1949</option> <option>1950</option> <option>1951</option> <option>1952</option> <option>1953</option> <option>1954</option> <option>1955</option> <option>1956</option> <option>1957</option> <option>1958</option> <option>1959</option> <option>1960</option> <option>1961</option> <option>1962</option> <option>1963</option> <option>1964</option> <option>1965</option> <option>1966</option> <option>1967</option> <option>1968</option> <option>1969</option> <option>1970</option> <option>1971</option> <option>1972</option> <option>1973</option> <option>1974</option> <option>1975</option> <option>1976</option> <option>1977</option> <option>1978</option> <option>1979</option> <option>1980</option> <option>1981</option> <option>1982</option> <option>1983</option> <option>1984</option> <option>1985</option> <option>1986</option> <option>1987</option> <option>1988</option> <option>1989</option> <option>1990</option> <option>1991</option> <option>1992</option> <option>1993</option> <option>1994</option> <option>1995</option> <option>1996</option> <option>1997</option> <option>1998</option> <option>1999</option> <option>2000</option> <option>2001</option> <option>2002</option> <option>2003</option> <option>2004</option> <option>2005</option> <option>2006</option> <option>2007</option> <option>2008</option> <option>2009</option> </select> </td> </tr> <tr> <td> Straße: (z.B. Musterstraße 1) </td> <td> <input type="text" name="strasse"> </td> </tr> <tr> <td> Staat,PLZ,Ort: </td> <td> <input type="text" name="staatplzort"> </td> </tr> <tr> <td> Telefon:* </td> <td> <input type="text" name="telefon"> </td> </tr> <tr> <td> Handy:* </td> <td> <input type="text" name="handy"> </td> </tr> <tr> <td> e-Mail:* </td> <td> <input type="text" name="email"> </td> </tr> <tr> <td> ICQ: </td> <td> <input type="text" name="icq"> </td> </tr> <tr> <td> MSN: </td> <td> <input type="text" name="msn"> </td> </tr> <tr> <td> Skype: </td> <td> <input type="text" name="skype"> </td> </tr> <tr> <td> AIM: </td> <td> <input type="text" name="aim"> </td> </tr> <tr> <td> Homepage: </td> <td> <input type="text" name="homepage"> </td> </tr> <tr> <td> Beruf:* </td> <td> <select size="1" name="beruf"> <option>Bitte wählen</option> <option>Schüler</option> <option>Student</option> <option>Azubi</option> <option>Berufstätig</option> <option>Arbeitslos</option> </select> </td> </tr> <tr> <td> Geschlecht: </td> <td> <select size="1" name="geschlecht"> <option>Bitte wählen</option> <option>weiblich</option> <option>männlich</option> </select> </td> </tr> <tr> <td> Hast du Webradioerfahrung?* </td> <td> <br> <select size="1" name="erfahrung"> <option>Bitte wählen</option> <option>Ja</option> <option>Nein</option> </select> </td> </tr> <tr> <td> Falls ja, wo gemacht?:"*" </td> <td> <textarea "10" rows="5" name="erfahrungsmessage"></textarea> </td> </tr> <tr> <td> Musikarchiv:* </td> <td> <input type="text" name="musikarchiv"> </td> </tr> <tr> <td> Internetverbindung:* </td> <td> <select size="1" name="internetverbindung"> <option>Bitte wählen</option> <option>Modem</option> <option>ISDN</option> <option>ISDN 128</option> <option>DSL</option> <option>DSL 2000</option> <option>DSL 6000</option> <option>DSL 10000</option> <option>DSL 12000</option> <option>DSL 16000</option> <option>DSL 20000</option> </select> </td> </tr> <tr> <td> Was für Musik möchtest du spielen?:* </td> <td> <select size="1" name="musikstil"> <option>Bitte wählen</option> <option>Rock n Roll</option> <option>Pop</option> <option>Dance</option> <option>Elektro</option> <option>Trance</option> <option>Schlager</option> <option>Punk</option> <option>Rap</option> <option>Hip Hop</option> <option>Reggae</option> <option>Techno</option> <option>Blues</option> <option>Soul</option> <option>Trip Hop</option> <option>Samba</option> <option>Salsa</option> <option>Tango</option> <option>Ska</option> <option>Klassik</option> <option>R&B</option> <option>Jazz</option> <option>Acid</option> <option>Retro</option> <option>Folklore</option> <option>Polka</option> <option>House</option> <option>Groove</option> <option>Swing</option> <option>Oldies</option> <option>Metal</option> <option>Gothic</option> <option>Alternative</option> <option>Fusion</option> <option>Goa</option> </select> </td> </tr> <tr> <td> Mögliche Sendezeit:* </td> <td> <select multiple size="8" name="sendezeit"> <option>0 - 6 Uhr</option> <option>6 - 9 Uhr</option> <option>9 - 12 Uhr</option> <option>12 - 14 Uhr</option> <option>14 - 16 Uhr</option> <option>18 - 20 Uhr</option> <option>20 - 22 Uhr</option> <option>22 - 0 Uhr</option> </select> </td> </tr> <tr> <td> Streamsoftware: </td> <td> <select size="1" name="streamsoftware"> <option>Bitte wählen</option> <option>Winamp</option> <option>Sam</option> <option>BPM Studio</option> <option>Virtual DJ</option> <option>Radio & DJ mit Winamp</option> <option>Mixmeister</option> <option>Sonstiges</option> </select> </td> </tr> <tr> <td> Warum bei uns?:* </td> <td> <textarea "10" rows="5" name="warum"></textarea> </td> </tr> <tr> <td valign="top"> Sonstige Mitteilungen:* </td> <td> <textarea "10" rows="5" name="mitteilung"></textarea> </td> </tr> <tr> <td>Wiederholen Sie<br>folgenden Code<br><small>(Dies verhindert SPAM)</small> </td> <td> <input type=hidden name="code"> <script type="text/javascript">document.write('<img src="'+RND()+'A.gif" width=210 height=50>');</script> </td> </tr> <tr> <td> </td> <td><input type=text name="eingabe" style="text-transform: uppercase;"> </td> <tr> <th colspan=2> <br> <input type=submit> <input type=reset> </th> </tr> </table> </form> </body> </html>
  5. Doch natürlich geht das. Windows-Freigaben müssen unter openSuSe mit mount -t cifs -o username=Windows-User,password=User-Passwort //IP/Freigabename /Mountverzeichnis Das SMB-Protokoll wird im Kernel nicht mehr verwendet, weil es Schwierigkeiten mit dem SMB-Protokoll gab. Dafür verwendet man jetzt cifs. Viele Windows-Versionen unterstützen das Protokoll. Darum wurde Samba an cifs Protokoll angepasst. Einfach als rcsmbfs start das cifs ins OS laden. Dann geht auch das Mounten per cifs. Samba funktioniert wie gewohnt ohne Einschränkungen. openSuSe 11.1 Distribution ist der Beweis, welche bei mir zu einer Backup-Lösung eingesetzt wird.
  6. Ich schwanke noch zwischen Linux und Windows. Primär sollen Images für Komplettsysteme (Betriebssystem mit Hardware-Treibern) gesichert werden auf einem Backup-Server. Das ertse Backup umfasst alle Daten. Danach werden nur die Änderungen geprüft. Ich meine damit ein Image wurde gelöscht, so wird es auch auf dem Backup-Server entfernt oder haben sich Dateigrößen verändert. Der Traffic danach beträgt bei 160 Arbeitsstunden pro Monat runtergerechnet auf eine Sekunde 273KByte, weil pro Monat maximal 15 Images für ein neues Produkt erstellt werden. Die Images liegen auf 2 Linux-Servern und einem Windows-Server und genau diese Dateien sollen abgesichert werden.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...