• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> 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! :)
 

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
Mit
Code:
$_GET['name']
klappt das Auslesen auch nicht? (Also auch Methode in der Form ändern)
 

Datschi

Reinette de Champagne
Registriert
08.11.04
Beiträge
415
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!
 

Sir Q

Rheinischer Winterrambour
Registriert
12.04.05
Beiträge
923
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>';
 

Datschi

Reinette de Champagne
Registriert
08.11.04
Beiträge
415
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....:mad: :-c

Wäre für weitere Tips äußerst dankbar!
 
Zuletzt bearbeitet:

MrNase

Champagner Reinette
Registriert
11.01.05
Beiträge
2.656
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.
 

Hilarious

Gelbe Schleswiger Reinette
Registriert
10.08.05
Beiträge
1.759
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.