[PHP] Bestellformular Probleme!

nitroox

Grünschnabel
Guten Morgen zusammen,

ich habe folgendes Problem, bei dem ich Hilfe bräuchte.

Ich brauche ein Bestellformular, welches folgende Anforderungen beinhalten muss:

Kunde wählt Produkt aus -> je nach Produkt werden weitere Formularfelder ausgegeben
Nachdem alle Felder ausgefüllt wurden soll sich der Preis berechnen.

Kann man so etwas ohne JS, am besten in einem Formular lösen, damit der Kunde nicht dauernd auf einen Button klicken muss?

Nachdem der Kunde das Produkt ausgewählt hat kann er einmal auf einen Button klicken...

Bitte helft mir******
 
Wie immer wenn so ein Beitrag kommt.

Willst du eine fertige Lösung, dann schreib es in der Jobbörse. Wenn du Hilfe haben willst, dann zeig mal was du schon selber gemacht hast.

Aber abgesehen davon. Mit PHP alleine kommst du um den Klick auf einen (oder mehrere) Buttons nicht herum. Dann brauchst du JS, Ajax oder so was in der Art.
 
PHP:
<?php
require("funktionen.php");
db_connect();
?>

<form action="#" method="POST">

<?php	
$sql=mysql_query("SELECT id, name FROM produkte ORDER BY id");

	echo '<b>Material:</b><br>';
	echo '<select name="produkt">'; 
	while($row=mysql_fetch_assoc($sql)) 
	{ 
		echo '<option value='.$row["id"].'>'.$row["name"].'</option>'; 
	} 
	echo '</select><br>';

if($_POST["produkt"])
{
	$pid=$_POST["produkt"];
	echo "PID: $pid";
	
	$sql=mysql_query("SELECT staerke,ver_id FROM produkte WHERE id LIKE '$pid'");
	$show = mysql_fetch_assoc($sql);
		$staerke = $show["staerke"];
		$ver_id = $show["ver_id"];

		


	if($staerke==0)
	{
		$sql=mysql_query("SELECT * FROM produkte WHERE id LIKE '$pid'");
		$show = mysql_fetch_assoc($sql);

			$druckflaeche = mysql_real_escape_string($show["druckflaeche"]);
			$art_farbe = mysql_real_escape_string($show["art_farbe"]);
			$druck_farbe = mysql_real_escape_string($show["druck_farbe"]);
			$preis = mysql_real_escape_string($show["preis"]);
			$menge = mysql_real_escape_string($show["m_id"]);
			$array = explode(',',$menge);


			echo "<b>Menge:</b><br>";
				echo "<select name='men'>";

				for($x=0;$x<count($array);$x++)	{
						$sql=mysql_query("SELECT id, name FROM p_mengen WHERE id LIKE '$array[$x]'");
							$show=mysql_fetch_assoc($sql);
							$id = $show["id"];
							$name=$show["name"];
					
							echo "<option value=\"$id\">$name</option>";
				
								}
							

				echo "</select><br>";
				
				echo "<b>Artikelfarbe:</b><br><select name=\"art_farbe\">";
				$array = explode(',',$art_farbe);
				for($x=0;$x<count($array);$x++)	{
				$sql=mysql_query("SELECT name FROM p_farben WHERE id LIKE '$array[$x]'");
					$show=mysql_fetch_assoc($sql);
					$name=$show["name"];

				echo "<option value=\"$array[$x]\">$name</option>";
			
								}
				echo "</select><br><b>Druckfarbe:</b> <br><select name=\"druck_farbe\">";
					$array = explode(',',$druck_farbe);
				for($x=0;$x<count($array);$x++)	{
				$sql=mysql_query("SELECT name FROM p_farben WHERE id LIKE '$array[$x]'");
					$show=mysql_fetch_assoc($sql);
					$name=$show["name"];

				echo "<option value=\"$array[$x]\">$name</option>";
			
								}
				echo "</select><br><br>";
	}
	if($staerke!=0)
	{
		echo "<meta http-equiv=\"refresh\" content=\"0; URL=index2.php?pid=$pid\">";
	}
}
		if($_POST["ver_art"])
		{
			$laenge=$_POST['laenge'];
			$breite=$_POST['breite'];
			$menge=$_POST['menge'];
			$ver_art=$_POST['ver_art'];
			$pid=$_POST["produkt"];
		
		echo "PID: $pid";

		if($breite>1.30)
		{
			echo "Sie haben die maximale Breite von 1,30m überschritten!";
		}else{

		$qm=$laenge*$breite;
	
			if($qm<1)	{
				echo "Sie haben weniger als 1m² ausgewählt, Ihnen wird dennoch der volle m² Preis berechnet!";
					}

	echo "<br>Länge= $laenge - Breite: $breite";
	echo "<br>qm: $qm";
	echo "<hr>";
	
	$sql=mysql_query("SELECT * FROM produkte WHERE id LIKE '$pid'");
		while($mat=mysql_fetch_assoc($sql))	{
				$qmpreis=mysql_real_escape_string($mat["qmpreis"]);
							}
	$sql2=mysql_query("SELECT * FROM p_verarbeitung WHERE id LIKE '$ver_art'");
		while($vera=mysql_fetch_assoc($sql2))	{
				$ver_preis=mysql_real_escape_string($vera["aufpreis"]);
							}
	
	//Nettopreis	
	$npreis=round($qm*$qmpreis*$menge,2);

	$npreis_ver=$npreis+$ver_preis;

	//Berechnung Mwst
	$mwst=round($npreis_ver/100*19,2);

	
	//Brutto
	$bpreis=$npreis_ver+$mwst;
	
		echo "Nettopreis: $npreis<br>";
		echo "Verarbeitung: $ver_preis<br>";
		echo "Mwst: $mwst <br>";
		echo "Brutto: $bpreis<br>";
			}
		echo "<br>Ver_art: $ver_art";
		}
		if($_POST["men"])
		{
		echo "kuli";
		}

	
?>
<input type="submit" value="weiter..."></form>
 
Zurück