kirasun: Formular versenden

habe ein formular in html erstelt und möchte es mittels php verschicken, abragen zum ausfüllen der einzelnen felder habe ich in html geschireben, funktioniert, nur leider kommt eine fehlermeldung vom server wenn ich es abschicken will, php ist für mich neu!!wahrscheinlich habe ich etwas vergessen??

<?php        }
<?
$mail_empfaenger="info@suessmed.at";
$mail_absender=$email;
$betreff="Galileo Anfrage";
$text="Mein Name ist $nachname,
Titel:  $titel /n
Betreff: $galileoanfrage /n
Adresse: $strasse-nr
$plz /n
Tel: $telefon /n
email: $email /n
Meine Anfrage: $textgal";

mail(mail_empfaenger, $betreff, $text,"from:$mail_absender");

?>

  1. Hey,

    wie sieht denn Dein HTML aus?
    Welche Fehlermeldung kommt denn vom Server?
    Ist auf dem Server PHP installiert?

    Ist die Direktive "register_globals" ON oder OFF? Ist sie OFF, funktioniert Dein Skript nicht, weil die Formularwerte nicht in den von Dir genutzten Variablen sind. Ist sie ON, solltest Du das Skript trotzdem umschreiben und sie auf OFF setzen.

    Umschreiben: Statt $nachname nutzt Du $_REQUEST['nachname'] oder besser, je nach benutzer Methode $_GET['nachname'] oder $_POST['nachname']. Dito bei allen anderen Formulardaten.

    Noch etwas: Beim Parameter mail_empfaenger hast Du das $ vergessen.

    Groetjes,
    Patrick

    1. erstmals vielen Dank für deine nachricht,
      ...der server unterstützt php
       entschuldige, aber was ist
      Direktive "register_globals" ON oder OFF? wo finde ich das?
      unten angeführt nochmal php mit änderung $_post... usw

      anbei mein html fomular:
      bei action habe ich den verweis auf die mailer.php, soll ich diese besser dementsprechend mit http://... usw. angeben?

      <a href="/emailbest.html"></a><script type="text/javascript">

      function chkFormular()
      {
        if(document.Formular.betreff.value == "")  {
         alert("Bitte geben Sie einen Betreff ein!");
         document.Formular.betreff.focus();
         return false;
        }
       if(document.Formular.email.value == "")  {
         alert("Bitte geben Sie Ihre email Adresse ein!");
         document.Formular.email.focus();
         return false;
        }
      if(document.Formular.nachname.value == "")  {
         alert("Bitte geben Sie Ihren Nachnamen ein!");
         document.Formular.nachname.focus();
         return false;
        }
       if(document.Formular.strasse_nr.value == "")  {
         alert("Bitte geben Sie Ihre Strasse ein!");
         document.Formular.strasse_nr.focus();
         return false;
        }
       if(document.Formular.plz.value == "")  {
         alert("Bitte geben Sie Ihre Postleitzahl ein!");
         document.Formular.plz.focus();
         return false;
        }
       if(document.Formular.ort.value == "")  {
         alert("Bitte geben Sie Ihren Wohnort ein!");
         document.Formular.ort.focus();
         return false;
        }
       if(document.Formular.telefon.value == "")  {
         alert("Bitte geben Sie Ihre Telefonnummer ein!");
         document.Formular.telefon.focus();
         return false;
        }
      }

      </script>

      <form name="Formular" action="mailer3.php" method="post"  onSubmit="return chkFormular()">
            <input type="hidden" name="next" value="http://www.galileo-training.at/aktuell/emailbest.html">
        <input type="hidden" name="mail_id" value="900">
                <span class="Stil28">Betreff:*</span>
      <p><input type="text" name="galileoanfrage" size="45" tabindex="1"></p>
      <span class="Stil28">Meine Daten:</span>
      <table border="0" cellspacing="0" cellpadding="0">
       <tr>
        <td>Anrede/Titel<br>
          <input type="text" name="titel" size="15" tabindex="2"></td>
        <td></td>
       </tr>
       <tr>
        <td>Vorname <br>
          <input type="text" name="vorname" size="25" tabindex="3"></td>
        <td>Nachname *<br>
          <input type="text" name="nachname" size="25" tabindex="4"></td>
       </tr>
       <tr>
        <td>Stra&szlig;e/Nr. *<br>
          <input type="text" name="strasse_nr" size="25" tabindex="5"></td>
        <td>PLZ/Ort *<br>
          <input type="text" name="plz" size="3" tabindex="6"><input type="text" name="ort" size="19" tabindex="7"></td>
       </tr>
       <tr>
        <td>Telefon *<br>
          <input type="text" name="telefon" size="25" tabindex="8"></td>
        <td>e-mail *<br>
         <input type="text" name="email" size="25" tabindex="9"></td>
       </tr>
      </table>
      <span class="Stil27"><br>
      </span><span class="Stil28">Text:</span><br />
      <textarea name="textgal" cols="50" rows="10" tabindex="10" class="text"></textarea>
      <p> * diese Felder müssen ausgeüllt werden</p>
        <div id="container_senden">
          <button id="button_senden" name="button_senden" type="submit" onmouseover="this.className='hover'" onmouseout="this.className=''">... senden</button>
           </div>
       </form>

      <?php        }
      <?
      $mail_empfaenger="info@suessmed.at";
      $mail_absender=$email;
      $betreff="Galileo Anfrage";
      $text="Mein Name ist $_POST['nachname'].
      Titel:  $_POST['titel'] /n
      Betreff: $_POST['galileoanfrage'] /n
      Adresse: $_POST['strasse-nr']
      $_POST['plz'] /n
      Tel $_POST['telefon'] /n
      email $_POST['email'] /n
      Meine Anfrage: $_POST['textgal'];

      mail($mail_empfaenger, $betreff, $text,"from:$mail_absender");

      ?>

      1. Hey,

        Dein PHP-Teil weisst einige ich denke mal Flüchtigkeitsfehler auf.

        Probiere es einmal so:

        <?php

        $mail_empfaenger="info@suessmed.at";
        $mail_absender=$email;
        $betreff="Galileo Anfrage";
        $text="Mein Name ist {$_POST['nachname']}.
        Titel:  {$_POST['titel']} /n
        Betreff: {$_POST['galileoanfrage']} /n
        Adresse: {$_POST['strasse-nr']}
        {$_POST['plz']} /n
        Tel {$_POST['telefon']} /n
        email {$_POST['email']} /n
        Meine Anfrage: {$_POST['textgal']}";

        mail($mail_empfaenger, $betreff, $text,"from:$mail_absender");

        ?>

        Groetjes,
        Patrick

        1. hi patrick, danke für die Korrektur, also ich habe einen Erfolg!!
          das mail kommt an!!! juchheee!!

          dafür habe ich jetzt plötzlich das Problem, dass er bei unvollständigkeit beim ausfüllen nichts mehr anzeigt, bzw. geht er mir nicht nach dem senden auf die Seite der Bestätigung mailbest.html, wo der kunde weiß dass das mail geschickt wurde.

          soll ich besser die Kontrollen zum korrekten ausfüllen zum php dazuschreiben?
           ...kirasun

          1. dafür habe ich jetzt plötzlich das Problem, dass er bei unvollständigkeit beim ausfüllen nichts mehr anzeigt, bzw. geht er mir nicht nach dem senden auf die Seite der Bestätigung mailbest.html, wo der kunde weiß dass das mail geschickt wurde.

            Das sind zwei Probleme, oder?

            a) Bei Unvollständigkeit wird nichts angezeigt.

            b) Nach dem erfolgreichen Absenden wird nichts angezeigt.

            Erst einmal zu b): Du solltest mailbest.html in mailbest.php umbenennen, dann den PHP-Code, den wir weiter oben diskutiert haben, in die mailbest.php verschieben. Dann mailbest.php als form action nutzen - denn ansonsten wird ja diese Bestätigungsseite nie aufgerufen!

            soll ich besser die Kontrollen zum korrekten ausfüllen zum php >dazuschreiben?

            Das sowieso - der Nutzer kann ja Javascript deaktivieren oder es modifizieren. Javascript Kontrollen sind in Ordnung - als Hilfe für den Nutzer. Du solltest aber niemals Daten vom Client empfangen, ohne sie noch einmal serverseitig zu validieren.

            Also -
            Kontrollen in PHP: Pflicht
            Kontrollen in Javascript: Optional/zusätzlich

            1. b) Nach dem erfolgreichen Absenden wird nichts angezeigt.

              Hierzu:

              Die von Dir referenzierten Elemente im Javascript-Teil stimmen nicht mit den tatsächlich vorhandenen Elementen überein, beziehungsweise die Referenzierung ist falsch. Für den Betreff funktioniert es beispielsweise so:

              if(document.getElementsByName('galileoanfrage')[0].value == "")  {
                 alert("Bitte geben Sie einen Betreff ein!");
                 document.getElementsByName('galileoanfrage')[0].focus();
                 return false;
                }

              Analog dazu bei den anderen...

              Am Ende der Funktion solltest Du return true; einfügen.

              1. super,vielen dank die abfrage der felder funktioniert!!

                jetzt habe ich emailbest.html auf emailbest.php umgeschrieben, und darin natürlich die vorher behandelte php hinein...
                jetzt will er´s mir plötzlich nicht mehr verschicken und auch nicht bestätigen?!!

                <form name="Formular" action="emailbest.php" method="post"  onSubmit="return chkFormular()">

                <input type="hidden" name="next" value="http://www.galileo-training.at/aktuell/emailbest.php">
                  <input type="hidden" name="mail_id" value="900">

                <span class="Stil28">Betreff:*</span>
                <p><input type="text" name="galileoanfrage" size="45" tabindex="1"></p>
                <span class="Stil28">Meine Daten:</span>
                <table border="0" cellspacing="0" cellpadding="0">
                 <tr>
                  <td>Anrede/Titel<br>
                    <input type="text" name="titel" size="15" tabindex="2"></td>
                  <td></td>
                 </tr>
                 <tr>

                .... und so weiter!!!

                1. Kopier am besten mal die emailbest.php hier herein...

                  1. Kopier am besten mal die emailbest.php hier herein...

                    der untere rest ist der aufbau meiner seite

                    <?php

                    $mail_empfaenger="info@suessmed.at"; $mail_absender=$email; $betreff="Galileo Anfrage"; $text="Mein Name ist {$_POST['nachname']}. Titel:  {$_POST['titel']} Betreff: {$_POST['galileoanfrage']} Adresse: {$_POST['strasse-nr']} {$_POST['plz']} Tel {$_POST['telefon']} email {$_POST['email']} Meine Anfrage: {$_POST['textgal']}";

                    mail($mail_empfaenger, $betreff, $text,"from:$mail_absender");

                    ?>

                    <!DOCTYPE  html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <title>Galileo</title>  <meta http-equiv="content-type" content="text/html; charset=utf-8" />  <meta http-equiv="Expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />  <meta http-equiv="Pragma" content="no-cache" />  <meta name="Description" content="description" />  <meta name="Keywords" content="keywords" />  <link rel="stylesheet" href="css/main.css" type="text/css" media="screen, projection" />  <style type="text/css">

                    <!-- .Stil1 {color: #000000} .Stil3 {color: #FF6600} #Layer1 {  position:absolute;  left:454px;  top:64px;  width:220px;  height:350px;  z-index:1; } .Stil28 {font-size: 16px} .Stil30 {font-size: 14px} -->         </style>  <script language="JavaScript"> <!-- function mmLoadMenus() {   if (window.mm_menu_0621092813_0) return;   window.mm_menu_0621092813_0 = new Menu("root",222,18,"",12,"#7d7257","#FFFFFF","#CCCCCC","#6699CC","left","middle",6,0,100,-5,7,true,true,true,0,true,true);   mm_menu_0621092813_0.addMenuItem("Galileo&nbsp;Fitness","location='ghome.html'");   mm_menu_0621092813_0.addMenuItem("Galileo&nbsp;Sport","location='#'");   mm_menu_0621092813_0.addMenuItem("Galileo&nbsp;XS","location='#'");   mm_menu_0621092813_0.addMenuItem("Galileo&nbsp;900","location='#'");   mm_menu_0621092813_0.addMenuItem("Galileo&nbsp;2000","location='#'");   mm_menu_0621092813_0.addMenuItem("Galileo&nbsp;Home+","location='#'");   mm_menu_0621092813_0.addMenuItem("Galileo&nbsp;UpX&nbsp;100&nbsp;-&nbsp;Hantelsystem","location='#'");   mm_menu_0621092813_0.addMenuItem("Galileo&nbsp;Top&nbsp;100&nbsp;-&nbsp;Hantelsystem","location='#'");   mm_menu_0621092813_0.addMenuItem("Galileo&nbsp;Delta&nbsp;C&nbsp;Kipptisch");   mm_menu_0621092813_0.addMenuItem("Galileo&nbsp;Delta&nbsp;A&nbsp;Kipptisch");    mm_menu_0621092813_0.hideOnMouseOut=true;    mm_menu_0621092813_0.bgColor='#FFFFFF';    mm_menu_0621092813_0.menuBorder=0;    mm_menu_0621092813_0.menuLiteBgColor='#666666';    mm_menu_0621092813_0.menuBorderBgColor='#FFFFFF';

                    window.mm_menu_0621100143_0 = new Menu("root",189,18,"",12,"#7d7257","#FFFFFF","#FFFFFF","#6699CC","left","middle",3,0,100,-5,7,true,true,true,0,true,true);   mm_menu_0621100143_0.addMenuItem("Galileo&nbsp;Home+","location='ghome.html'");   mm_menu_0621100143_0.addMenuItem("Galileo&nbsp;Fitness","location='gfitness.html'");   mm_menu_0621100143_0.addMenuItem("Galileo&nbsp;Sport","location='gsport.html'");   mm_menu_0621100143_0.addMenuItem("Galileo&nbsp;XS","location='gXS.html'");   mm_menu_0621100143_0.addMenuItem("Galileo&nbsp;900","location='g900.html'");   mm_menu_0621100143_0.addMenuItem("Galileo&nbsp;2000","location='g2000.html'");   mm_menu_0621100143_0.addMenuItem("Galileo&nbsp;UpX&nbsp;100&nbsp;-&nbsp;Hantel","location='gUpX100.html'");   mm_menu_0621100143_0.addMenuItem("Galileo&nbsp;Top&nbsp;100&nbsp;-&nbsp;Hantel","location='gTop100.html'");   mm_menu_0621100143_0.addMenuItem("Galileo&nbsp;Delta&nbsp;C&nbsp;-&nbsp;Kipptisch","location='gDeltaC.html'");   mm_menu_0621100143_0.addMenuItem("Galileo&nbsp;Delta&nbsp;A&nbsp;-&nbsp;Kipptisch","location='gDeltaA.html'");    mm_menu_0621100143_0.hideOnMouseOut=true;    mm_menu_0621100143_0.bgColor='#FFFFFF';    mm_menu_0621100143_0.menuBorder=0;    mm_menu_0621100143_0.menuLiteBgColor='#FFFFFF';    mm_menu_0621100143_0.menuBorderBgColor='#FFFFFF';

                    window.mm_menu_0622080818_0 = new Menu("root",208,18,"",12,"#7d7257","#FFFFFF","#FFFFFF","#6699CC","left","middle",3,0,100,-5,7,true,true,true,0,true,true);   mm_menu_0622080818_0.addMenuItem("Gesundheit&Beauty","location='gesundheit.html'");   mm_menu_0622080818_0.addMenuItem("Medizin","location='medtrain.html'");   mm_menu_0622080818_0.addMenuItem("Prävention&nbsp;&&nbsp;Fitness","location='praevention.html'");   mm_menu_0622080818_0.addMenuItem("Firmenfitness","location='firmen.html'");   mm_menu_0622080818_0.addMenuItem("Golf","location='golf.html'");    mm_menu_0622080818_0.hideOnMouseOut=true;    mm_menu_0622080818_0.bgColor='#FFFFFF';    mm_menu_0622080818_0.menuBorder=0;    mm_menu_0622080818_0.menuLiteBgColor='#FFFFFF';    mm_menu_0622080818_0.menuBorderBgColor='#FFFFFF';

                    window.mm_menu_0628102230_0 = new Menu("root",109,18,"",12,"#7d7257","#FFFFFF","#FFFFFF","#6699CC","left","middle",3,0,100,-5,7,true,true,true,0,true,true);  mm_menu_0628102230_0.addMenuItem("über&nbsp;uns","location='ueberuns.html'");   mm_menu_0628102230_0.addMenuItem("Kontakt","location='kontakt.html'");   mm_menu_0628102230_0.addMenuItem("AGB","location='agb.html'");    mm_menu_0628102230_0.hideOnMouseOut=true;    mm_menu_0628102230_0.bgColor='#FFFFFF';    mm_menu_0628102230_0.menuBorder=0;    mm_menu_0628102230_0.menuLiteBgColor='#FFFFFF';    mm_menu_0628102230_0.menuBorderBgColor='#FFFFFF';

                    mm_menu_0628102230_0.writeMenus();

                    } // mmLoadMenus() //-->     </script>  <script language="JavaScript" src="mm_menu.js"></script>  </head>  <body>  <script language="JavaScript1.2">mmLoadMenus();</script>     <div id="outer-wrapper">       <div id="inner-wrapper">         <div id="content-wrapper">           <!-- Begin Content -->           <div id="content">             <!-- Main Navigation -->             <ul class="Stil3" id="nav">               <li><a href="home.html">Home</a></li>               <li><a href="kontakt.html">Kontakt</a></li>               <li><a href="presse.html">Presse</a></li>               <li><a href="seminare.html">Seminare &amp; Workshops</a></li>               <li><a href="http://www.suessmed.at/" title="zur Hauptseite von SÜSSMED" target="_blank">SÜSS Medizintechnik GmbH</a></li>             </ul>             <!-- Body Content -->             <div id="content-inner"><!-- zweite Reihe -->               <div class="content-full">                 <div align="left">                   <p><span class="Stil28"> Ihre Galileo<span class="RStil">®</span> Anfrage</span> wurde weitergeleitet! </p>                   <p>&nbsp;</p>                   <p>Herzlichen dank für Ihre Anfrage, wir werden uns umgehend bei Ihnen melden... </p>                   <p>&nbsp;</p>                   <p>&nbsp;</p>                   <p>&nbsp;</p>                   <p>&nbsp;</p>                   <p>&nbsp;</p>                   <p>&nbsp;</p>                   <p><br />                     <br />                     </p>                 </div>

                    </script> <p>SÜSS Medizintechnik GmbH,                 A-4910 Tumeltsham, Schnalla   51<br /> Tel.: 0043 (0) 77 52 - 81702,                 Fax: 0043 (0) 77 52 - 81 703<br /> e-mail: info@suessmed.at,  web: <a href="http://www.suessmed.at" target="_blank">www.suessmed.at </a></p>               </div>             </div>

                    </div>           <!-- Begin Left Column -->           <div id="sidebar">             <div id="logo">               <!-- Your logo goes here -->             </div>             <h4 class="Stil1"><a href="index.html"><img src="images/Logo.gif" alt="hier kommen sie zur Startseite" width="180" height="33" border="0" /></a></h4>             <ul class="side-nav">               <li><a href="grundlagen.html">Grundlagen</a></li>               <li><a href="anwendungen.html">Anwendungsgebiete</a></li>               <li><a href="vorteile.html">Vorteile</a></li>      <li><a href="gesundheit.html" name="link3" id="link3" onmouseover="MM_showMenu(window.mm_menu_0622080818_0,150,15,null,'link3')" onmouseout="MM_startTimeout();">Bereiche</a></li>               <li><a href="ghome.html" name="link2" id="link1" onmouseover="MM_showMenu(window.mm_menu_0621100143_0,150,15,null,'link2')" onmouseout="MM_startTimeout();">Produkte</a></li>               <li><a href="zusatzg.html">ZusatzgerÄte</a></li>      <li><a href="uebungen.html">Übungen</a></li>       <li><a href="http://www.galileo2000.de/literatur.php?t=2" title="zur Herstellerseite NOVOTEC" target="_blank">Studien</a></li>      <li><a href="referenzen.html" target="_top">Referenzen</a></li>               <li><a href="seminare.html">Seminare &amp; Workshops</a></li>               <li><a href="presse.html">Presse</a></li>               <li><a href="ueberuns.html" name="link4" id="link4" onmouseover="MM_showMenu(window.mm_menu_0628102230_0,150,15,null,'link4')" onmouseout="MM_startTimeout();">Süss Medizintechnik GmbH</a></li>             </ul>           </div>         </div>         <!-- End Content-Wrapper -->         <!-- Begin Footer -->         <div id="footer">           <ul id="footer-nav">          <li><a href="home.html">Home</a></li>             <li><a href="http://www.suessmed.at" title="zur Hauptseite von SÜSSMED" target="_blank"> SÜSS Medizintechnik</a></li>             <li><a href="impressum.html"> Impressum</a></li>             <li class="last"><a href="kontakt.html"> Kontakt</a></li>           </ul>           <p class="copyright">Copyright 2007 SÜSS Medizintechnik GmbH </p>         </div>       </div>     </div>  </body> </html>

                    1. die doctype Zeile muss siw. die erste Zeile sein und Du solltest im weiteren Verlauf vielleicht die Anzeige der Bestätigung daran koppeln, ob das Versenden geklappt hat (also mögliche Fehler im PHP Teil auffangen und dann entweder eine Bestätigung oder eine schicke Fehlermeldung ausgeben).

                      Aber warum das grundsätzlich gerade nicht funktioniert, kann ich nicht sehen - WAS funktioniert denn nicht? Was genau passiert?

                  2. es funktioniert!!!!!alles, die felder für die eingabeanfrage,  das bestätigungsfeld und das mail krieg´ich auch!!!!

                    da ist mir aber jetzt leichter, vielen, vielen dank für die Hilfe,
                    wenn du mal was graphisches brauchst, freue ich mich mal dir helfen zu können

                    nette grüsse
                    kirasun

                    1. da ist mir aber jetzt leichter, vielen, vielen dank für die Hilfe,
                      wenn du mal was graphisches brauchst, freue ich mich mal dir helfen
                      zu können

                      Muy bien... viel Erfolg mit der Site weiterhin.

                      Viele Grüße
                      Patrick

            2. </script>

              <form name="Formular" action="emailbest.php" method="post"  onSubmit="return chkFormular()">

              <input type="hidden" name="next" value="http://www.galileo-training.at/aktuell/emailbest.php">
                <input type="hidden" name="mail_id" value="900">

              habe es jetzt so gemacht?!
              die php wie vorher zusammengestellt habe ich zu emailbest.php dazugefügt
              form action und
              value habe ich auf emailbest.php gesetzt?Richtig?

              jetzt mag er´s plötzlich nicht mehr versenden?! gar nicht so einfach...

              1. value habe ich auf emailbest.php gesetzt?Richtig?

                Was soll das "value" eigentlich bewirken?

                jetzt mag er´s plötzlich nicht mehr versenden?! gar nicht so
                einfach...

                Wäre hilfreich, wenn Du die entsprechenden Fehlermeldungen (?) mitlieferst.. warum mag er es nicht mehr versenden?

                Groetjes,
                Patrick