$_post HIIILFEEE

Fou-Lu

Lt. Junior Grade
Registriert
Aug. 2006
Beiträge
290
Hallo Leute,
also ich wollte eigentlich ein script schreiben, bei dem ich z.B. einen kleinen text eingebe und der wird dann durch die post methode überliefert und dann als bild angezeigt (also die einzelnen buchstaben, aber jetzt habe ich das problem, dass nich alle buchstaben ausgegeben werden wenn ich was eingebe.

wenn ich jetzt einfach A eingebe, dann wirds perfekt angezeigt, aber wenn ich AB eingebe, dann kommt rein gar nichts.

hier mal die script teile:

Das ist jetzt die Eingabedatei:
HTML:
	<table border="2" cellspacing="0" cellpadding="0" style="width: 800px; text-align: center; margin: auto;">
		<tr>
			<td><form action="action.php" method="post" name="glitzertext"><strong>Gib 
			deinen gewünschten Text ein:</strong></td>
			<td valign="middle"><input name="glitzer" type="text" size="50"></td>
		</tr>
		<tr>
			<td colspan="2"height="30"><button type="submit">Bestätigen</button></form></td>
		</tr>
	</table>

und das hier die action:
PHP:
<?php
	switch ($_POST['glitzer']) {
		case "A" : echo "<img src=\"a.gif\">"; break;
		case "B" : echo "<img src=\"b.gif\">"; break;
		case "C" : echo "<img src=\"c.gif\">"; break;
		case "D" : echo "<img src=\"d.gif\">"; break;
		case "E" : echo "<img src=\"e.gif\">"; break;
		case "F" : echo "<img src=\"f.gif\">"; break;
		case "G" : echo "<img src=\"g.gif\">"; break;
		case "H" : echo "<img src=\"h.gif\">"; break;
		case "I" : echo "<img src=\"i.gif\">"; break;
		case "J" : echo "<img src=\"j.gif\">"; break;
		case "K" : echo "<img src=\"k.gif\">"; break;
		case "L" : echo "<img src=\"l.gif\">"; break;
		case "M" : echo "<img src=\"m.gif\">"; break;
		case "N" : echo "<img src=\"n.gif\">"; break;
		case "O" : echo "<img src=\"o.gif\">"; break;
		case "P" : echo "<img src=\"p.gif\">"; break;
		case "Q" : echo "<img src=\"q.gif\">"; break;
		case "R" : echo "<img src=\"r.gif\">"; break;
		case "S" : echo "<img src=\"s.gif\">"; break;
		case "T" : echo "<img src=\"t.gif\">"; break;
		case "U" : echo "<img src=\"u.gif\">"; break;
		case "V" : echo "<img src=\"v.gif\">"; break;
		case "W" : echo "<img src=\"w.gif\">"; break;
		case "X" : echo "<img src=\"x.gif\">"; break;
		case "Y" : echo "<img src=\"y.gif\">"; break;
		case "Z" : echo "<img src=\"z.gif\">"; break;
		case "1" : echo "<img src=\"1.gif\">"; break;
		case "2" : echo "<img src=\"2.gif\">"; break;
		case "3" : echo "<img src=\"3.gif\">"; break;
		case "4" : echo "<img src=\"4.gif\">"; break;
		case "5" : echo "<img src=\"5.gif\">"; break;
		case "6" : echo "<img src=\"6.gif\">"; break;
		case "7" : echo "<img src=\"7.gif\">"; break;
		case "8" : echo "<img src=\"8.gif\">"; break;
		case "9" : echo "<img src=\"9.gif\">"; break;
		case "0" : echo "<img src=\"0.gif\">"; break;
		case "-" : echo "<img src=\"aa.gif\">"; break;
		case "_" : echo "<img src=\"bb.gif\">"; break;
		}
?>

PS: hab schon ziemlich lange gegoogelt, aber immer noch nichts gescheihtes gefunden (nur anspielungen, dass es mit foreach gehen soll, aber find trotzdem nichts)

hoffe ihr könnt mir helfen, danke schon mal im vorraus.
 
Ja, Du suchst ja mit deiner case-anweisung immer nur nach exakten Buchstaben. Damit bei der Eingabe "AB" beide Grafiken hintereinander ausgegeben werden, muss Du ganz anders an die Sache herangehen. Du musst erst einmal quasi den Inhalt des Parameters "begutachten" bzw. dann zerlegen, indem Du erst dann einzeln die Buchstaben ersetzt. Mir würde in diesem Zusammenhang ein str_replace einfallen, sicherlich gibt es aber noch eine geschicktere Variante.
Mit der case-anweisung geht es allerdings definitiv nicht, da hier wirklich nur nach exakten Wortlauten bzw. Buchstaben gesucht wird.
 
das is ja auch kein wunder dass da nix kommt, dein code erfüllt die entsprechende funktionalität nicht. das ganze müsste in etwa so aussehen:

PHP:
$text = "muh";

for($i=0;$i<strlen($text);$i++)
echo "<img src=\"".strtolower($text{$i}).".gif\">";

oder so ...
 
thx ich werds gleich mal ausprobieren, hoffe es geht ^^

edit: yeeehuuuu es funktioniert!!!! ^^ also vielen, vielen dank leute ;)
 
Zuletzt bearbeitet:
Zurück
Oben