You are not logged in.

  • Login

1

Thursday, December 7th 2006, 9:00pm

Wörter einlesen und alphabetisch sortieren

Hi,

also ich hab folgendes Problem. Ich soll als Hausaufgabe folgendes Problem lösen:

Erstellen Sie ein PHP-Skript, welches drei eingegebene Wörter alphabetisch aufsteigend sortiert. Benutzen Sie für die Eingabe der Wörter ein Forumlar und im PHP-Skript echo-Anweisungen, um das Ergebnis darzustellen. Verwenden Sie die Selbstverweistechnik.

So also wir sind grad bei if anweisungen, da würde es nahe liegen es mit einer if anweisung zu machen. Bloß die daten die ich einlesen sind ja texte, also lässt es sich schlecht irgendwie vergleichen. ich hatte folgende idee, welche aber nicht funktioniert.

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
if (!isset($name1) && !isset($name2) && !isset($name3)) {
echo "<form action='$PHP_SELF' method='post'>";
echo "<input type='text' name='name1'> <br />";
echo "<input type='text' name='name2'> <br />";
echo "<input type='text' name='name3'> <br />";
echo "<input type='submit' value='Go!'><br />";
echo "</form>";
 
} else {
if($name1>$name2 && $name1>$name3 && $name2>$name3) {
echo $name1 . "<br />";
echo $name2 . "<br />";
echo $name3 . "<br />";
} elseif($name2>$name3 && $name2>$name1 && $name1>$name3) {
echo $name2 . "<br />";
echo $name1 . "<br />";
echo $name3 . "<br />";
} else {
echo $name3 . "<br />";
echo $name2 . "<br />";
echo $name1 . "<br />";
}
}
?>


Über anregungen und hilfe freu ich mich natürlich.

ps.: vielleicht ist meine idee auch einfach zu umständlich :)
Mit Zitat antworten

2

Thursday, December 7th 2006, 9:23pm

ich kann mir zwar leider nichts unter einer "Selbstverweistechnik" vorstellen, aber du hast ein paar Fehler im code:

Wenn es schon HTML valide sein soll, dann musst du neben den BRs auch die INPUTs schließen.
Außerdem musst du auf s.g. Superglobalen zurückgreifen um serverpfad und post Inhalte auszulesen. ($_SERVER, $_POST, $_GET, ...)
Ich hoffe ihr lernt es nicht ohne diese, denn Superglobale sind in aktuellen PHP Versionen Pflicht! (Informationen unter "register_globals")

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if (!isset($_POST['submit'])) {
 
	echo '<form action="'. $_SERVER['PHP_SELF'] .'" method="post">
		<input type="hidden" name="max" value="3" />
 
		<input type="text" name="name1" /> <br />
		<input type="text" name="name2" /> <br />
		<input type="text" name="name3" /> <br />
		<input type="submit" value="Go" /> <br />
		</form>';
 
} else {
 
	$arr = array();
	for($i=1; $i<=$_POST['max']; $i++) {
		if(isset($_POST['name'.$i]))
			$arr[] = $_POST['name'.$i];
	}
	asort($arr);
	implode('<br />',$arr);
}
?>

3

Thursday, December 7th 2006, 10:33pm

Uns wurde die andere methode auch gezeigt, aber für den "heimgebrauch" (also quasi offline) sollten wir register_globals auf on stellen

Similar threads

Social bookmarks