Kleines Script läuft nicht

Hallo allerseits,

ich bin PHP-Anfänger und wollte ein kleines Rätselscript erstellen. Vorlage war mal ein älteres Sendmail-Script, aber es soll kein Email an irgendjemand verschickt werden.

Nach Eingabe des richtigen Lösungsworts „honigkuchen“ soll das Rezept dafür erscheinen. Falls das Lösungswort falsch ist, kommt ein entsprechender Hinweis mit einem Zurückbutton.

Irgendwie kommt bei mir Müll raus, und ich weiß nicht warum.
Könnt ihr bitte mal reinschauen?

Viele Grüße
Sonja

Das ist das Script für das Eingabeformular:

Eingabe Lösungswort
// Variablen anpassen

?>

Wie ist die Lösung?

Hier ist das Abfrage.php:

$leer="War das Absicht? Sie haben ja nichts eingetragen

Bitte gehen Sie zurück und probieren es nochmal!

";
$richtig=„Das Lösungswort ist richtig - hier ist das Rezept. Bitte schön!“

$falsch="Das Lösungswort ist leider nicht richtig,

bitte versuchen Sie es nochmal

";
// Prüfen der Eingaben

if ( $loesung == „“) {
echo „$leer“;
exit;
}

if ( $loesung == „honigkuchen“) {
echo „$richtig“;
exit;
}

if ( $loesung == „Honigkuchen“) {
echo „$richtig“;
exit;
}

if ( $loesung != „honigkuchen“) {
echo „$falsch“;
exit;
}

if ( $loesung != „Honigkuchen“) {
echo „$falsch“;
exit;
}

Hallo,

Irgendwie kommt bei mir Müll raus, und ich weiß nicht warum.

Geht es auch konkreter?

Könnt ihr bitte mal reinschauen?

Kennst du die gute alte Else nicht?

Hallo allerseits,

ich bin PHP-Anfänger und wollte ein kleines Rätselscript
erstellen. Vorlage war mal ein älteres Sendmail-Script, aber
es soll kein Email an irgendjemand verschickt werden.

Das Originalscript war zu alt…
http://www.php-faq.de/q/q-formular-register-globals…

// Prüfen der Eingaben


$loesung = $\_REQUEST["loesung"];


