W
WeihnachtsmannSek
Guest
Hallo,
habe vor kurzem angefangen php mit hilfe von Büchern zu erlernen.
Daher bin ich noch nicht so weit und mir passieren natürlich die döofsten Fehler. Als bitte nicht so hart mit mir sein
Ich habe hier einen Auszug aus einem php-Skript mit dem ich teste anwelcher Position sich ein Buchstabe befindet und ob er überhaupt vorhanden ist. Ihr kennt ja alle Galgenmännchen noch aus der Schule. Es soll genauso funktionieren. Beim ersten Aufruf wir ein Wort eingegeben. Das Skript erkennt mit Hilfe strlen() die Länge des Wortes und gibt dann dementsprechend viele " _ "(Unterstriche) aus. Nun wird muss man immer einen Buchstaben eingeben der dann mit Hilfe von strpos() im Wort gesucht wird. Nund kommt das knifflige, den Buchstaben auch an der richtigen Position für den User auszugeben und falls der Buchstaben nicht im Wort ist eine "wachsenden" Hangman-Grafik auszugeben.
Um den Buchstaben an der richtigen Stelle auszugeben benutze ich ein for-Schleife in der Wiederrum ziemlich viele if Abfragen vorhanden sind. Soweit so gut funktioniert das Skript bis auf die Tatsache das nach der zweiten Buchstaben eingabe auch nur noch die Richtigen Buchstaben ausgegeben werden und nicht die " _ "(Unterstriche). Ich habe gesucht und gesucht und finde den Fehler nicht. Vielleicht könnt Ihr mir ja helfen.
Vielen Dank schon mal im vorraus.
P.S.: $pos = Position und $bs = Buchstabe
habe vor kurzem angefangen php mit hilfe von Büchern zu erlernen.
Daher bin ich noch nicht so weit und mir passieren natürlich die döofsten Fehler. Als bitte nicht so hart mit mir sein
Ich habe hier einen Auszug aus einem php-Skript mit dem ich teste anwelcher Position sich ein Buchstabe befindet und ob er überhaupt vorhanden ist. Ihr kennt ja alle Galgenmännchen noch aus der Schule. Es soll genauso funktionieren. Beim ersten Aufruf wir ein Wort eingegeben. Das Skript erkennt mit Hilfe strlen() die Länge des Wortes und gibt dann dementsprechend viele " _ "(Unterstriche) aus. Nun wird muss man immer einen Buchstaben eingeben der dann mit Hilfe von strpos() im Wort gesucht wird. Nund kommt das knifflige, den Buchstaben auch an der richtigen Position für den User auszugeben und falls der Buchstaben nicht im Wort ist eine "wachsenden" Hangman-Grafik auszugeben.
Um den Buchstaben an der richtigen Stelle auszugeben benutze ich ein for-Schleife in der Wiederrum ziemlich viele if Abfragen vorhanden sind. Soweit so gut funktioniert das Skript bis auf die Tatsache das nach der zweiten Buchstaben eingabe auch nur noch die Richtigen Buchstaben ausgegeben werden und nicht die " _ "(Unterstriche). Ich habe gesucht und gesucht und finde den Fehler nicht. Vielleicht könnt Ihr mir ja helfen.
Vielen Dank schon mal im vorraus.
P.S.: $pos = Position und $bs = Buchstabe
PHP:
<?php
$fehler = 0;
$bilder = array("","<img src='Bilder/Galgen_1.jpg'>","<img src='Bilder/Galgen_2.jpg'>","<img src='Bilder/Galgen_3.jpg'>","<img src='Bilder/Galgen_4.jpg'>","<img src='Bilder/Galgen_5.jpg'>","<img src='Bilder/Galgen_6.jpg'>","<img src='Bilder/Galgen_7.jpg'>","<img src='Bilder/Galgen_7.jpg'>");
/*----------------------------------------------------------- 3.Buchstabe eingeben --------------------------------------------------------------------------------------------------------------------------------*/
if(isset($_POST["bs2"])) {
$bs1 = $_POST["bs1"];
$pos1 = $_POST["pos1"];
$fehler = $_POST["fehler"];
$bs2 = $_POST["bs2"];
$wort = $_POST["wort"];
if(strpos($wort, $bs2)) {
$pos2 = strpos($wort, $bs2);
echo "$pos2<br />";
}
else {
$fehler++;
}
$laenge = strlen($wort);
echo "$laenge";
echo "<table height='100%' width='100%' border='0'>\n\n";
echo "<tr>\n";
echo "<td colspan='3' align='center'>\n";
echo "<h1>LOS GEHT´S</h1>\n";
echo "</td>\n";
echo "</tr>\n\n";
echo "<tr>\n";
echo "<td align='center' width='33,3%'>\n";
echo "</td>\n\n";
echo "<td align='center' width='33,3%'>\n";
echo "<h1>";
for($i = 1; $i < $laenge; $i++) {
if("$pos1 == $i" || "$pos2 == $i" || "$pos3 == $i" || "$pos4 == $i" || "$pos5 == $i" || "$pos6 == $i" || "$pos7 == $i" || "$pos8 == $i" || "$pos9 == $i" || "$pos10 == $i") {
if(isset($pos1)) {
if($i == $pos1) {
echo "$bs1";
}
}
if(isset($pos2)) {
if($i == $pos2) {
echo "$bs2";
}
}
if(isset($pos3)) {
if($i == $pos3) {
echo "$bs3";
}
}
if(isset($pos4)) {
if($i == $pos4) {
echo "$bs4";
}
}
if(isset($pos5)) {
if($i == $pos5) {
echo "$bs5";
}
}
if(isset($pos6)) {
if($i == $pos6) {
echo "$bs6";
}
}
if(isset($pos7)) {
if($i == $pos7) {
echo "$bs7";
}
}
if(isset($pos8)) {
if($i == $pos8) {
echo "$bs8";
}
}
if(isset($pos9)) {
if($i == $pos9) {
echo "$bs9";
}
}
if(isset($pos10)) {
if($i == $pos10) {
echo "$bs10";
}
}
}
else {
echo " _";
}
}
echo "</h1>\n";
echo "</td>\n\n";
echo "<td align='center' width='33,3%'>\n";
echo $bilder[$fehler]. "\n";
echo "</td>\n";
echo "</tr>\n\n";
echo "<tr>\n";
echo "<td colspan='3' align='center'>\n";
echo "<form action='test2.php' method='post'>\n";
echo "<input type='text' name='bs3' maxlength='1' size='1'>\n";
echo "<input type='hidden' name='wort' value='$wort'>\n";
echo "<input type='hidden' name='bs1' value='$bs1'>\n";
echo "<input type='hidden' name='pos1' value='$pos1'>\n";
echo "<input type='hidden' name='bs2' value='$bs2'>\n";
echo "<input type='hidden' name='pos2' value='$pos2'>\n";
echo "<input type='hidden' name='bs3' value='$bs3'>\n";
echo "<input type='hidden' name='pos3' value='$pos3'>\n";
echo "<input type='hidden' name='fehler' value='$fehler'>\n";
echo "<input type='submit' value='Prüfen'>\n";
echo "</from>";
echo "</td>\n";
echo "</tr>\n\n";
echo "</table>";
}
/*----------------------------------------------------------- 2.Buchstabe eingeben --------------------------------------------------------------------------------------------------------------------------------*/
elseif(isset($_POST["bs1"])) {
$bs1 = $_POST["bs1"];
$wort = $_POST["wort"];
$wort = "?" . $wort;
if(strpos($wort, $bs1)) {
$pos1 = strpos($wort, $bs1);
}
else {
$fehler++;
}
$laenge = strlen($wort);
echo "<table height='100%' width='100%' border='0'>\n\n";
echo "<tr>\n";
echo "<td colspan='3' align='center'>\n";
echo "<h1>LOS GEHT´S</h1>\n";
echo "</td>\n";
echo "</tr>\n\n";
echo "<tr>\n";
echo "<td align='center' width='33,3%'>\n";
echo "</td>\n\n";
echo "<td align='center' width='33,3%'>\n";
echo "<h1>";
for($i = 1; $i < $laenge; $i++) {
if(isset($pos1)) {
if($i == $pos1) {
echo "$bs1";
}
else {
echo " _";
}
}
elseif(isset($pos2)) {
if($i == $pos2) {
echo "$bs2";
}
else {
echo " _";
}
}
elseif(isset($pos3)) {
if($i == $pos3) {
echo "$bs3";
}
else {
echo " _";
}
}
elseif(isset($pos4)) {
if($i == $pos4) {
echo "$bs4";
}
else {
echo " _";
}
}
elseif(isset($pos5)) {
if($i == $pos5) {
echo "$bs5";
}
else {
echo " _";
}
}
elseif(isset($pos6)) {
if($i == $pos6) {
echo "$bs6";
}
else {
echo " _";
}
}
elseif(isset($pos7)) {
if($i == $pos7) {
echo "$bs7";
}
else {
echo " _";
}
}
elseif(isset($pos8)) {
if($i == $pos8) {
echo "$bs8";
}
else {
echo " _";
}
}
elseif(isset($pos9)) {
if($i == $pos9) {
echo "$bs9";
}
else {
echo " _";
}
}
elseif(isset($pos10)) {
if($i == $pos10) {
echo "$bs10";
}
else {
echo " _";
}
}
else {
echo " _";
}
}
echo "</h1>\n";
echo "</td>\n\n";
echo "<td align='center' width='33,3%'>\n";
echo $bilder[$fehler]. "\n";
echo "</td>\n";
echo "</tr>\n\n";
echo "<tr>\n";
echo "<td colspan='3' align='center'>\n";
echo "<form action='test2.php' method='post'>\n";
echo "<input type='text' name='bs2' maxlength='1' size='1'>\n";
echo "<input type='hidden' name='wort' value='$wort'>\n";
echo "<input type='hidden' name='bs1' value='$bs1'>\n";
echo "<input type='hidden' name='pos1' value='$pos1'>\n";
echo "<input type='hidden' name='fehler' value='$fehler'>\n";
echo "<input type='submit' value='Prüfen'>\n";
echo "</from>";
echo "</td>\n";
echo "</tr>\n\n";
echo "</table>";
}
/*----------------------------------------------------------- 1.Buchstabe eingeben --------------------------------------------------------------------------------------------------------------------------------*/
elseif(isset($_POST["wort"])) {
$wort = $_POST["wort"];
$laenge = strlen($wort);
echo "<table height='100%' width='100%' border='0'>\n\n";
echo "<tr>\n";
echo "<td align='center'>\n";
echo "<h1>LOS GEHT´S</h1>\n";
echo "</td>\n";
echo "</tr>\n\n";
echo "<tr>\n";
echo "<td align='center'>\n";
echo "<h1>";
for($i = 0; $i < $laenge; $i++) {
echo " _";
}
echo "</h1>";
echo "</td>\n";
echo "</tr>\n\n";
echo "<tr>\n";
echo "<td align='center'>\n";
echo "<form action='test2.php' method='post'>\n";
echo "<input type='text' name='bs1' maxlength='1' size='1'>\n";
echo "<input type='hidden' name='wort' value='$wort'>\n";
echo "<input type='submit' value='Prüfen'>\n";
echo "</from>";
echo "</td>\n";
echo "</tr>\n\n";
echo "</table>";
}
/*----------------------------------------------------------- Startseite --------------------------------------------------------------------------------------------------------------------------------*/
else {
echo "<table height='100%' width='100%' border='0'>\n\n";
echo "<tr>\n";
echo "<td align='center'>\n";
echo "<h1>Galgenmännchen</h1>\n";
echo "</td>\n";
echo "</tr>\n\n";
echo "<tr>\n";
echo "<td align='center'>\n";
echo "<form action='test2.php' method='post'>\n";
echo "<input type='text' name='wort' maxlength='10' size='10'><br/>\n";
echo "<input type='submit' value='Spielen'>\n";
echo "</from>";
echo "</td>\n";
echo "</tr>\n\n";
echo "</table>\n";
}
?>