Bestellungen über e-mail

Status
Nicht offen für weitere Antworten.
0

08/15

HI,

ich schreibe zur Zeit an einem Shop bin fast fertig, es gibt bloß folgendes Problem:
Wenn der Kunde seine Daten eingegeben hat und auf "OK" klickt ruft der Shop ein formular.php auf (was mir freundlicherweise geschrieben wurde)anstatt die e-mail zusenden. ich füge beide seiten (Kasse .HTML und Formular PHP)
anbei. Ich hoffe Ihr könnt mir helfen.....
THX

DIE FORMULAR.PHP SEITE
Code:
<?php
include("class.FastTemplate.php");

function verifyemail($email)
{
  if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $email, $check))
    return TRUE;
  else
    return FALSE;
}

//Klassenmethoden aufrufen
$aTPL = new FastTemplate(".");

$aTPL->define(array('base' => 'error.tpl.html',
		    'item' => 'error-items.tpl.html'));

################################################################################
//Empf&auml;ngeradresse
$to = "info@print-technology.de";

//Betreffzeile
$subject = "Bestellung";

//Redirect Pfad zur danke.html
$redirect = "danke.htm"; //Hier muss die Seite rein, zu der nach versenden weitergeleitet wird
################################################################################

//Werte entlausen
if(count($_REQUEST))
  foreach($_REQUEST AS $key => $var)
  {
    $var = strip_tags($var);     //HTML-JavaScrip-Code entfernen
    $var = trim($var);           //Leere Zeichen entfernen vorne und hinten
    $_REQUEST_ENTL[$key] = $var; //Wieder zur&uuml;ckf&uuml;hren
  }

//F&uuml;r die Werte, die eingegeben werden m&uuml;ssen, pr&uuml;fen ob vorhanden
if(!$_REQUEST_ENTL[Name])
  $error[] = "Geben Sie einen Wert in das Feld \"Name\" ein.";
if(!$_REQUEST_ENTL[Vorname])
  $error[] = "Geben Sie einen Wert in das Feld \"Vorname\" ein.";
if(!$_REQUEST_ENTL[Strasse])
  $error[] = "Geben Sie einen Wert in das Feld \"Strasse\" ein.";
if(!$_REQUEST_ENTL[PLZ])
  $error[] = "Geben Sie einen Wert in das Feld \"PLZ\" ein.";
if(!$_REQUEST_ENTL[Ort])
  $error[] = "Geben Sie einen Wert in das Feld \"Ort\" ein.";
if(!$_REQUEST_ENTL[Land])
  $error[] = "Geben Sie einen Wert in das Feld \"Land\" ein.";
if(!$_REQUEST_ENTL[EMail])
  $error[] = "Geben Sie einen Wert in das Feld \"E-Mail\" ein.";
if($_POST["AGB"] != "ON")
  $error[] = "Damit Ihre Bestellung get&auml;tigt werden kann, m&uuml;ssen Sie unsere<br>Allgemeinen Gesch&auml;ftsbedingungen akzeptieren!";

//Absender-Emailadresse pr&uuml;fen
if($_REQUEST_ENTL[EMail])
  if(verifyemail($_REQUEST_ENTL[EMail]) != TRUE)
    $error[] = "Ihre E-Mailadresse <b>$_REQUEST_ENTL[EMail]</b> ist ung&uuml;ltig.";

//Falls keine Fehler vorhanden, dann Email senden
if(!count($error))
{
  foreach($_REQUEST_ENTL AS $key => $var)
  {
    $key = ereg_replace("_", " ", $key);
    if(!ereg("senden",  $key) and ($var != ""))
      $daten .= $key.": ".$var."\n";
  }

  //Emailheader definieren
  $header  = "From: $_REQUEST_ENTL[Vorname] $_REQUEST_ENTL[Name] <$_REQUEST_ENTL[EMail]>\n";
  $header .= "Return-Path: $return\n";
  $header .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";

  //Email senden
  mail($to, $subject, $daten, $header);

  //redirect
  header("Location: $redirect");
}
else
{
  foreach($error AS $err)
  {
    $aTPL->assign(array('ERROR' =>$err));
    $aTPL->parse('ITEMS', '.item');
  }

  $aTPL->parse('BASE', 'base');
  $aTPL->FastPrint('BASE');
}
?>