if ( $loesung == "") {

Alexander

lol
Hallo,

Da macht man sich den Aufwand die eingetippte Lösung in Kleinbuchstaben zu konvertieren und schreibt das richtige Lösungswort gross! Das Script wird so natürlich immer nur die Fehlermeldung ausgeben!

$ri_loes = „Honigkuchen“;
$loesung = string strtolower($loesung); /* alles in

$loesung ist also immer kleingeschrieben, aber in ri_loes steht ein Grossbuchstabe!

richtig natuerlich:
$ri_loes = „honigkuchen“;

Alles andere sollte richtig funktionieren!

Gruss, Omar Abo-Namous

Leute. Warum lasst ihr das Mädel im Regen stehen?
Hallo Sonja,
dein Erstlingsscript ist fürn Anfänger schon recht brauchbar, aber du musst noch ne Menge lernen.
Hier eine Version wies einfacher geht.

Rezepte

Passwort eingeben:  

  

if(isset($set_loesung))
{
if($passwd==„Honigkuchen“)
{
echo "

Das Lösungswort ist richtig. Hier das Rezept. Bitte schön!
Ein Rezept für einen Honigkuchen für 40 Personen.

2 kg Salz.

40 £ Mehl.

98 Eigelbse

…";
}
else
{
echo "
";
echo "Das Lösungswort ist leider nicht richtig,
bitte versuchen Sie es nochmal.";
}
}
?>

Gruß

widecrypt

Liebe Leute, die mir geantwortet haben!

Danke vielmals, hat mir schon viel viel weitergeholfen.
Viele Grüße
Sonja

Hallo Omar,

Da macht man sich den Aufwand die eingetippte Lösung in
Kleinbuchstaben zu konvertieren und schreibt das richtige
Lösungswort gross!

Ich wollt nur testen ob hier noch jemand wach ist :wink:)))

Gruss Jan *der in Zukunft die Skripte doch testen wirde, bevor er postet :wink:*

Hallo und danke!

hier ist die neue funktionierende Abfrage.

Wie mache ich es, dass bei der Passworteingabe in diesem Script (bei meinem ursprünglichen wusste ich es wie es geht) die Eingabe „honigkuchen“, „Honigkuchen“ und „HONIGKUCHEN“ richtig sein kann?

Das was Omar geschrieben hat
$ri_loes = „Honigkuchen“;
$loesung = string strtolower($loesung);
geht zwar in die Richtung, denke ich, aber wie ich das richtig anwenden kann, weiß ich nicht.

Viele Grüße
Sonja

if(isset($set_loesung))
{
if($passwd==„honigkuchen“)
{
echo "

Das Lösungswort ist richtig. Hier das Rezept. Bitte schön!
Ein Rezept für einen Honigkuchen für 40 Personen.

2 kg Salz.

40 £ Mehl.

98 Eigelbse

…";
}
if($passwd!=„honigkuchen“)
{
echo "
";
echo "Das Lösungswort ist leider nicht richtig,
bitte versuchen Sie es nochmal.
";
}
}
?>

Wie mache ich es, dass bei der Passworteingabe in diesem
Script (bei meinem ursprünglichen wusste ich es wie es geht)
die Eingabe „honigkuchen“, „Honigkuchen“ und „HONIGKUCHEN“
richtig sein kann?

Das was Omar geschrieben hat
$ri_loes = „Honigkuchen“;
$loesung = string strtolower($loesung);
geht zwar in die Richtung, denke ich, aber wie ich das richtig
anwenden kann, weiß ich nicht.

Viele Grüße
Sonja

Hallo Sonja,

ri_loes muss natürlich auch klein geschrieben sein, denn strtolower wandelt das eingetippte Lösungswort in Kleinbuchstaben um. Wenn sowohl Eingabe als auch Lösungswort klein sind, kannst du vergleichen…

Hoffentlich verständlich?

$ri_loes = „honigkuchen“;
$loesung = strtolower($loesung);

Gruss, Omar Abo-Namous

Wie muss ich es einfügen?
Hallo Omar,

danke für dein Posting, aber ich weiß nicht genau, wohin ich diese Zeile hineinfügen soll.

Bei dem ausgebesserten Script kriege ich folgende Fehlermeldung, wobei ich nicht verstehe warum. Ich habe doch nirgendwo ein ’ in line 6. Passt das Script von der Logik überhaupt - ich habe ja nirgendwo $ri_loe oder $loesung.

Parse error: parse error, unexpected ‚{‘ in /home/www/web15/html/www-bratapfel/honigkuchen1.php on line 6

Wär nett, wenn du nochmal draufguckst. Danke…
Viele Grüße
Sonja

if(isset($set_loesung))
{
if($passwd==„honigkuchen“)
if($passwd=strtolower($passwd)
{
echo "

Das Lösungswort ist richtig. Hier das Rezept. Bitte schön!
Ein Rezept für einen Honigkuchen für 40 Personen.

2 kg Salz.

40 £ Mehl.

98 Eigelbse

…";
}
if($passwd!=„honigkuchen“)
if($passwd=strtolower($passwd)
{
echo "
";
echo "Das Lösungswort ist leider nicht richtig,
bitte versuchen Sie es nochmal.
";
}
}
?>

Hallo Sonja,

ich gehe davon aus, dass set_loesung die eingetippte Lösung ist und passwd die richtige Lösung

# Die richtige Lösung ist fest:
$passwd="honigkuchen"
# Überprüfen, ob ein Lösungswort eingetippt wurde
if(isset($set\_loesung))
 {
 # konvertieren der eingetippten Lösung in Kleinbuchstaben
 $set\_loesung=strtolower($set\_loesung);
 # Vergleich zwischen richtigem Lösungswort und eingetipptem
 if ($passwd==$set\_loesung)
 {
 echo "

Das Lösungswort ist
 richtig. Hier das Rezept. Bitte schön!
Ein Rezept für
 einen Honigkuchen für 40 Personen.


 2 kg Salz.


 40 £ Mehl.


 98 Eigelbse


 ...";
 }
 else
 {
 # Tritt ein, wenn $passwd ungleich $set\_loesung
 echo "
";
 echo "**Das Lösungswort ist leider nicht  
 richtig,  
bitte versuchen Sie es nochmal.  
";  
 }  
 }  
else  
 {  
 # Lösungswort nicht eingetippt  
 echo "  
Sie haben kein Lösungswort eingetippt!   
  
";  
 }  
?\>**  

bitte immer versuchen strukturiert zu programmieren, damit sich irgendwer schnell einarbeiten kann und versuchen Kommentare zu setzen.

Der Fehler kam eigentlich daher, dass du eine Klammer vergessen hattest. Also immer versuchen „die Klammern zu zählen“.

Gruss, Omar Abo-Namous