DropDownList Übergabe

lanceone

Grünschnabel
Hallo PhP`ler,

leider bin ich doch zu doof um das hinzukriegen, kann mich wahrscheinlich nicht in die richtige Handhabung reindenken.

Will nun aus der funktionierenden DropDownlist den Wert an meinen Warenkorb übergeben, klappt aber nicht naja siehe oben ;-]

hier mal meine show.php
PHP:
<?php 
session_start();

//  -->  Start Variablendefinition

$st = $_REQUEST["st"];
$suchwort = $_REQUEST["suchwort"];
$rb = $_REQUEST["rb"];
$waren = $_SESSION["array('waren')"];
$art_id = $_REQUEST["art_id"];
$anzahl = $_REQUEST["anzahl"];
$basket = $_REQUEST["basket"];
$thema	= $_REQUEST["thema"];

//  -->  Ende Variablendefinition

if($geloescht != 'j' and $aend != 'j' and $left != 'j' and $basket == 'j')
	{	
	if (@array_key_exists($bestellnummer, $waren))
		{
		$anz = $waren[$bestellnummer];
		$anz = $anz+1;
		$waren[$bestellnummer] = $anz;
		}
	else	
		$waren[$bestellnummer] = 1; 
	}
if ($aend == 'j' and $basket == 'j')
	{
	if ($anzahl == 0)
		unset($waren[$art_id]); 
	//$array = array_values($array);
	else
		$waren[$art_id] = $anzahl;
	}

if ($basket == 'j' and $anzahl != 0) 
	$basket_text = "<p class=\"inhaltText\">Der Artikel wurde dem <a href=\"warenkorb.php?left=j\">Warenkorb</a> hinzugef&uuml;gt </p>";

$testarr = count($waren);

$_SESSION["array('waren')"] = $waren;


include("includes/config.inc.php"); 
$db = mysql_connect($host, $user, $pass); 
if ($suchwort == '') 
    { 
    $res = mysql_db_query($dbase, "select * from " . $table_rubrik . " where rubrik_id = '$rb'"); 
    $num = mysql_num_rows($res); 
        for ($i=0; $i<$num; $i++) 
              { 
            $ueberschrift = mysql_result($res, $i, "rubrik"); 
            } 
    } 
else 
    $ueberschrift = 'Ihr Suchergebnis'; 
if ($suchkrit == 'neu') 
    $ueberschrift = 'Neuerscheinungen'; 
if ($suchkrit == 'angebot') 
    $ueberschrift = 'Angebote'; 
    
?> 
<html> 
<head> 
<?php 
    include("includes/config.inc.php"); 
 print "$gcTitle"; 
?> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<link rel="stylesheet" type="text/css" href="includes/style.css"> 
</head> 

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> 

<p> 
<?php  
include("header.php"); 
?> 
<table width="90%" border="0" cellpadding="0" cellspacing="0"> 
  <tr> 
    <td width="101" valign="top">
	<?php include("left.inc.php"); ?>
	</td>
    <td width="1" bgcolor="#CCCCCC"><img src="images/leer.gif" width="1" height="1"></td>
    <td width="100%" valign="top"><table width="100%" border="0" cellspacing="2" cellpadding="0">
        <tr> 
          <td width="20"><img src="images/leer.gif" width="20" height="20"></td>
          <td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
            <tr valign="middle">
              <td><p class="textHeadline"><?php echo $ueberschrift; ?></p><?php echo $basket_text; ?>
                </td>
              <td>
<?php 
$db = mysql_connect($host, $user, $pass); 
$res = mysql_db_query($dbase, "select * from " . $table_sponsoring . " where sponsor_rubrik = '$rb' order by sponsor_id DESC"); 
$num = mysql_num_rows($res); 
if ($num > 0)
	{
	for ($i=0; $i<1; $i++)
		{
		$sponsor_img = mysql_result($res, $i, "sponsor_img");
		$sponsor_link = mysql_result($res, $i, "sponsor_link");
		}
	}
if ($num < 1)
	{
	$sponsor_img = "alphalo.gif";
	$sponsor_link = $alpha_link;
	}

if ($sponsor_link != '') { ?>
<div align="right"><a href="<?=$sponsor_link ?>" target="_blank"><img src="images/sponsor/<?=$sponsor_img ?>" border="0"></a> </div>
<?php } else { ?>
<div align="right"><img src="images/sponsor/<?=$sponsor_img ?>" border="0"></div>
<?php } ?>
				</td>
            </tr>
          </table>          
            <table width="100%"  border="0" cellspacing="0" cellpadding="1">
  <tr class="inhaltText">
    <td colspan="7"><img src="images/leer.gif" width="20" height="20"></td>
    </tr>
  <tr class="inhaltText">
    <td><strong>Bezeichnung</strong></td>
    <td width="80"><div align="right"><strong>Art.Nr.</strong></div></td>
    <td width="80"><div align="right"><strong>Inhalt</strong></div></td>
    <td width="80"><div align="right"><strong>Brutto &euro; </strong></div></td>
    <td width="80"><div align="right"><strong>Netto &euro; </strong></div></td>
    <td width="60"><div align="center"><strong>Menge</strong></div></td>
    <td width="30"><img src="images/leer.gif" width="30" height="5"></td>
  </tr>
  <tr class="inhaltText">
    <td colspan="7"><img src="images/leer.gif" width="12" height="10"></td>
    </tr>
</table>

		    
              <?php

            if ($suchwort == '') 
                $res = mysql_db_query($dbase, "select * from " . $table_artikel . " where rubrik = '$rb' order by titel"); 
               if ($suchwort != '' and $suchkrit == 'isbn')             
                $res = mysql_db_query($dbase, "select * from " . $table_artikel . " where isbn = '$suchwort' order by titel"); 
            if ($suchwort != '' and $suchkrit == 'wort')             
                $res = mysql_db_query($dbase, "select * from " . $table_artikel . " where titel like '%$suchwort%' or untertitel like '%$suchwort%' order by titel"); 
            if ($suchkrit == 'neu')             
                $res = mysql_db_query($dbase, "select * from " . $table_artikel . " where neu != '' order by titel"); 
            if ($suchkrit == 'angebot')             
                $res = mysql_db_query($dbase, "select * from " . $table_artikel . " where angebot != '' order by titel"); 
  		
			
			$num = mysql_num_rows($res);
			
			$total = 0;
			for ($i=0; $i<$num; $i++)
            {
			$isbn = mysql_result($res, $i, "isbn");
   			$titel = mysql_result($res, $i, "titel");
   			$inhalt = mysql_result($res, $i, "untertitel");
   			$langtext = mysql_result($res, $i, "langtext");
   			$netto = mysql_result($res, $i, "netto");
   			$brutto = mysql_result($res, $i, "brutto");
   			$image = mysql_result($res, $i, "image");
			$mwst = mysql_result($res, $i, "mwst");
			$artikel_id = mysql_result($res, $i, "artikel_id");
			
			//$brutto = $preis;
			//$netto = ($preis / ($mwst / 100 + 1));
			
			$brutto = sprintf('%.2f', $brutto);
			$netto = sprintf('%.2f', $netto);
			/*
			$pos = strpos($preis, ".");
			if ($pos === false)
				$preis = $preis.".00";
			*/
			
            if ($image == '') 
                $image = "dummy.gif"; 
            if ($isbn != '') 
                $isbn = " ".$isbn; 
                 
			$themen = mysql_result($res, $i, "unterkat");
			$thema = array()
				
			?>
            
            <form action="show.php?aend=j" method="post" enctype="multipart/form-data">
			  <input name="bestellnummer" type="hidden" value="<?=$artikel_id ?>">
 			  <table width="100%" border="0" cellspacing="0" cellpadding="1"> 
              <tr> 
                <td bgcolor="cdcdcd"><table width="100%" border="0" cellspacing="0" cellpadding="1"> 
                    <tr valign="top">  
                    <td width="0" bgcolor="#FFFFFF"><a href="show_det.php?det=<?=$artikel_id ?>&nav=<?=$nav ?>"><img border=0 src="images/artikel/thumb/<?=$image ?>"></a></td> 
                      <td bgcolor="#FFFFFF" class=inhaltText>  
                      <?=$kurztext ?> 
                        <img src="images/leer.gif" widt 
                        h="1" height="1"> <span class="inhaltText"> 
                        <?=$titel ?> 
                        </span></td> 
<?php
if($themen && trim($themen)!='') 
  { 
    $thema= explode(',',$themen);
?>
						<td width="10" align=right valign="bottom" bgcolor="#FFFFFF" class=inhaltText> 
  					    <select class=inhaltText name="thema[]" size="1" >
<?php
  foreach ($thema as $element) 
    {
      echo "<option value=$element>$element</option>";
    }
  }
?>
                      </select>
                      </td> 
                      <td width="80" align=right valign="bottom" bgcolor="#FFFFFF" class=inhaltText><?=$isbn ?></td>
                      <td width="80" align=right valign="bottom" bgcolor="#FFFFFF" class=inhaltText><?=$inhalt ?>
                        <div align="right"></div></td>
                      <td width="80" align=right valign="bottom" bgcolor="#FFFFFF" class=inhaltText><p>
                          <?=$brutto ?>
                        &euro;  </p></td>
                      <td width="80" align=right valign="bottom" bgcolor="#FFFFFF" class=inhaltText> 
                        <p>
                          <?=$netto ?>
                           € <strong>
                          </strong></p>
                        </td>
                      <td width="60" align=right valign="bottom" bgcolor="#FFFFFF" class=inhaltText><div align="center">
                          <input name="anzahl" type="text" class=textfeldWare id="anzahl2" size="5">
                          <input name="art_id" type="hidden" id="art_id2" value="<?=$artikel_id ?>">
                          <input name="rb" type="hidden" id="art_id2" value="<?=$rb ?>">
                          <input name="nav" type="hidden" id="art_id2" value="<?=$nav ?>">
						  <input name="basket" type="hidden" id="art_id2" value="j">
						  <input name="thema" type="hidden" class=inhaltText id=art_id2 value="<?=$thema ?>" >
                      </div></td>
                      <td width="30" align=right valign="bottom" bgcolor="#FFFFFF" class=inhaltText><input type="image" src="images/button/warenkorb.gif" name="senden" alt="In den Warenkorb legen"></td>
                    </tr>
                  </table></td>
              </tr>
              <tr>
                <td><img src="images/leer.gif" width="1" height="5"></td>
              </tr>
            </table>
			
            </form>
            <?php } ?>
		  </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<?php include("footer.php"); ?>
</body>
</html>

und hier mein warenkorb.php
PHP:
<?php 
session_start();
//session_register(array('waren'));
//session_register('gesamtpreis');

//  -->  Start Variablendefinition

$waren = $_SESSION["array('waren')"];
$gesamtpreis = $_SESSION["gesamtpreis"];
$gesamtnetto = $_SESSION["gesamtnetto"];
$gesamtpfand = $_SESSION["gesamtpfand"];
$mwst_betrag = $_SESSION["mwst_betrag"];
$st = $_REQUEST["st"];
$suchwort = $_REQUEST["suchwort"];
$rb = $_REQUEST["rb"];
$bestellnummer = $_REQUEST["bestellnummer"];
$aend = $_REQUEST["aend"];
$geloescht = $_REQUEST["geloescht"];
$left = $_REQUEST["left"];
$art_id = $_REQUEST["art_id"];
$anzahl = $_REQUEST["anzahl"];
$kundendaten = $_SESSION["array('kundendaten')"];
$thema	= $_REQUEST["thema"];

//  -->  Ende Variablendefinition
if($geloescht != 'j' and $aend != 'j' and $left != 'j')
	{	
	if (@array_key_exists($bestellnummer, $waren))
		{
		$anz = $waren[$bestellnummer];
		$anz = $anz+1;
		$waren[$bestellnummer] = $anz;
		}
	else	
		$waren[$bestellnummer] = 1; 
	}
if ($aend == 'j')
	{
	if ($anzahl == 0)
		unset($waren[$art_id]); 
	//$array = array_values($array);
	else
		$waren[$art_id] = $anzahl;
	}
$testarr = count($waren);

$_SESSION["array('waren')"] = $waren;

include("includes/config.inc.php");
$db = mysql_connect($host, $user, $pass);
if ($suchwort == '')
	{
	$res = mysql_db_query($dbase, "select * from " . $table_rubrik . " where rubrik_id = '$rb'");
	$num = mysql_num_rows($res);
		for ($i=0; $i<$num; $i++)
      		{
			$ueberschrift = mysql_result($res, $i, "rubrik");
			}
	}
else
	$ueberschrift = 'Ihr Suchergebnis';
if ($suchkrit == 'neu')
	$ueberschrift = 'Neuerscheinungen';
if ($suchkrit == 'angebot')
	$ueberschrift = 'Angebote';

?>
<html>
<head>
<title>Alpha-Getränke</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="includes/style.css">
</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<?php 
include("header.php");
?>
<table width="780" border="0" cellpadding="0" cellspacing="0">
  <tr> 
    <td width="101" valign="top">
	<?php include("left.inc.php"); ?>
	</td>
    <td width="1" background="images/bckgrd-line-senk.gif"><img src="images/leer.gif" width="1" height="1"></td>
    <td width="100%" valign="top"><table width="100%" border="0" cellspacing="2" cellpadding="0">
        <tr> 
          <td width="20"><img src="images/leer.gif" width="20" height="20"></td>
          <td><p class=textHeadline>Warenkorb</p>
            <?php 
		  if ($testarr == 0)
		  	{
		  	echo "<p class=inhaltText>Der Warenkorb ist leer!</p>";
		  	}
			?>
            <p> 
              <?php

			
			
			if ($geloescht != 'j' and $testarr != 0)
				{
				$gesamtpreis = 0;	
				$gesamtpfand = 0;
				$gesamtnetto = 0;
				foreach ($waren as $index => $zusammen)
					{
					//echo "<br>$index => $zusammen<br><br>";
					$res = mysql_db_query($dbase, "select * from " . $table_artikel . " where artikel_id = '$index' order by artikel_id");
   					$num = mysql_num_rows($res);
					
			
					for ($i=0; $i<$num; $i++)
            			{
						$isbn = mysql_result($res, $i, "isbn");
   						$titel = mysql_result($res, $i, "titel");
   						$inhalt = mysql_result($res, $i, "untertitel");
   						$kurztext = mysql_result($res, $i, "kurztext");
   						$langtext = mysql_result($res, $i, "langtext");
   						$brutto = mysql_result($res, $i, "brutto");
						$netto = mysql_result($res, $i, "netto");
						$pfand = mysql_result($res, $i, "pfand");
   						$image = mysql_result($res, $i, "image");
						$mwst = mysql_result($res, $i, "mwst");
						$artikel_id = mysql_result($res, $i, "artikel_id");
			
						if ($image == '')
							$image = "dummy.gif";
						if ($isbn != '')
							$isbn = "ISBN: ".$isbn;
						}
						//echo "<p class=inhaltText>Artikel: $titel<br>Anzahl: $zusammen</p><hr size=1>";
						$einzelnetto = $netto * $zusammen;
						$einzelpfand = $pfand * $zusammen;
						
						//$enetto = $netto;
						//$ebrutto = $brutto;
						
						$einzelnetto = sprintf('%.2f', $einzelnetto);
						//$enetto = sprintf('%.2f', $enetto);
						//$ebrutto = sprintf('%.2f', $ebrutto);
						
						/*
						$pos = strpos($einzelpreis, ".");
						if ($pos === false)
							$einzelpreis = $einzelpreis.".00";
						else 
							$einzelpreis = $einzelpreis."0";
						*/
							
						$gesamtnetto = $gesamtnetto + ($netto * $zusammen);
						$gesamtpfand = $gesamtpfand + ($pfand * $zusammen);
						
						$gesamtnetto = sprintf('%.2f', $gesamtnetto);
						$gesamtpfand = sprintf('%.2f', $gesamtpfand);
						//$gnetto = sprintf('%.2f', $gnetto);
						//$gbrutto = sprintf('%.2f', $gbrutto);
						/*
						$pos = strpos($einzelpreis, ".");
						if ($pos === false)
							$einzelpreis = $einzelpreis.".00";
						*/
						
				?>
            </p>
            <form name="form2" method="post" action="warenkorb.php?aend=j">
              <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr> 
                  <td bgcolor="#336666" class=inhaltText><table width="100%" border="0" cellspacing="1" cellpadding="2">
                      <tr bgcolor="#FFFFFF"> 
                        <td width="140" bgcolor="#FFFFFF"> <input name="anzahl" type="text" class=textfeldWare id="anzahl2" value="<?=$zusammen ?>" size="5">
                          <input type="submit" name="Submit2" value="Anzahl &auml;ndern"> 
                        </td>
                        <td class=inhaltText> 
                          <?=$titel ?> <?=$thema ?> <?=$inhalt ?>
                          <input name="art_id" type="hidden" id="art_id2" value="<?=$artikel_id ?>">
                          <input name="rb" type="hidden" id="art_id2" value="<?=$rb ?>">
                          <input name="nav" type="hidden" id="art_id2" value="<?=$nav ?>"> 
                        </td>
                        <td width="100" align="right" bgcolor="#FFFFFF" class=inhaltText> 
                          <?=$einzelnetto ?> € </td>
                      </tr>
                    </table></td>
                </tr>
              </table>
            </form>
            <?php
					}

			/*
			$pos = strpos($versandkosten, ".");
			if ($pos === false)
				$versandkosten = $versandkosten.".00";
			else 
				$versandkosten = $versandkosten."0";
			*/
			  ?>
            <hr align="right" width="90" size="1">
            <p align="right" class=inhaltText> <br>
              <?php
					$mwst_betrag = (($gesamtnetto + $gesamtpfand)*$mwst/100);
					$mwst_betrag = sprintf('%.2f', $mwst_betrag);
					$gbrutto = $mwst_betrag + $gesamtnetto + $gesamtpfand;
					$gesamtpreis = $gbrutto;
 					$gesamtpreis = sprintf('%.2f', $gesamtpreis);
					echo "<br>Gesamtnetto: $gesamtnetto €<br>";
						
					echo "<br><p align=right class=inhaltText>+ Pfand: $gesamtpfand €<br>+ MwSt.: $mwst_betrag €<br><br><b><u>Gesamtpreis: $gesamtpreis €</u></b><br></p>";
				}

			?>
            </p>
            <?php 
			$_SESSION["gesamtpreis"] = $gesamtpreis;
			$_SESSION["gesamtpfand"] = $gesamtpfand;
			$_SESSION["mwst_betrag"] = $mwst_betrag;
			$_SESSION["gesamtnetto"] = $gesamtnetto;
			if ($testarr != 0)
				{
			?>
			<table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td align=left>&nbsp;</td>
                <td width="140" align=left><a class=leftNavigation href="loeschen.php"><img src="images/button/leeren.gif" alt="Warenkorb leeren" width="131" height="18" border="0"></a></td>
                <td width="140" align=right><a class=leftNavigation href="bestellung.php"><img src="images/button/bestellen.gif" alt="Waren bestellen" width="131" height="18" border="0"></a></td>
              </tr>
            </table>
            <?php } ?>
          </td>
          <td width="20"><img src="images/leer.gif" width="20" height="20"></td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<?php include("footer.php"); ?>
</body>
</html>

hoffe es kann mir wieder wer weiter helfen.

Grüsse Lorenz
 
Moin...

das ist ein Haufen Code, ohne Beispielwerte zu kennen, wird es echt schwer, da durchzublicken.

Ich glaube, es könnte hilfreich sein, wenn du auch mal die HTML-Ausgabe der Skripte als Beispiel postest.:)
 
Das Problem wird sein, dass du zwei Formularfelder des Namens „thema“ hast, einmal das Optionsauswahlmenü und dann noch ein verstecktes Formularelement. Zwar haben beide nicht explizit denselben Namen, doch das „thema[]“ wird von PHP in ein Array umgewandelt, welches vom danach auftauchenden „thema“ einfach überschrieben wird.
 
Zurück