Problem mit if-else

Schönen guten Abend!

Ich hab ein Problem, und zwar:
Wie ich vor ein paar Tagen schon in die Jobbörse geschrieben hab, ich will/hab einen Lateinvokabeltrainer.

Soweit bin ich jetzt: http://latein-vokabeltrainer.pytalhost.de/kapitel_02.php
Was heißt Dominus? Es heißt Herr und Hausherr!

Im oberen Feld ist der Code:[php]($_POST[„vokabel_001“] == „Herr“)[/php]
und im unterem: [php]($_POST[„vokabel_002“] == „Hausherr“)[/php]

Bloß wenn ein Besucher es vertauscht, dass im oberem feld Hausherr steht und im unterem Herr; dann ist es zwar richtig, aber doch falsch. was auch logisch ist. weil es heißt ($_POST[„vokabel_001“] == „Herr“) und nicht ($_POST[„vokabel_002“] == „Hausherr“).

Wie schaffe ich es, dass in einem Feld 2 „Lösungen“ richtig sind??
Wenn ich versteht was ich meine…^^

Der Quelltext von kapitel_02.php:
[php]

DURUM RES

Kapitel

Was heißt Dominus?
<?php if ($_POST["vokabel_001"] == "Herr") { ?> Richtig...! <?php } else { ?> Falsch...! <?php } ?> <?php if ($_POST["vokabel_002"] == "Hausherr") { ?> Richtig...! <?php } else { ?> Falsch...! <?php } ?>
[/php]

DANKE!

Versuchs mal damit

