$_POST Übergabe aus FORM, Versandprobleme

nafets

Mitglied
Hallo

Bin neu in PHP habe vorher mit ASP gearbeitet. Habe ein Formular welches mehrere Checkboxen enthält, welche dieselbe ID haben und unterschiedliche Werte.

Beim Versand wird allerdings nur die letzte Checkbox übermittelt und nicht wie ich es aus ASP kenne alle markierten als String.

Kann mir jemand helfen, wie ich die Werte entgegennehmen muss?

Code:
$nachricht = '
		<html>
		<head>
		  <title>Anmeldung Seminare</title>
		</head>
		<body>
		  <table>
		   	<tr><td width="100px"><b>Vorname</b></td><td>'. $_POST['frmVorname'] .'</td></tr>
		  	<tr><td width="100px"><b>Name</b></td><td>'. $_POST['frmName'] .'</td></tr>
		  	<tr><td width="100px"><b>Strasse</b></td><td>'. $_POST['frmStrasse'] .'</td></tr>
		  	<tr><td width="100px"><b>Plz / Ort</b></td><td>'. $_POST['frmPlz'] .' '. $_POST['frmOrt'] .'</td></tr>
		  	<tr><td width="100px"><b>E-Mail</b></td><td>'. $_POST['frmMail'] .'</td></tr>
	  		<tr><td width="100px"><b>Tel P</b></td><td>'. $_POST['frmTelp'] .'</td></tr>
	  		<tr><td width="100px"><b>Tel G</b></td><td>'. $_POST['frmTelg'] .'</td></tr>
	  		<tr><td width="100px"><b>Tel M</b></td><td>'. $_POST['frmTelm'] .'</td></tr>
		  	<tr><td width="100px"><b>Nachricht</b></td><td>'. $_POST['frmBemerkungen'] .'</td></tr>
		  	<tr><td width="100px"><b>Seminare</b></td><td>'. $_POST['frmSeminar'] .'</td></tr>
		  </table>
		</body>
		</html>
		';

Die Checkboxen werden zuletzt übergeben bei Seminar.
 
Hallo,

es wäre hilfreich wenn du den Quellcode von deinem Formular noch reinpostest.
Ich glaube der Fehler liegt nicht im Ausgabequellcode

Tobee
 
Hier noch der Form Code

Code:
<form id="Seminar" action="seminare_versenden.php" method="post" name="Seminar" enctype="Standard" onSubmit="return chkSeminar()">
									<table width="363" border="0" cellspacing="2" cellpadding="0">
										<tr>
											<td colspan="2" align="left" valign="top"><b>Seminare elektronische Anmeldung:<br>
												</b><br>
											</td>
										</tr>
										<tr>
												<td align="left" valign="top" width="102"><b>Seminar:</b><font color="red">*</font></td>
												<td align="left" valign="top"><?php
														$result = mysql_query("SELECT * FROM seminare ORDER BY id DESC")or die(mysql_error());
								
										
									while($row = mysql_fetch_array($result)) {
										
										echo "<input class='checkbox' type='checkbox' name='frmSeminar' value='". $row['tName'] ."'> ". $row['tName'] ." :: ". $row['tArt'] ."<br>";
										}														
													?><br>
											</td>
											</tr>
										<tr>
												<td align="left" valign="top" width="102"><b>Vorname:</b><font color="red">*</font></td>
												<td align="left" valign="top"><input type="text" name="frmVorname" size="24" maxlength="30"></td>
											</tr>
											<tr>
												<td align="left" valign="top" width="102"><b>Name:</b><font color="red">*</font></td>
												<td align="left" valign="top"><input type="text" name="frmName" size="24" maxlength="30"></td>
											</tr>
											<tr>
												<td align="left" valign="top" width="102"><b>Strasse:</b></td>
												<td align="left" valign="top"><input type="text" name="frmStrasse" size="24" maxlength="40"></td>
											</tr>
											<tr>
												<td align="left" valign="top" width="102"><b>PLZ / Ort:</b></td>
												<td align="left" valign="top"><input class="plz" type="text" name="frmPlz" size="4" maxlength="5">&nbsp;<input class="ort" type="text" name="frmOrt" size="17" maxlength="30"></td>
											</tr>
											<tr>
												<td align="left" valign="top" width="102"><b>E-Mail:</b><font color="red">*</font></td>
												<td align="left" valign="top"><input type="text" name="frmMail" size="24" maxlength="50"></td>
											</tr>
											<tr>
												<td align="left" valign="top" width="102"><b>Tel P:</b></td>
												<td align="left" valign="top"><input type="text" name="frmTelp" size="24" maxlength="20"></td>
											</tr>
											<tr>
												<td align="left" valign="top" width="102"><b>Tel G:</b></td>
												<td align="left" valign="top"><input type="text" name="frmTelg" size="24" maxlength="20"></td>
											</tr>
											<tr>
												<td align="left" valign="top" width="102"><b>Tel M:</b></td>
												<td align="left" valign="top"><input type="text" name="frmTelm" size="24" maxlength="20"></td>
											</tr>
											<tr>
												<td align="left" valign="top" width="102"><b>Bemerkungen:</b></td>
												<td align="left" valign="top"><textarea name="frmBemerkungen" rows="4" cols="22"></textarea></td>
											</tr>
											<tr>
												<td align="left" valign="top" width="102"></td>
												<td align="left" valign="top">
												<div class="erforderlich">
													<br>
													<input type="submit" name="submit" value="anmelden"><br>
													<br>
													*Erforderliche Angaben</div>
											</td>
											</tr>
										</table>
								</form>
 
Hallo,