UND DIE KASSE.HTML SEITE

<html>
<head>
<!-- SHP3-021215, v3.23 (c) 2002, Erstellt 20.10.04 16:16:52 mit Online-Shop von: www.zwahlen-informatik.ch -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!-- Lib: intern v3.23 -->
<meta http-equiv="expires" content="600">
<title>Kasse</title>
<link rel=stylesheet type="text/css" href="font.css">
</head>
<script language="JavaScript">
<!--
var gTotal=0.0;
var gTotal2=0.0;
var aVersand=0.0;
var aVersand1=8.90; var aVersand2=0.00; var aVersBetr=0.00;
var aZuschlag=0.0;
function rund(b,c)
{
  if (c==0) return Math.round(b*100)/100;
  return Math.round(b*20)/20;
}
function getBetr(b)
{
	k = (Math.round(100 * (b + 0.00001)) / 100 + 0.001) + '';
	k = k.substring(0, k.indexOf('.') + 3);
        return k;
}
function getBetr2(b)
{
        if (0==0.0) return '';
	return getBetr(b/0);
}
function putsArt(s)
{
if (s=='') return false;
a=s.split('|');
aMenge=a[0];
aNr=a[1];
aTitel=a[2];
aPreis=a[3];
aPreis2=a[4];
aTotal=getBetr(parseFloat(aMenge)*parseFloat(aPreis));
aTotal2=getBetr(parseFloat(aMenge)*parseFloat(aPreis2));
if (isNaN(aTotal2)) aTotal2='';
gTotal=gTotal+(parseFloat(aMenge)*parseFloat(aPreis));
document.writeln('<tr>');
document.writeln('   <td width="13%" valign="top">'+aMenge+'</td>');
document.writeln('	<td width="13%" valign="top">'+aNr+'</td>');
document.writeln('	<td width="44%" valign="top">'+aTitel+'</td>');
document.writeln('	<td width="15%" align="right" valign="top">'+aPreis+'</td>');
document.writeln('	<td width="15%" align="right" valign="top">'+aTotal+'</td>');
document.writeln('</tr>');

}
function versand()
{
aVersand1=parseFloat(aVersand1);
aVersand2=parseFloat(aVersand2);
aVersBetr=parseFloat(aVersBetr);
if (aVersBetr>0.0&&gTotal>aVersBetr)
    aVersand=aVersand2;
else
    aVersand=aVersand1;
if (isNaN(aVersand) || aVersand<=0.0) return false;
gTotal=gTotal+aVersand;
document.writeln('<tr>');
document.writeln('	<td width="13%" valign="top">&nbsp;</td>');
document.writeln('	<td width="13%" valign="top">&nbsp;</td>');
document.writeln('	<td width="44%" valign="top"><br>Versandspesen</td>');
document.writeln('	<td width="15%" align="right" valign="top">&nbsp;</td>');
document.writeln('	<td width="15%" align="right" valign="top"><br>'+getBetr(aVersand)+'</td>');
document.writeln('</tr>');

}
function zuschlag()
{
aZuschlag=0.00;
if (isNaN(aZuschlag) || aZuschlag<=0.0) return false;
gTotal=gTotal+aZuschlag;
document.writeln('<tr>');
document.writeln('	<td width="13%" valign="top">&nbsp;</td>');
document.writeln('	<td width="13%" valign="top">&nbsp;</td>');
document.writeln('	<td width="44%" valign="top"><br></td>');
document.writeln('	<td width="15%" align="right" valign="top">&nbsp;</td>');
document.writeln('	<td width="15%" align="right" valign="top"><br>'+getBetr(aZuschlag)+'</td>');
document.writeln('</tr>');

}
function chkForm(f)
{
var e,ft='Eingabe fehlt: ';
var felder='|Name|Vorname|Strasse|PLZ|Ort|Land|EMail|AGB|';
var param=parent.window.location.search;
if (param !='') f.Param.value=unescape(param.substr(1));
for (i=0;i<f.length;i++)
{
    e=f.elements[i];
    if (felder.indexOf('|'+e.name+'|')>=0&&(e.value==""||e.type=='checkbox'&&!e.checked))
    {
       alert(ft+e.name);
       e.focus();
       return false;
    }
}
    return true;
}
// --></script>
<body bgcolor="#FFFFFF">

