Hallo,
ich bin dabei PHP zu lernen und bin im Moment bei den Verzweigungen, also den If – Anweisungen. Am meisten lerne ich wenn ich mir selber Aufgaben stelle und an einer verzweifel ich gerade.
Folgendes hatte ich mir vorgenommen:
Ich gebe über die Formularfunktion 3 Zahlen ein. PHP soll 3 Zufallszahlen erzeugen und diese Zufallszahlen mit den eingegeben Zahlen vergleichen. Dann soll ein Text ausgegeben werden ob die Zahl richtig getippt wurde oder verkehrt. Zum Schluß soll angezeigt werden wieviel Zahlen insgesamt richtig getippt wurden.
Das Problem ist, dass immer ausgegeben wird, dass die Zahlen richtig getippt wurden obwohl sie nicht richtig getippt sind.
Hier ist der PHP Code:
<form method="post" action="index.php">
<input type="text" name="getipptezahl1" class="zahlen"/>
<input type="text" name="getipptezahl2" class="zahlen"/>
<input type="text" name="getipptezahl3" class="zahlen"/><br />
<input type="submit" />
</form>
<p>
<?php
$getipptezahl1 = filter_input(INPUT_POST, 'getipptezahl1', FILTER_SANITIZE_NUMBER_INT);
$getipptezahl2 = filter_input(INPUT_POST, 'getipptezahl2', FILTER_SANITIZE_NUMBER_INT);
$getipptezahl3 = filter_input(INPUT_POST, 'getipptezahl3', FILTER_SANITIZE_NUMBER_INT);
echo "Die getippten Zahlen sind:<br />
<b>$getipptezahl1</b> <b>$getipptezahl2</b> <b>$getipptezahl3</b><br />";
$zufallszahl1 = rand(1, 10);
$zufallszahl2 = rand(1, 10);
$zufallszahl3 = rand(1, 10);
echo "Die Zufallszahlen sind:<br />
<b>$zufallszahl1</b> <b>$zufallszahl2</b> <b>$zufallszahl3</b><br />";
$ergebnis = 0;
if($getipptezahl1 == $zufallszahl1 || $zufallszahl2 || $zufallszahl3) {
$ergebnis++;
echo "Die erste Zahl ist richtig<br />";
} else {
echo "Die erste Zahl ist falsch<br />";
}
if($getipptezahl2 == $zufallszahl1 || $zufallszahl2 || $zufallszahl3) {
$ergebnis++;
echo "Die zweite Zahl ist richtig<br />";
} else {
echo "Die zweite Zahl ist falsch<br />";
}
if($getipptezahl3 == $zufallszahl1 || $zufallszahl2 || $zufallszahl3) {
$ergebnis++;
echo "Die dritte Zahl ist richtig<br />";
} else {
echo "Die dritte Zahl ist falsch<br />";
}
echo "Es sind <b>$ergebnis</b> Zahlen richtig";
?>
</p>
Vielleicht ist jemand so nett und erklärt mir meinen Fehler.
Danke für’s Lesen