• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Problem mit dem Submit einer DropDown Auswahl

Datschi

Reinette de Champagne
Registriert
08.11.04
Beiträge
415
Moin ihr ATer!

Hab diesmal eine Frage bezüglich dem Absenden einer Auswahl aus einem automatisch generierten DropDown-Menu.
Das Menu wird per php aus der DB ausgelesen und automatisch generiert. Jetzt soll die Auswahl per Submit-Button einfach an ein anderes Skript gesendet werden, was die Variablen dann ja automatisch lesen kann ($_POST['name'], z.B.). Mit einem oder mehreren Textfeldern ist das kein Problem. Aber mit dem DropDown Menu will das einfach nicht klappen! Woran könnte das liegen? Hier der
Code:
<form action="loeschen.php" name="feedLoeschen" method="post">	
	<?php
$tabellenname = "adresses";
$sqllink = mysql_connect("localhost", "root", "");
mysql_select_db("rss", $sqllink);
$sql = "SELECT feed_name FROM $tabellenname";
$addr = mysql_query($sql);

echo "<p>\n<select name=\"Feeds\" size=\"1\">";

while ($row = mysql_fetch_array($addr, MYSQL_ASSOC)) {
	
	while (list ($k,$v) = each($row)) {
		echo "<option name=\"name\">" . $v . "</option>\n";
	}
	
}
echo "</select>\n";
?>

<input type="submit" name="absenden" value="l&ouml;schen">
</form>

der datschi freut sich über jegliche Hilfe! :-)
 
Mit
Code:
$_GET['name']
klappt das Auslesen auch nicht? (Also auch Methode in der Form ändern)
 
ne, die get-methode geht leider auch nicht! Hatte den gleichen Gedanken, aber die macht genau das gleiche: Nichts.
Und eigentlich wollte ich schon bei der Post-methode bleiben, weil die die Daten ja nicht verschlüsselt in der Adressleiste mit überträgt...

Hier nochmal das File mit dem Auslesen der Variablen:
Code:
<?php


		echo $_POST['name'];
		
?>

<a href="admin.php">
  <input type="button" name="zurück" value="OK"/></a>

das echo $_POST['name'] soll ja eigentlich bloß zeigen, ob die Variable überhaupt übertragen wird. Das mit dem löschen aus der DB ist ja dann eigentlich kein Problem mehr!
 
Nimm mal:

echo '<option value="'.$k.'">'. $v .'</option>';

denn der (Variablen)Name wurde ja schon dem <select name="Feeds"> gegeben ...

~

Noch Tip zum „debuggen“:

echo '<pre>';
print_r($_POST);
echo '</pre>';
 
dein debug-Tip gibt mir dann

Code:
Array
(
    [Feeds] => name
    [absenden] => löschen
)

Was mir irgendwie nicht weiterhilft. Kann natürlich auch an der Uhrzeit und den Temperaturen liegen, aber ich seh nicht, warum er mir nicht die Auswahl übergibt....:angry: :-c

Wäre für weitere Tips äußerst dankbar!
 
Zuletzt bearbeitet:
Dumme Sache, aber kann es sein das $k immer 'name' ist...?

Nicht, dass du da ein Auswahlmenü folgender Struktur hast:


Code:
<select name="Feeds" size="1">
<option value="name">bla</option>
<option value="name">blubb</option>
<option value="name">wuff</option>
<option value="name">miauw</option>
</select>

Weil dann wird $_POST['Feeds']/$_GET['Feeds'] ja immer 'name' sein. :)


Normalerweise ist 'bla' oder 'blubb' ja nur der Text der schlussendlich angezeigt wird und das was bei 'value' steht ist der eigentliche Wert und $_POST['Feeds']/$_GET['Feeds'] wird immer das ausliefern was bei 'value' steht.
 
Damit sollte es klappen:
Code:
<?php

	function fetchFeedNames () {
	
		if ($sqllink = mysql_connect('localhost','root','')) {
			mysql_select_db('rss', $sqllink);
			
			$sql	=	"SELECT feed_name FROM adresses";
			if ($rsrc = mysql_query ($sql, $sqllink)) {
				if (mysql_num_rows ($rsrc) > 0) {
					return $rsrc;
				}
			}
		}
		
		return FALSE;
	}

?>
<form action="loeschen.php" name="feedLoeschen" method="post">	
<?php
	
	if ($feeds = fetchFeedNames ()) {
	
		print ("<select name=\"Feeds\" size=\"1\">\n");

		while ($feeds_detail = mysql_fetch_assoc ($feeds)) {
			printf ("<option value=\"%1\$s\"%2\$s>%1\$s</option>\n",
				$feeds_detail['feed_name'],
				($_POST['Feeds'] = $feeds_detail['feed_name']) ? ' selected' : '');
		}
		
		print ("</select>\n");
	}
?>
	<input type="submit" name="absenden" value="l&ouml;schen" />
</form>

Ich hoffe, es hilft.