ElmhornBoy Geschrieben 17. August 2009 Geschrieben 17. August 2009 (bearbeitet) 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> Bearbeitet 17. August 2009 von ElmhornBoy Zitieren
flashpixx Geschrieben 17. August 2009 Geschrieben 17. August 2009 Dein Code ist extrem unübersichtlich, darum kann ich auch direkt keinen Fehler finden. Du solltest Warnings nicht mit @ unterdrücken, sondern in diesem Fall besser mit isset prüfen. Deine gesamten If-Else Strukturen kann man mittels Switch-Case verkürzen und die Klammer sind bei einer Anweisung nicht notwendig. Strukturiere Deinen Code besser, dann solltest Du auch den Fehler finden Zitieren
ElmhornBoy Geschrieben 17. August 2009 Autor Geschrieben 17. August 2009 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. Zitieren
flashpixx Geschrieben 17. August 2009 Geschrieben 17. August 2009 Warum postest Du hier irgendwelche Richtlinien? Dein ist definitiv unstrukturiert und auch semantisch fehlerhaft: //unsere Ausfüllvariable mit einem Wahrheitswert $verschicken = false; echo $strasse; 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; } [/PHP] Die Variable "$verschicken" benutzt einmal global und einmal lokal. Es gilt immer lokal vor global, d.h. Deine Zuweisung innerhalb des returns hat nur lokale Beständigkeit. Mach Dich über das Scoping einmal schlau. Was liefert Deine Funktion zurück, wenn ich innerhalb einer If-Bedingung bin, d.h. ein echo ausführe. Die Funktion liefert per Definition nichts zurück, das dann "null" ist, null wird als false interpretiert. Du solltest aber Deinen Funktionen schon einen definierten Rückgabewert geben. Denn wenn nach dem Aufruf Deiner Funktion jemand mit if (funktion() == false) oder == null prüft macht das einen Unterschied. Außerdem ist die Parameterliste, die die Funktion erhält nicht klar. Woher weißt Du, ob in $string1 keine Zahl o.ä. drin steht. Du prüfst nach Deiner Namensgebung mit "if($string7 >= 1993) " einen Variable die String heißt, aber einen numerischen Typ enthält, würdest Du korrekt nach String prüfen, wäre ein "$string >= "1993" angebracht, aber ein >= Vergleich bei Strings wird etwas schwierig. Zitieren
ElmhornBoy Geschrieben 17. August 2009 Autor Geschrieben 17. August 2009 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 Zitieren
T3D Geschrieben 18. August 2009 Geschrieben 18. August 2009 Ich frage mich, ob ich die Klammern unbedingt weglassen muss, denn sie helfen. Nein musst du nicht, ich schreibe sie uebersichtshalber auch. zumal ich sie dann nich extra setzten muss falls ich das "dann" erweitern muss. @phil: es is zwar richtig was du schreibst - allerdings war die formatierung vorher auch nicht falsch. er koennte allerdings das leerzeichen zwischen else und dem if weglassen if(empty($string1)) { echo 'Der Flatcast Benutzername fehlt<br>'; } elseif($string2 == "Bitte waehlen") { echo 'Bewerbung als ist nicht ausgefüllt<br>'; } elseif(empty($string3)) { echo 'Der Vorname ist nicht ausgefüllt<br>'; } ... [/PHP] Ted Zitieren
flashpixx Geschrieben 18. August 2009 Geschrieben 18. August 2009 @phil: es is zwar richtig was du schreibst - allerdings war die formatierung vorher auch nicht falsch. Die Einrückung hilft um einen verständlichen Code zu erhalten, zusätzlich möchte ich anmerken, dass man nicht mehr als 3 If-Else-Bedingungen schachteln sollte, andernfalls stimmt etwas im Design nicht. Es gibt etliche Varianten solche Prüfungen eleganter umzusetzen Zitieren
T3D Geschrieben 18. August 2009 Geschrieben 18. August 2009 Die Einrückung hilft um einen verständlichen Code zu erhalten Jain, denn wenn ich if(...) { } elseif(...) { } else { } [/PHP] sowas habe, find ich es leichter zu lesen wenn die sachen in einer "linie" beginnen - aber ich denke das is gewohnheit zusätzlich möchte ich anmerken, dass man nicht mehr als 3 If-Else-Bedingungen schachteln sollte, andernfalls stimmt etwas im Design nicht. Es gibt etliche Varianten solche Prüfungen eleganter umzusetzen hab ich nich bestritten und wuerde ich auch nicht bestreiten @ElmhornBoy was mir grad noch aufgefallen ist, [PHP]if($string7 >= 1993) was is denn wenn ich am 1.1.93-17.8.93 geboren bin? da bin ich doch schon 16. die logik solltest du noch einmal ueberdenken Ted Zitieren
ElmhornBoy Geschrieben 22. August 2009 Autor Geschrieben 22. August 2009 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. Zitieren
T3D Geschrieben 22. August 2009 Geschrieben 22. August 2009 Ein Kleiner-Gleich müsste sich dort als Operator befinden. auch nicht wirklich gehen wir von 2 personen aus... eine hatte gestern die andere hat morgen geburtstag. d.h. eine is schon 18 und die andere nicht, allerdings haben beide das gleiche jahr. du koenntest einfach die 3 daten zusammensetzen $geb = $jahr.'-'.$monat.'-'.$tag; /* achte darauf das monat & tag immer 2 stellig sind da du nen string vergleich vorhast */ if($geb < date('Y-m-d') ) { print 'du bist zu jung'; } [/PHP] Ted Zitieren
flashpixx Geschrieben 22. August 2009 Geschrieben 22. August 2009 Ich würde einen numerischen Vergleich via Unixtimestamp vorschlagen, der von der aktuellen Zeit einfach 18 Jahre zurück rechnet Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.