<h1>Ihre Bestellung</h1>

<table border="0" width="100%" bgcolor="#C0C0C0" cellspacing="0">
<tr>
	<td width="13%" valign="top"><b>Anzahl</td>
	<td width="13%" valign="top"><b>Nr</td>
	<td width="44%" valign="top"><b>Artikel</td>
	<td width="15%" align="right" valign="top"><b>Preis Euro</td>
	<td width="15%" align="right" valign="top"><b>Total</td>
</tr>
<script language="JavaScript">
<!--
	sArt=parent.getKorb();
	if (sArt.length<1)
	{
		alert('Kein Artikel im Warenkorb!');
		self.location.replace('start.htm');
	}
	gTotal=0.0;
	for (sArti=0; sArti<sArt.length; sArti++)
	{
		putsArt(sArt[sArti]);
	}
        if (gTotal<26.00) {alert("Mindestbestellung:   26.00 Euro\nIhre Bestellung:      "+getBetr(gTotal)+" Euro");self.location.replace("start.htm");}
// --> </script>

<script language="JavaScript"><!--
versand();// --> </script>
<script language="JavaScript"><!--
zuschlag();// --> </script>
<tr>
<td width="13%" valign="top">&nbsp;
</td>
	<td width="13%" valign="top">&nbsp;</td>
	<td width="44%" valign="top">&nbsp;</td>
	<td width="15%" align="right" valign="top">&nbsp;</td>
	<td width="15%" align="right" valign="top">
      <hr>
      <b>Euro <script language="JavaScript"><!--
document.write(getBetr(gTotal));// --> </script>
</b></td>
</tr>

</table>
<hr>
<table border="0" cellspacing="1" width="100%">
  <tr>
    <td width="100%"><b>Konditionen:</b>
      <p>Alle Preise inkl. MwSt.<br>
    </td>
  </tr>
