Hilfe bei einem PHP-Mailer

  • Hi Zusammen,

    ich habe hier ein Formular welches im ersten Teil einen Preis berechnen soll und im zweiten Teil dann ein normales Formular darstellt.

    Das Absenden des Formulars klappt auch super, aber leider die Berechnung nicht. Ich habe zuvor mit den selben JavaScript in einer html-Datei gearbeitet, da ging es reibungslos. Aber bei der Kombination mit dem Formular und dem PHP-Mailer ging wohl was schief. Wenn ich den oberen Button klicke sendet er mir ebenfalls das Formular ab und macht keine Berechnung.

    Ich wäre euch wirklich sehr dankbar, wenn mir Jemand nen Tipp geben könnte wie ich das Problem löse.

    2 Mal editiert, zuletzt von #cousin# (2. Februar 2009 um 02:50)

  • habe ich noch nicht getestet, aber dann würde er ja das Ergebnis der Berechnung direkt per Mail versenden und dem Kunden garnicht anzeigen, oder?

    Ich möchte, dass der Kunde sich den Preis berechnen lassen kann durch einen Klick auf den 1. Button, danach den Preis angezeigt bekommt und dann entscheiden kann, ob er bestellt, oder nicht.

    Falls er dann den 2. Button am Seitenende anklickt, soll das Ergebnis der Kalkulation mit dem kompletten Formular und dem Dateianhang (dieser Teil steht noch nicht) an mich gesendet werden.

  • ja dann machste einen button mit type="button" und gibst dem das onclick="calc();" mit
    und am ende des formulars machste nen button type="submit();"
    und wenn du alles in einem abwasch haben willst machste da nur den normalen button rein und schreibst ne funktion die das ergebnis ausgibt und nen confirm-dialog danach wo gefragt wird ob das formular versendet werden soll

  • das hab ich ja so auch gemacht:

    PHP
    <td class="Text"><label>
          <input type="image" src="../bilder/kalkulieren.png" name="berechnen" id="berechnen" value="Kalkulieren" onclick="calc();" />
        </label></td>


    und am Ende des Formulars:

    PHP
    <td rowspan="2" align="center"><label>
          <input type="image" src="../bilder/bestellen.png" name="send" id="send" value="Senden" />
        </label></td>
  • ich glaube wir reden aneinander vorbei, oder ich steh auf dem Schlauch :o


    das Absenden des Formulars klappt ja, nur leider sendet er das Formular auch beim Klicken auf den ersten Button ab, wo er eigentlich nur die Funktion calc() ausführen sollte.

  • also ich habs bisher noch net erörtern können, aber über den input type="image" wird des formular versendet, nen normaler button hingegen hat nichma das formular abgesendet oder die calc-funktion ausgeführt...

    mein tip: mach aus einem formular zwei, du kannst ja beim berechnen hidden fields mit kopien der werte aus der berechnung füllen, so kann man des separat ausrechnen ohne probleme zu bekommen und versenden.
    und ich würd an deiner stelle den phpmailer benutzen statt einfach nur die mail-methode

  • ok, ich bin zumindest mal froh, dass der Profi an dem Problem auch hängt :D

    ich werde es morgen mit dem getrennten Formular und dem PHP-Mailer versuchen und mich dann hier nochmal melden.

    Vielen Dank auf jeden Fall schonmal für deine Hilfe und Mühe!

  • so, nun hab ich den PHP-Mailer verwendet, der is wirklich um einiges besser als die Variante die ich versucht hatte.

    Wenn ich alles in ein Formular stecke habe ich die selben Probleme wie schon am Anfang, aber er sendet die e-mail ab.

    Wenn ich nun aber 2 Formulare daraus mache funktioniert der untere Teil (also das normale Formular) fehlerfrei, jedoch die Berechnung nicht. Kannst du dir den Teil mal anschauen? Ich glaube ich habe die Zuweisung falsch, also dass er mir die Ergebnisse in die Formularfelder schreibt.

    2 Mal editiert, zuletzt von #cousin# (1. Februar 2009 um 16:03) aus folgendem Grund: Fehler

  • Teil 1:

    Einmal editiert, zuletzt von #cousin# (1. Februar 2009 um 16:06)

  • Teil 2:

  • Aaaaalso, so wie ich die Sache sehe, ist der prinzipielle Aufbau schon sehr unglücklich. Wichtige Programmteile sollten niemals auf JavaScript basieren. Außerdem wird doch schon beim Aufruf des Scriptes eine Mail rausgehauen. Ich sag's mal so: google mit dem Begriff "Affenformular" füttern und entsprechend umbauen. Außerdem solltest du deine Daten in einer Datenbank halten, denn alles per HTML zusammenschrauben ist hierbei auch nicht das Gelbe vom Ei.

    Und noch ein Tipp: checke deine Seiten mal mit http://validator.w3.org/

    Einmal editiert, zuletzt von bandit600 (1. Februar 2009 um 16:27)

  • Mit der Datanbank gebe ich dir Recht, leider hat mien Bekannter bei seinem Paket keine Dabei und wegen den 5 Werten extra eine dazu zu buchen finde ich auch etwas übertrieben.

    Dass man die Berechnung nicht unbedingt mit JS machen sollte, stimme ich dir auch zu. In diesem Fall habe ich diesen Teil aber schon fertig bekommen und sollte ihn nur in die neue Webseite einpflegen. Und um ehrlich zu sein, war ich zu faul das Ganze nochmal neu mit PHP zu schreiben.

    Der Validaor spuckt keine besonderen Fehler aus. Er sagt mir nur, dass er onMouseOver nicht kennt und das mehrfach "alt=" fehlt.

    Wie meinst du das, dass er ne Mail schon beim Aufruf des Scripts raushaut?

  • Teil 1 des Scriptes wird doch auch durchgeführt, und somit wird gnadenlos ein Mail rausgehauen.

    Ich empfehle dir dringends, die beiden Zeilen an den Anfang zu schreiben:

    error_reporting(E_ALL);
    ini_set('display_errors', true);

    Und um ehrlich zu sein, war ich zu faul das Ganze nochmal neu mit PHP zu schreiben.


    Schlechte Einstellung.

  • ok, hab ich gemacht und sehe nun auch einige Fehler

    die ganzen Fehler beziehen sich auf den Teil, bei dem ich die Variablen deklariere für den Mail-Body, was ja aber auch klar ist, da er Diese ja erst hat, wenn das formular abgesendet wird.

    Kann ich das umgehen? Also dass er die Auswertung dieses Teils erst macht, wenn ich den "Bestellen"-Button klicke?

    Was ich aber garnicht verstehe, wieso er beim Aufrufen der Seite schon eine Mail senden will? Wie kann ich das so umbauen, dass er diese erst sendet, wenn ich auch den Button klicke?