mysqldumper
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 07.07.2008, 16:27   #1
TP-Member
 
Registriert seit: Aug 2007
Typochonder ist auf einem guten Weg

Auswahl Selectbox mit versenden


hi leutz,

ich habe ein kontaktform in der der user per selectbox (Größe, Menge) eine auswahl treffen kann. nun möchte ich, dass die auswahl beim abschicken auch mit versand wird. ebenfalls soll das kontaktform erst abgeschickt werden wenn in einer checkbox ein häckchen gesetzt wird - bestätigung der AGB.

da ich nun nicht der php-profi bin bitte ich um eure hilfe.

mein bisheriger code dazu sieht wie folgt aus:

HTML-Code:
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" onsubmit="return chkForm()">
	<p><?php
	  if($_POST['sent']==1)
{
if ($AGB!=1) 
		{
		$meldung="Bitte akzeptiere die Allgemeinen Geschäftsbedingungen, um die Bestellung abzuschicken."; 
		
		}

if ($_POST['name'] AND $_POST['email'])
{
	 
	{   
		$message="Artikel:\n\n";
		$message.="Groesse: ";
		$message.=$_POST['size'];
		$message.="\n";
		$message.="Menge: ";
		$message.=$_POST['menge'];
		$message.="\n";
		$message.="Name: ";
		$message.=$_POST['name'];
		$message.="\n";
		$message.="Vorname: ";
		$message.=$_POST['vorname'];
		$message.="\n";
		$message.="\n";
		$message.="Strasse: ";
		$message.=$_POST['strasse'];
		$message.="\n";
		$message.="Nr: ";
		$message.=$_POST['nummer'];
		$message.="\n";
		$message.="PLZ: ";
		$message.=$_POST['plz'];
		$message.="\n";
		$message.="Ort: ";
		$message.=$_POST['ort'];
		$message.="\n";
		$message.="\n";
		$message.='Email: ';
		$message.=$_POST['email'];
		$message.="\n";
		$message.="\n";
		$message.="Mitteilung: ";
		$message.=$_POST['mitteilung'];
		$message.="\n";      
						
	}
	//echo $message;
	if (mail("abc@test.de", "Kontaktform", $message, "From: ".$_POST['email']))

	{
		// Erfolgsmeldung ausgeben
		echo '<p>Versandbestätigung</p>';
	}

	
	}
// $sent löschen, damit das Formular erneut angezeigt wird
	/*unset($_POST['sent']);*/
}
	  
	  // Formular anzeigen, wenn $sent nicht exisitert.