</table>
<hr>
<form name="Formular" action="formular.php" method="GET"  onSubmit="return chkForm(this)">
  <table border="0" width="76%" height="49">
    <tr>
      <td width="27%" height="30" valign="top"><b>Lieferung:</b><br>
        <select size="1" name="Lieferung">
        <option value="UPS">UPS</option>

        </select>
      </td>
      <td width="27%" height="30" valign="top"><b>Zahlung:</b><br>
        <select size="1" name="Zahlung">
        <option value="per Nachnahme">per Nachnahme</option>

        </select>
      </td>
      <td width="21%" height="30" valign="top">

      </td>
    </tr>
  </table>
  <h3>&nbsp;Auftraggeber</h3>
  <table border="0" width="98%" cellspacing="0">
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">&nbsp;</td>
      <td width="73%">&nbsp;</td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">Kunden Nr.</td>
      <td width="73%"><input type="text" name="KundenNr" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">Anrede:</td>
      <td width="73%"><input type="text" name="Anrede" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">Firma:</td>
      <td width="73%"><input type="text" name="Firma" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>Name:</b></td>
      <td width="73%"><input type="text" name="Name" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>Vorname:</b></td>
      <td width="73%"><input type="text" name="Vorname" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">Zusatz:</td>
      <td width="73%"><input type="text" name="Zusatz" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>Strasse:</b></td>
      <td width="73%"><input type="text" name="Strasse" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>PLZ:</b></td>
      <td width="73%"><input type="text" name="PLZ" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>Ort:</b></td>
      <td width="73%"><input type="text" name="Ort" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>Land:</b></td>
      <td width="73%"><input type="text" name="Land" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">Telefon P:</td>
      <td width="73%"><input type="text" name="TelefonP" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">Telefon G:</td>
      <td width="73%"><input type="text" name="TelefonG" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">Fax:</td>
      <td width="73%"><input type="text" name="Fax" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>E-Mail:</b></td>
      <td width="73%"><input type="text" name="EMail" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">URL:</td>
      <td width="73%"><input type="text" name="URL" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">&nbsp;</td>
      <td width="73%">&nbsp;</td>
    </tr>
  </table>
  <p><b>Bemerkung:</b><br>
  <textarea rows="5" name="Bemerkung" cols="61"></textarea><br>
  <input type="checkbox" name="AGB" value="ON"> Ich akzeptiere die Allgemeinen Gesch&auml;ftsbedingungen (AGB)</p>
  <p><input type="submit" value="Abschicken" name="B1"><input type="reset"
  value="Zur&uuml;cksetzen" name="B2"></p>
  <input type="hidden" name="to" value="info@print-technology.de"> <input type="hidden" name="subject" value="Bestellung"> <input type="hidden" name="Waehrung" value="Euro"> <input type="hidden" name="Versand" value=""> <input type="hidden" name="Zuschlagtext" value=""> <input type="hidden" name="Zuschlag" value=""> <input type="hidden" name="Total" value=""> <input type="hidden" name="Param" value=""> <input type="hidden" name="Shop" value="Online Shop pro v 3.23, SHP3-021215, Brommelcamp"> <input type="hidden" name="ZFields" value=""> <input type="hidden" name="Inhaber" value="Brommelcamp Printware & Service;;;Karl-Marx Strasse 171;De;12043;Berlin;http://www.brommelcamp.de">
<script language="JavaScript">
<!--
	if (sArt.length>0)
	{
		for (sArti=0; sArti<sArt.length; sArti++)
		{
			document.writeln('<input type="hidden" name="Artikel[]" value="'+sArt[sArti]+'">');
		}
	}
if (aVersand>0.0) document.Formular.Versand.value=getBetr(aVersand);
document.Formular.Zuschlag.value=getBetr(aZuschlag);
document.Formular.Total.value=getBetr(gTotal);
// --> </script>
</form>
</body>
</html>
 
Aber das formular.php-Skript muss aufgerufen werden, damit eine E-Mail versandt wird.

Wo genau liegt das Problem?
 
das problem liegt darin:
der kunde gibt seine daten an drückt "OK" dann wird auf einmal der quellcode von formular.php angezeigt(!) und der shopinhaber bekommt keine e-mail.....
 
AHA!
kann ich einfach php installieren Ist ein win98 rechner falls das wichtig ist
 
Mit "einfach PHP installieren" ist es da nicht getan.
Du musst dem Webserver auch zu verstehen geben, dass er jetzt PHP kann. Also genauer gesagt, dass er die .php-Files durch den PHP-Interpreter jagen soll.

Du nutzt als Web-Server Apache nehme ich an? Dann ist dort die httpd.conf Dein Freund.
Informationen ueber was zu machen ist sind in der in PHP enthaltenen Installations-Anleitung zu finden.
PHP selbst bekommst Du auf www.php.net
 
Also mein web-server ist strato.de
ich dachte ich müsste php auf meinen rechner installieren
 
strato.de ist kein Webserver, sondern ein Webhoster. Die haben dort Server auf denen ein Webserver laeuft, wahrscheinlich Apache.
Da PHP eine serverseitige Scriptsprache ist wird das auf dem Client absolut nicht benoetigt, aber der Server muss PHP unterstuetzen.

Ist in Deinem Webhosting-Paket PHP enthalten?
 
Wenn du das Skript lokal testen möchtest, benötigst du sowohl einen Webserver als auch einen PHP-Interpreter. Dass dein Konto bei Strato dies besitzt, davon bin ich überzeugt.
 
Status
Nicht offen für weitere Antworten.
Zurück