[php]if ($_POST[„vokabel_001“] == „Herr“ || $_POST[„vokabel_001“] == „Hausherr“) {
?>
Richtig…!
<?php } else { ?>
Falsch…!
<?php } ?>
<?php if ($_POST["vokabel_002"] == "Herr" || $_POST["vokabel_002"] == "Hausherr") { ?>
Richtig…!
<?php } else { ?>
Falsch…!

<?php if ($_POST["vokabel_001"] == $_POST["vokabel_002"]) { ?>
Nicht schummeln
<?php

[/php]

[PHP]if ($_POST[„vokabel_001“] == „Herr“ XOR $_POST[„vokabel_001“] == „Hausherr“)
{
echo „Richtig!“;
}
else
{
echo „Falsch“;
}

if (($_POST[„vokabel_002“] == „Hausherr“ XOR $_POST[„vokabel_002“] == „Herr“)
AND $_POST[„vokabel_002“] != $_POST[„vokabel_001“])
{
echo „Richtig“;
}
else if ($_POST[„vokabel_002“] == $_POST[„vokabel_001“])
{
echo „Falsch, das steht oben schon“;
}
else
{
echo „Falsch“;
}[/PHP]

EDIT* UpsKarl war schneller

Deins ist aber besser, weil genauer, ich war mal wieder ein bisschen schlampig

geil danke leute!!
arsch geil^^

danke!

Noch etwas:

Kürzer, einfacher und auch für mehr Vokabeln ist eine Methode mittels in_array. Außerdem sollte man die Abfragen alle nicht Case-Sensitiv machen.

== und != ist caesinsensitiv
=== (und ab version 5 !==) ist casesensitiv!!

^^ Greetz Ch3ck3r

Hallo,

leider schreibe ich wieder^^.
Ich hab ein Problem und zwar, ich hab jetzt gesamt 3 Vokabeln im Formular, doch wenn ich dann auf prüfen gehe, zeigt es mir immer Falsch…! an. Warum ich habe es richtig eingegeben
Hier wieder das Formular:
http://www.kevinhartmann.de/kapitel_01.php

Info: basilica heißt: markthalle und/oder gerichtshalle curia heißt: kurie forum heißt: forum und/oder marktplatz

Die datei kapitel_01.php:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>DURUM RES</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h3>Kapitel 1</h3>
<form action="kapitel_01.php" method="post">

<table width="700" border="1">
  <tr>
  Bitte bei der &Uuml;bersetzung <big>alles <b>klein</b> schreiben</big>
  <tr>
  <tr>
    <th>Latein:</th>
    <th>&Uuml;bersetzung:</th>
    <th>Status</th>
  </tr>
  
  <tr>
    <th>basilica?</th>
    <th><input type="text" name="vokabel_001"><br>
        <input type="text" name="vokabel_002"></th>
      </form>
    <th>
      <?php
        if ($_POST["vokabel_001"] == "markthalle" || $_POST["vokabel_001"] == "gerichtshalle") {
        ?>
        Richtig...!
        <?php
        }
        else {
        ?>
        Falsch...!
        <?php
        }
        ?>
        <br>
        <?php
        if ($_POST["vokabel_002"] == "markthalle" || $_POST["vokabel_002"] == "gerichtshalle") {
        ?>
        Richtig...!
        <?php
        }
        else {
        ?>
        Falsch...!
        <?php
        }
        ?>
    </th>
  </tr>
<tr>
    <th>curia?</th>
    <th><input type="text" name="vokabel_003"></th>
        </form>
    <th>
      <?php
        if ($_POST["vokabel_003"] == "kurie") {
        ?>
        Richtig...!
        <?php
        }
        else {
        ?>
        Falsch...!
        <?php
        }
        ?>        
     </th>
  </tr>
 
  <tr>
    <th>forum?</th>
    <th><input type="text" name="vokabel_004"><br>
        <input type="text" name="vokabel_005"></th>
      </form>
    <th>
      <?php
        if ($_POST["vokabel_004"] == "forum" || $_POST["vokabel_004"] == "marktplatz") {
        ?>
        Richtig...!
        <?php
        }
        else {
        ?>
        Falsch...!
        <?php
        }
        ?>
        <br>
        <?php
        if ($_POST["vokabel_005"] == "forum" || $_POST["vokabel_005"] == "marktplatz") {
        ?>
        Richtig...!
        <?php
        }
        else {
        ?>
        Falsch...!
        <?php
        }
        ?>
    </th>
  </tr>
  
</table>
<input type="submit" value="Pr&uuml;fen">
</body>
</html>

Bitte um Hilfe.

MfG
Kevin

Ich greife noch einmal den Vorschlag von Artemis auf:

Mach das mit einem Array und in_array() und/oder array_key_exists(). Mit Ifs und Elseifs wird das unnötig aufgebläht, unübersichtlich und ausserdem machst du dir dann zuviel Arbeit.

Wie mache ich das mit Arrays?
Könntet ihr mir ein Beispiel schicken, wo dann zwei richtige sind?
WO füge ich das dann ein?

Bitte um Hilfe

MfG
Kevin

Ich hab so das leise Gefühl, du hast keine Ahnung von Php!
[PHP]<?php if ($_POST["vokabel_001"] == "markthalle" || $_POST["vokabel_001"] == "gerichtshalle") { ?>
Richtig…!
<?php } else { ?>
Falsch…!
<?php } ?>
[/PHP]
Wie wärs mal mit echo() ?

Mod-Edit: Zweiten Post entfernt - Was bringt das, wenn du ellenlange Beiträge zitierst und das gleiche drunterschreibst wie in diesem Post? Außerdem gibt es die Editier-Funktion.
Zusätzlich möchte ich dich darauf hinweisen, dass ein übermäßiger Gebrauch von Satzzeichen nicht nötig, aber störend ist.
(Artemis)

Tut mir leid, dass ich es nicht mit ECHO mache, in meinem Buch steht es auch ohne ECHO drinne (PHP UND MYSQL FÜR KIDS)!


Kevin

ähhh, was machen da die vielen php-tags??

Nils aka XraYSoLo

Das stimmt schon so, nur ist es uebersichtlicher, wenn du alles mit echo verarbeitest. So machst du dir nur muehe.

Ok, werde mal gucken.
Danke


kevin

Also, meine kapitel_01.php sieht jetzt so aus:

[CODE]

DURUM RES

Kapitel 1

Bitte bei der Übersetzung alles klein schreiben
Latein: Übersetzung: Status
basilica?
<?php if ($_POST["vokabel_001"] == "markthalle" || $_POST["vokabel_001"] == "gerichtshalle") { echo "Richtig...!"; } else { echo "Falsch...!"; } ?>
<?php if ($_POST["vokabel_002"] == "markthalle" || $_POST["vokabel_002"] == "gerichtshalle") { echo "Richtig...!"; } else { echo "Falsch...!"; } ?>
curia? <?php if ($_POST["vokabel_003"] == "kurie") { echo "Richtig...!"; } else { echo "Falsch...!"; } ?>
forum?
<?php if ($_POST["vokabel_004"] == "forum" || $_POST["vokabel_004"] == "marktplatz") { echo "Richtig...!"; } else { echo "Falsch...!"; } ?>
<?php if ($_POST["vokabel_005"] == "forum" || $_POST["vokabel_005"] == "marktplatz") { echo "Richtig...!"; } else { echo "Falsch...!"; } ?>
[/CODE]

Aber es klappt immer noch nicht;
Ich hab jetzt gesamt 3 Vokabeln im Formular, doch wenn ich dann auf prüfen gehe, zeigt es mir immer Falsch…! an. Warum, ich habe es richtig eingegeben.?
Hier wieder das Formular:
http://www.kevinhartmann.de/kapitel_01.php

Info:
basilica heißt: markthalle und/oder gerichtshalle
curia heißt: kurie
forum heißt: forum und/oder marktplatz

Bitte um Hilfe.


Kevin

Also bei mir nicht … dumm gefragt, tippst Du im Formular markthalle oder markthalle ein?

Gruß,
Jumper, the II.

[QUOTE=JumperII]
Also bei mir nicht … dumm gefragt, tippst Du im Formular markthalle oder markthalle ein?
[/QUOTE]

Also ich nehme markthalle ;ugl

[QUOTE=JumperII]
Also bei mir nicht … dumm gefragt, tippst Du im Formular markthalle oder markthalle ein?

Gruß,
Jumper, the II.
[/QUOTE]

wo ist da der unterschied? =)

aber wenn du kurie oder forum eintippst, dann geht es nicht, dann zeigt es falsch an!


Kevin

Dann Schau dir mal an, wo du überall das Formular () zumachst grien

Gruß,
Jumper, the II.