1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Problem mit dem Submit einer DropDown Auswahl

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Datschi, 14.07.06.

  1. Datschi

    Datschi Reinette de Champagne

    Dabei seit:
    08.11.04
    Beiträge:
    417
    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! :)
     
  2. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Mit
    Code:
    $_GET['name']
    klappt das Auslesen auch nicht? (Also auch Methode in der Form ändern)
     
  3. Datschi

    Datschi Reinette de Champagne

    Dabei seit:
    08.11.04
    Beiträge:
    417
    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!
     
  4. Sir Q

    Sir Q Rheinischer Winterrambour

    Dabei seit:
    12.04.05
    Beiträge:
    921
    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>';
     
  5. Datschi

    Datschi Reinette de Champagne

    Dabei seit:
    08.11.04
    Beiträge:
    417
    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!
     
    #5 Datschi, 14.07.06
    Zuletzt bearbeitet: 14.07.06
  6. MrNase

    MrNase Champagner Reinette

    Dabei seit:
    11.01.05
    Beiträge:
    2.643
    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.
     
  7. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    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.
     

Diese Seite empfehlen