if(!$_POST['sent'])
{
?></p>
	  <!-- Verstecktes Feld zum Testen, ob Fehlermeldung erscheinen soll oder nicht -->
  <input type="hidden" name="sent" value="1" style="display:none;" />
  <label for="Size">Größe:</label>
        <select name="Size" size="1">
          <option>48 / 50</option>
          <option>52 / 54</option>
        </select>
        <br />
		<label for="Menge">Menge:</label>
        <select name="Menge" size="1" <? @$menge = $_POST['menge']; ?>>
          <option>1</option>
          <option>2</option>
		  <option>3</option>
		  <option>4</option>
		  <option>5</option>
		  <option>6</option>
		  <option>7</option>
		  <option>8</option>
		  <option>9</option>
        </select>
        <br />
		<label for="preis">Preis:</label><p style="float:left;padding-top:5px;color:#4D73B1;"><strong>19,95 EUR</strong></p>
		<br />
		<br />
      <label for="name">Name:</label><? @$name = $_POST['name']; ?>
      <input name="name" type="text" id="Name" value="<? echo $name;?>" />
      <br />
      <label for="vorname">Vorname:</label><? @$vorname = $_POST['vorname']; ?>
      <input name="vorname" type="text" id="Vorname" value="<? echo $vorname;?>" />
      <br />
      <label for="strasse">Stra&szlig;e:</label><? @$strasse = $_POST['strasse']; ?>
      <input name="strasse" type="text" id="Strasse" value="<? echo $strasse;?>" />
      <label for="nummer">Nr.:</label><? @$nummer = $_POST['nummer']; ?>
      <input name="nummer" id="Nummer" type="text" size="4" maxlength="4" value="<? echo $nummer;?>" />
      <br />
      <label for="plz">PLZ:</label><? @$plz = $_POST['plz']; ?>
      <input name="plz" id="PLZ" type="text" size="5" maxlength="5" value="<? echo $plz;?>" />
      <label for="ort">Ort:</label><? @$ort = $_POST['ort']; ?>
      <input name="ort" id="Ort" type="text" value="<? echo $ort;?>" />
      <br />
      <label for="email">Email:</label><? @$email = $_POST['email']; ?>
      <input name="email" id="Email" type="text" value="<? echo $email;?>" />
      <br />
      <label for="nachricht">Mitteilung:</label><? @$mitteilung = $_POST['mitteilung']; ?>
      <textarea name="Nachricht" cols="20" rows="4" id="Nachricht"><? echo $mitteilung;?></textarea>
      <br />
	  <p style="color:red;padding-left:69px;"><? echo $meldung; ?></p><br />
	  <label for="AGB" style="padding-top:2px;">AGB:</label>
		<input name="AGB" type="checkbox" id="AGB" value="1" style="width:auto;padding:0;margin-right:10px;"> Ich habe die <a href="agb.html" target="_blank">allgemeinen Gesch&auml;ftsbedingungen</a> gelesen und akzeptiere sie.<br />
		<br />
        <input type="submit" name="Submit" value="Abschicken" />
</form>
			  <?php	
}
?>
__________________
Ciaó Typochonder
Typochonder ist offline   Mit Zitat antworten


Alt 07.07.2008, 18:20   #2
TP-Supporter
 
Benutzerbild von mogidala
 
Registriert seit: Sep 2007
Ort: Mülheim an der Ruhr
mogidala bringt sich richtig einmogidala bringt sich richtig ein
du hast Menge einmal groß und einmal klein geschrieben, daran sollte es liegen denke ich.