ich habe die Vermutung das es doch an der Ausgabe liegt.
Probier es mal so:

PHP:
$nachricht = "
		<html>
		<head>
		  <title>Anmeldung Seminare</title>
		</head>
		<body>
		  <table>
		   	<tr><td width=\"100px\"><b>Vorname</b></td><td>" . $_POST['frmVorname'] . "</td></tr>
		  	<tr><td width=\"100px\"><b>Name</b></td><td>" . $_POST['frmName'] . "</td></tr>
		  	<tr><td width=\"100px\"><b>Strasse</b></td><td>" . $_POST['frmStrasse'] . "</td></tr>
		  	<tr><td width=\"100px\"><b>Plz / Ort</b></td><td>" . $_POST['frmPlz'] . " " . $_POST['frmOrt'] . "</td></tr>
		  	<tr><td width=\"100px\"><b>E-Mail</b></td><td>" . $_POST['frmMail'] . "</td></tr>
	  		<tr><td width=\"100px\"><b>Tel P</b></td><td>" . $_POST['frmTelp'] . "</td></tr>
	  		<tr><td width=\"100px\"><b>Tel G</b></td><td>" . $_POST['frmTelg'] . "</td></tr>
	  		<tr><td width=\"100px\"><b>Tel M</b></td><td>" . $_POST['frmTelm'] . "</td></tr>
		  	<tr><td width=\"100px\"><b>Nachricht</b></td><td>" . $_POST['frmBemerkungen'] . "</td></tr>
		  	<tr><td width=\"100px\"><b>Seminare</b></td><td>" . $_POST['frmSeminar'] . "</td></tr>
		  </table>
		</body>
		</html>
		";

Tobee
 
Hallo,

ja klar ich habs. Wie dumm von mir warum ist es mir nicht gleich eingefallen.
Du musst bei Checkboxen immer als Name " name[] " nehmen und dann in php als Array verarbeiten.

PHP:
<form id="Seminar" action="seminare_versenden.php" method="post" name="Seminar" enctype="Standard" onSubmit="return chkSeminar()">
<table width="363" border="0" cellspacing="2" cellpadding="0">
	<tr>
		<td colspan="2" align="left" valign="top"><b>Seminare elektronische Anmeldung:<br>
			</b><br>
		</td>
	</tr>
	<tr>
			<td align="left" valign="top" width="102"><b>Seminar:</b><font color="red">*</font></td>
			<td align="left" valign="top"><?php
					$result = mysql_query("SELECT * FROM seminare ORDER BY id DESC")or die(mysql_error());


while($row = mysql_fetch_array($result)) {

	echo "<input class='checkbox' type='checkbox' name='frmSeminar[]' value='". $row['tName'] ."'> ". $row['tName'] ." :: ". $row['tArt'] ."<br>";
	}
				?><br>
		</td>
		</tr>
	<tr>
			<td align="left" valign="top" width="102"><b>Vorname:</b><font color="red">*</font></td>
			<td align="left" valign="top"><input type="text" name="frmVorname" size="24" maxlength="30"></td>
		</tr>
		<tr>
			<td align="left" valign="top" width="102"><b>Name:</b><font color="red">*</font></td>
			<td align="left" valign="top"><input type="text" name="frmName" size="24" maxlength="30"></td>
		</tr>
		<tr>
			<td align="left" valign="top" width="102"><b>Strasse:</b></td>
			<td align="left" valign="top"><input type="text" name="frmStrasse" size="24" maxlength="40"></td>
		</tr>
		<tr>
			<td align="left" valign="top" width="102"><b>PLZ / Ort:</b></td>
			<td align="left" valign="top"><input class="plz" type="text" name="frmPlz" size="4" maxlength="5">&nbsp;<input class="ort" type="text" name="frmOrt" size="17" maxlength="30"></td>
		</tr>
		<tr>
			<td align="left" valign="top" width="102"><b>E-Mail:</b><font color="red">*</font></td>
			<td align="left" valign="top"><input type="text" name="frmMail" size="24" maxlength="50"></td>
		</tr>
		<tr>
			<td align="left" valign="top" width="102"><b>Tel P:</b></td>
			<td align="left" valign="top"><input type="text" name="frmTelp" size="24" maxlength="20"></td>
		</tr>
		<tr>
			<td align="left" valign="top" width="102"><b>Tel G:</b></td>
			<td align="left" valign="top"><input type="text" name="frmTelg" size="24" maxlength="20"></td>
		</tr>
		<tr>
			<td align="left" valign="top" width="102"><b>Tel M:</b></td>
			<td align="left" valign="top"><input type="text" name="frmTelm" size="24" maxlength="20"></td>
		</tr>
		<tr>
			<td align="left" valign="top" width="102"><b>Bemerkungen:</b></td>
			<td align="left" valign="top"><textarea name="frmBemerkungen" rows="4" cols="22"></textarea></td>
		</tr>
		<tr>
			<td align="left" valign="top" width="102"></td>
			<td align="left" valign="top">
			<div class="erforderlich">
				<br>
				<input type="submit" name="submit" value="anmelden"><br>
				<br>
				*Erforderliche Angaben</div>
		</td>
		</tr>
	</table>
</form>

Tobee
 
OK, und jetzt noch die Amateur Frage, wie nehme ich die Werte im zweiten File auseinander, dass diese auch aufgelistet und versendet werden?
 
Habs hinbekommen. Habe das Array einfacht in eine Variable gepackt und diese versendet.

Code:
foreach($_POST['frmSeminar'] as $keyname => $value)
		{
			$seminar .= $value."<br>";
		}

Danke für eure Hilfe
 
Zurück