Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (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 von ElmhornBoy
Geschrieben

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

Geschrieben

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.

Geschrieben

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.

Geschrieben

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 :)

Geschrieben
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

Geschrieben

@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

Geschrieben
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 :P

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

Geschrieben

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. :D

Geschrieben
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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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