wegen den AGB, du musst eine weitere if-abfrage bauen, bzw. das versenden des formulares in ein else packen.
Code:
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" onsubmit="return chkForm()">
	<p><?php
	  if($_POST['sent']==1)
{
if ($AGB!=1) 
		{
		$meldung="Bitte akzeptiere die Allgemeinen Geschäftsbedingungen, um die Bestellung abzuschicken."; 
		
		} ELSE

{

if ($_POST['name'] AND $_POST['email'])
{
	 
...
ganz am ende nich vergessen, das else wieder mit einer } zu schließen.
mogidala ist offline   Mit Zitat antworten
Alt 07.07.2008, 23:12   #3
TP-Member
 
Registriert seit: Aug 2007
Typochonder ist auf einem guten Weg
danke mogidala.

erstes "problem" gelöst. beim zweiten problem weiß ich nicht so recht wo genau die schließende klammer hin muss. bitte noch einen tipp.
__________________
Ciaó Typochonder
Typochonder ist offline   Mit Zitat antworten
Alt 07.07.2008, 23:29   #4
TP-Supporter
 
Benutzerbild von mogidala
 
Registriert seit: Sep 2007
Ort: Mülheim an der Ruhr
mogidala bringt sich richtig einmogidala bringt sich richtig ein
hallo!

wenn ich mich nicht täusche müsste es nach

Code:
// $sent löschen, damit das Formular erneut angezeigt wird
	/*unset($_POST['sent']);*/
}
sein.
Denn du setzt das, was nach der "if (agb nicht geklickt) {meldung ausgeben} kommt ja in den else block. du musst also alles das einklammern, das passieren soll, wenn die AGBs geklickt sind.

hier nochmal der ganze (hoffentlich korrekte, ist ungetestet) code ordentlich eingerückt und kommentiert, damit du die einzelnen Bereiche erkennst
Im Urpsrungscode war übrigens noch eine { zuviel drin!

Code:
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" onSubmit="return chkForm()">
  <p>
    <?php
if($_POST['sent']==1)
	{
	if ($AGB!=1) //wenn die AGB nicht akzeptiert wurden
		{
		$meldung="Bitte akzeptiere die Allgemeinen Geschäftsbedingungen, um die Bestellung abzuschicken."; 
		}
	else //wenn die AGB akzeptiert wurden, soll das Formular verarbeitet werden
		{
		if ($_POST['name'] AND $_POST['email']) //Hier wird nur weitergemacht, wenn name udn mail gegeben sind
			{
			$message="Artikel:\n\n";
			$message.="Groesse: ";
			$message.=$_POST['size'];
			$message.="\n";
			$message.="Menge: ";
			$message.=$_POST['menge'];
			$message.="\n";
			$message.="Name: ";
			$message.=$_POST['name'];
			$message.="\n";
			$message.="Vorname: ";
			$message.=$_POST['vorname'];
			$message.="\n";
			$message.="\n";
			$message.="Strasse: ";
			$message.=$_POST['strasse'];
			$message.="\n";
			$message.="Nr: ";
			$message.=$_POST['nummer'];
			$message.="\n";
			$message.="PLZ: ";
			$message.=$_POST['plz'];
			$message.="\n";
			$message.="Ort: ";
			$message.=$_POST['ort'];
			$message.="\n";
			$message.="\n";
			$message.='Email: ';
			$message.=$_POST['email'];
			$message.="\n";
			$message.="\n";
			$message.="Mitteilung: ";
			$message.=$_POST['mitteilung'];
			$message.="\n";      						
			} //Ende der Verarbeitung der Daten für die Mail
		//echo $message; //wenn die slashes vorm echo weggenommen werden, bekommt der Kunde seine nachricht nochmal angezeigt
		if (mail("abc@test.de", "Kontaktform", $message, "From: ".$_POST['email'])) //mail wird verschickt
			{
			// Erfolgsmeldung ausgeben
			echo '<p>Versandbestätigung</p>';
			}		
		} //Ende von ELSE
	// $sent löschen, damit das Formular erneut angezeigt wird
		/*unset($_POST['sent']);*/
	} //Ende von der ersten geöffneten Klammer (wenn Formular abgeschickt)
		  
		  // Formular anzeigen, wenn $sent nicht exisitert.
	if(!$_POST['sent'])
	{
	?>
  </p>
  <!-- Verstecktes Feld zum Testen, ob Fehlermeldung erscheinen soll oder nicht -->
  <input type="hidden" name="sent" value="1" style="display:none;" />
  <label for="Size">Größe:</label>
  <select name="size" size="1">
    <option>48 / 50</option>
    <option>52 / 54</option>
  </select>
  <br />
  <label for="Menge">Menge:</label>
  <select name="menge" size="1" <? @$menge = $_POST['menge']; ?>>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
    <option>7</option>
    <option>8</option>
    <option>9</option>
  </select>
  <br />
  <label for="preis">Preis:</label>
  <p style="float:left;padding-top:5px;color:#4D73B1;"><strong>19,95 EUR</strong></p>
  <br />
  <br />
  <label for="name">Name:</label>
  <? @$name = $_POST['name']; ?>
  <input name="name" type="text" id="Name" value="<? echo $name;?>" />
  <br />
  <label for="vorname">Vorname:</label>
  <? @$vorname = $_POST['vorname']; ?>
  <input name="vorname" type="text" id="Vorname" value="<? echo $vorname;?>" />
  <br />
  <label for="strasse">Stra&szlig;e:</label>
  <? @$strasse = $_POST['strasse']; ?>
  <input name="strasse" type="text" id="Strasse" value="<? echo $strasse;?>" />
  <label for="nummer">Nr.:</label>
  <? @$nummer = $_POST['nummer']; ?>
  <input name="nummer" id="Nummer" type="text" size="4" maxlength="4" value="<? echo $nummer;?>" />
  <br />
  <label for="plz">PLZ:</label>
  <? @$plz = $_POST['plz']; ?>
  <input name="plz" id="PLZ" type="text" size="5" maxlength="5" value="<? echo $plz;?>" />
  <label for="ort">Ort:</label>
  <? @$ort = $_POST['ort']; ?>
  <input name="ort" id="Ort" type="text" value="<? echo $ort;?>" />
  <br />
  <label for="email">Email:</label>
  <? @$email = $_POST['email']; ?>
  <input name="email" id="Email" type="text" value="<? echo $email;?>" />
  <br />
  <label for="nachricht">Mitteilung:</label>
  <? @$mitteilung = $_POST['mitteilung']; ?>
  <textarea name="Nachricht" cols="20" rows="4" id="Nachricht"><? echo $mitteilung;?></textarea>
  <br />
  <p style="color:red;padding-left:69px;"><? echo $meldung; ?></p>
  <br />
  <label for="AGB" style="padding-top:2px;">AGB:</label>
  <input name="AGB" type="checkbox" id="AGB" value="1" style="width:auto;padding:0;margin-right:10px;">
  Ich habe die <a href="agb.html" target="_blank">allgemeinen Gesch&auml;ftsbedingungen</a> gelesen und akzeptiere sie.<br />
  <br />
  <input type="submit" name="Submit" value="Abschicken" />
</form>
<?php	
}
?>
mogidala ist offline   Mit Zitat antworten
Alt 07.07.2008, 23:35   #5
TP-Supporter
 
Benutzerbild von mogidala
 
Registriert seit: Sep 2007
Ort: Mülheim an der Ruhr
mogidala bringt sich richtig einmogidala bringt sich richtig ein
du könntest übrigens diesen teil:
Code:
//Ende von der ersten geöffneten Klammer (wenn Formular abgeschickt)
		  
		  // Formular anzeigen, wenn $sent nicht exisitert.
	if(!$_POST['sent'])
auch einfach durch else ersetzen, denn genau die selbe variable wird ja ganz oben schon abgefragt, nur mit gegenteiligem wert. Im prinzip ist der code ja so:

wenn formular abgeschickt (im code: if($_POST['sent'])) {verarbeite das formular}
wenn formular nicht abgeschickt (im code: if(!$_POST['sent'])) {zeige das formular}

daraus könntest du wie gesagt einfach

if($_POST['sent']))
{verarbeite das formular}
ELSE {zeige das formular}

Verstehst was ich meine? macht technisch keinen unterschied, verkürzt aber den code etwas.
mogidala ist offline   Mit Zitat antworten
Alt 08.07.2008, 19:08   #6
TP-Member
 
Registriert seit: Aug 2007
Typochonder ist auf einem guten Weg
wunderbar jetzt funzt es. nochmals besten dank @mogidala. hast mir wirklich super geholfen.
__________________
Ciaó Typochonder
Typochonder ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Auswahl Selectbox mit versenden [PHP] Auswahl Selectbox mit versenden
« getimagesize funktioniert nicht mehr | Fragen zur Funktion mail() »

Stichworte
php

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
IE 6 und die Selectbox Typochonder Webdesign & Co. 0 04.09.2007 11:13
Tabelle mit Selectbox kombinieren euphie HTML Puristen 2 10.05.2007 14:19
Selectbox IE <-> FF Iceman531 HTML Puristen 8 11.01.2007 15:30
html selectbox anordnen NickD Javascript 0 09.11.2006 12:07
PHP: Werte aus SelectBox übergeben PoiSoN Traum-Dynamik 22 31.03.2005 00:24


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:18 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67