• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Fragebogenantworten auf server speichern???

andy114425

New member
Hallo zusammen,

ich habe auf meiner Seite einen kleinen Fragebogen eingerichtet. Die Antworten werden mir durch den Befehl

<form action="mailto:admin@domain.de?Subject=Fragenformular" action="danke.htm" method="POST" name="Formular" onSubmit="return check()">

per E-Mail zugesendet. Ich würde die Antworten, aber nun lieber auf dem server gespeichert haben!!! Wie kann ich das erreichen? Kann mir jemand helfen?

Danke schon mal im vorraus

Andy
 
andy114425 schrieb:
per E-Mail zugesendet. Ich würde die Antworten, aber nun lieber auf dem server gespeichert haben!!! Wie kann ich das erreichen? Kann mir jemand helfen?
Um am Server etwas speichern zu können, ist es notwendig eine serverseitige Sprache, wie etwa PHP einzusetzen. Der Server muss diese Sprache natürlich auch unterstützen. Um die Daten des ausgefüllten Formulares zu speichern, schickst du das Formular nicht an (d)eine E-Mail Adresse ab, sondern an eine PHP-Seite (solltest du dich für PHP, was ich dir sehr empfehle, entschieden haben). Diese PHP-Seite, die die Formulardaten erhält, verarbeitet diese weiter, indem sie deinen Vorstellungen entsprechend angepasst werden und dann bspw. in eine Datenbank, eine Text-Datei, oder aber auch per Mail vom Server aus gespeichert, oder versendet werden.
 
Also PHP-fähig ist mein Server. Das Problem ist nur ich kenn mich mit PHP nicht aus und hab keinen Plan wie ich das machen soll? Kannst du mir vielleicht ein Beispiel Quelltext schreiben?
 
du hast in html deine Form-Felder. Diese haben einen Namen (name="bla").
Da du die Formulardaten per POST übermittelst, kommst du in PHP per $_POST['name_des_formularfelds] an den entsprechenden Wert.
per fopen() öffnest du deine Datei. Die Daten liest du per fread().

Am besten du gibts uns das komplette Formular, so dass wird dir da was schneidern können
 
Also hier ist der Fragebogen, vielleicht könnt ihr mir da was drumherum basteln.
Es kann aber gern per E-Mail versendet werden, solange die Mail vom Server generiert und versendet wird und nicht über Outlook!!!


HTML:
          <font face=arial size=2 color=white><b>
		Die mit einem Stern gekennzeichneten Felder müssen ausgefüllt werden!<br><br>
		Für weitere Fragen bin ich gerne für euch da, einfach <a href="mailto:mail@domain.de"><u>mailen</u></a>
	  </b></font>

          <p> 

          <table border="0" cellpadding="2" width="475" align="center" bgcolor="transparent">

            <tr> 

              <td width="7%"  valign="TOP"><font face=arial color=white><b>Name:*</b></font></td>

              <td width="38%" valign="TOP">

                <input type="TEXT" name="Name" size="51" maxlength="100">

              </td>

            </tr>

            <tr> 

              <td width="7%" valign="TOP"><font face=arial color=white><b>e-Mail:*</b></font></td>

              <td width="38%" valign="TOP">

                <input type="TEXT" name="Mail" size="51">

              </td>

            </tr>

            </tr>

            <tr> 

              <td width="7%" valign="TOP"><font face=arial color=white><b>Geburtsdatum:</b></font></td>

              <td width="38%" valign="TOP"> 

                <input type="TEXT" name="Datum" size="51" maxlength="10">

              </td>

            </tr>


            <tr> 

              <td width="7%" valign="TOP"><font face=arial color=white><b>Hobby's:</b></font></td>

              <td width="38%" valign="TOP">

                <input type="TEXT" name="Hobby" size="51">

              </td>

            </tr>


            <tr> 

              <td width="7%" valign="TOP"><font face=arial color=white><b>Beruf:</b></font></td>

              <td width="38%" valign="TOP"> 

                <input type="TEXT" name="Beruf" size="51">

              </td>

            </tr>

            </tr>

            <tr> 

              <td width="7%" valign="TOP"><font face=arial color=white><b>Fahrzeug:</b></font></td>

              <td width="38%" valign="TOP"> 

                <input type="TEXT" name="Auto" size="51">

              </td>

            </tr>


         </table>

				
		<hr>

		<font face=arial color=white><b>Darf diese E-Mail-Adresse veröffentlicht werden?</b></font><br>
		<font face=arial color=white><b> 
		<input type="radio" name="Einwilligung" value="Ja">Ja   
		<input type="radio" name="Einwilligung" value="Nein">Nein<br>
		</b></font> 
		
		<hr>



        <table border="0" cellpadding="2" width="475" align="center" bgcolor="transparent">
	    <tr>

	      <td>

		<font face=arial size=2 color=white><b><br><br>Falls ihr noch Anregungen für den Fragebogen habt, oder ich die eine oder andere Frage noch in den Fragebogen aufnehmen soll, dann könnt ihr das hier loswerden!</b></font>

	      </td>

	    </tr>
	 </table>

         <table border="0" cellpadding="2" width="475" align="center" bgcolor="transparent">

            <tr> 

              <td width="25%" valign="TOP"><font face=arial color=white><b>Sonstiges:</b></font></td>

              <td width="30%" valign="TOP">

                <textarea name="Sonst" rows="15" cols="39"></textarea>

              </td>

            </tr>

           
          </table>

          <p> 

          <table width="25%" border="0" align="center">

            <tr>

              <td><!-- Buttons zum Abschicken und Abbrechen --> 

                <input type="SUBMIT" value="OK" name="SUBMIT">

                <input type="RESET" value="Abbrechen" name="RESET">

                <!-- Ende des Formularcodes --></td>

            </tr>

          </table>

          <p> 

        </form>


MfG Andy
 
PHP:
<?php
if ($_POST['action'] == "sende") {
  if ($_POST['Name'] != "" && $_POST['Mail'] != "") {
    $header = "From: ".$_POST['Name']." <".$_POST['Mail'].">\n";
    $header .= "X-Mailer: PHP";

    $body = "Name: ".$_POST['Name']."\n";
    $body .= "E-Mail: ".$_POST['Mail']."\n";
    $body .= "Geburtsdatum: ".$_POST['Datum']."\n";
    $body .= "Hobbies: ".$_POST['Hobby']."\n";
    $body .= "Beruf: ".$_POST['Beruf']."\n";
    $body .= "Fahrzeug:  ".$_POST['Auto']."\n\n";
    $body .= "Einwilligung?  ".$_POST['Einwilligung']."\n\n";
    $body .= "Sonstiges:\n".$_POST['Sonst'];
    mail("mail@domain.tld","Mail",$body,$header);   // [email]mail@domain.tld[/email] auf eigene Mail-Adresse ändern!!
    echo "<strong>Daten erfolgreich versandt!</strong><br>\n";
  } else {
    echo "<strong>Sie haben nicht alle Pflichtfelder ausgefüllt!</strong><br>\n";
}
}
?>
          <font face=arial size=2 color=white><b>
		Die mit einem Stern gekennzeichneten Felder mÃŒssen ausgefÃŒllt werden!<br><br>
		FÃŒr weitere Fragen bin ich gerne fÃŒr euch da, einfach <a href="mailto:mail@domain.de"><u>mailen</u></a>
	  </b></font>

          <p> 
          <table border="0" cellpadding="2" width="475" align="center" bgcolor="transparent">
            <tr> 
              <td width="7%"  valign="TOP"><font face=arial color=white><b>Name:*</b></font></td>
              <td width="38%" valign="TOP">
               <input type="TEXT" name="Name" size="51" maxlength="100">
               <input type="hidden" name="action" value="sende">
              </td>
            </tr>
            <tr> 
              <td width="7%" valign="TOP"><font face=arial color=white><b>e-Mail:*</b></font></td>
              <td width="38%" valign="TOP">
                <input type="TEXT" name="Mail" size="51">
             </td>
            </tr>
            </tr>
           <tr> 
              <td width="7%" valign="TOP"><font face=arial color=white><b>Geburtsdatum:</b></font></td>
              <td width="38%" valign="TOP"> 
                <input type="TEXT" name="Datum" size="51" maxlength="10">
              </td>
            </tr>

            <tr> 
              <td width="7%" valign="TOP"><font face=arial color=white><b>Hobby's:</b></font></td>
              <td width="38%" valign="TOP">
                <input type="TEXT" name="Hobby" size="51">
              </td>
            </tr>

            <tr> 
              <td width="7%" valign="TOP"><font face=arial color=white><b>Beruf:</b></font></td>
              <td width="38%" valign="TOP"> 
                <input type="TEXT" name="Beruf" size="51">
              </td>
            </tr>
            </tr>
            <tr> 
              <td width="7%" valign="TOP"><font face=arial color=white><b>Fahrzeug:</b></font></td>
              <td width="38%" valign="TOP"> 
                <input type="TEXT" name="Auto" size="51">
              </td>
            </tr>
         </table>			
	<hr>

		<font face=arial color=white><b>Darf diese E-Mail-Adresse veröffentlicht werden?</b></font><br>
		<font face=arial color=white><b> 
		<input type="radio" name="Einwilligung" value="Ja">Ja   
		<input type="radio" name="Einwilligung" value="Nein">Nein<br>
		</b></font> 
		<hr>

        <table border="0" cellpadding="2" width="475" align="center" bgcolor="transparent">
	    <tr>
	      <td>
		<font face=arial size=2 color=white><b><br><br>Falls ihr noch Anregungen fÌr den Fragebogen habt, oder ich die eine oder andere Frage noch in den Fragebogen aufnehmen soll, dann könnt ihr das hier loswerden!</b></font>
	      </td>
	    </tr>
	 </table>
         <table border="0" cellpadding="2" width="475" align="center" bgcolor="transparent">
            <tr> 
              <td width="25%" valign="TOP"><font face=arial color=white><b>Sonstiges:</b></font></td>
              <td width="30%" valign="TOP">
                <textarea name="Sonst" rows="15" cols="39"></textarea>
             </td>
           </tr>
           </table>
          <p> 
          <table width="25%" border="0" align="center">
            <tr>
              <td><!-- Buttons zum Abschicken und Abbrechen --> 
                <input type="SUBMIT" value="OK" name="SUBMIT">
                <input type="RESET" value="Abbrechen" name="RESET">
                <!-- Ende des Formularcodes --></td>
            </tr>
          </table>
          <p> 
        </form>
Nun musst du nur noch das action bei form auf den Dateinamen der obrigen Datei setzen. Diese Datei muss dann die Endung .php haben!

[EDIT=RoyalKnight]2 Strichpunkte im Script hinzugefügt[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:
Ich hab noch ein Problem!

Ich habe nun den PHP Teil an den Anfang von meinem HTML-Fragebogen gestellt. Nun kommt aber diese Fehlermeldung:

Parse error: parse error, expecting `','' or `';'' in /srv/www/htdocs/web185/html/frage.php on line 17

Was hab ich den falsch gemacht?
 
andy114425 schrieb:
Parse error: parse error, expecting `','' or `';'' in /srv/www/htdocs/web185/html/frage.php on line 17

Was hab ich den falsch gemacht?
Du hast gar nichts falsch gemacht - kopier einfach nochmal obiges Script von Microkotz, ich hab 2 fehlende Strichpunkte hinter den echos hinzugefügt.
 
Also so langsam wird's peinlich.

Ich hab das jetzt so gemacht wie ihr es mir gesagt habt, aber es funktioniert einfach nicht.

Die Datei heißt "frage.php", wird im Browser auch korrekt angezeigt und wenn ich auf "OK" klicke wird der Inhalt wieder gelöscht, aber nicht versendet. Zumindest hab ich noch nichts empfangen!!!

Es werden auch keine Meldungen angezeigt, was doch wenn ich es richtig verstehe durch den Befehl

PHP:
echo "<strong>Daten erfolgreich versandt!</strong><br>\n";

bezweckt werden soll. Ich bin echt am verzweifeln :confused:


PHP:
<?php 
if ($_POST['action'] == "sende") { 
  if ($_POST['Name'] != "" && $_POST['Mail'] != "") { 
    $header = "From: ".$_POST['Name']." <".$_POST['Mail'].">\n"; 
    $header .= "X-Mailer: PHP"; 

    $body .= "Name: ".$_POST['Name']."\n"; 
    $body .= "E-Mail: ".$_POST['Mail']."\n"; 
    $body .= "Geburtsdatum: ".$_POST['Datum']."\n"; 
    $body .= "Hobbies: ".$_POST['Hobby']."\n"; 
    $body .= "Beruf: ".$_POST['Beruf']."\n"; 
    $body .= "Fahrzeug:  ".$_POST['Auto']."\n\n";
    $body .= "Einwilligung?  ".$_POST['Einwilligung']."\n\n"; 
    $body .= "Sonstiges:\n".$_POST['Sonst']; 
    mail("mail@domain.de","Mail",$body,$header);   // [email]mail@domain.de[/email] auf eigene Mail-Adresse ändern!! 
    echo "<strong>Daten erfolgreich versandt!</strong><br>\n"; 
  } else { 
    echo "<strong>Sie haben nicht alle Pflichtfelder ausgefüllt!</strong><br>\n"; 
} 
} 
?> 



<html>
<head>
<title>Fragebogen</title>

<SCRIPT LANGUAGE = "JavaScript">

function check() {

 if(document.Formular.Name.value == "")

  {

   alert("Bitte Ihren Namen eingeben!");

   document.Formular.Name.focus();

   return false;

  }

 if(document.Formular.Mail.value == "")

  {

   alert("Bitte E-Mail-Adresse eingeben!");

   document.Formular.Mail.focus();

   return false;

  }

if(document.Formular.Mail.value.indexOf('@') == -1)

  {

   alert("Dies ist keine gültige E-Mail-Adresse!\nBitte korrigieren");

   document.Formular.Mail.focus();

   return false;

  }

}
</script>

<link rel="stylesheet" type="text/css" href="layout.css">
<link rel="stylesheet" type="text/css" href="format2.css">

</head>

<body background=hinter.jpg bgproperties="fixed">
<div align="center">

</div>



<div align="center">

  <table width=570 border=0 cellpadding=0 cellspacing=0 bgcolor="transparent">
    <tr> 

      <td colspan=3 valign=top> 

        <div align=center class=Frageb>Info @ Admin:</div>


        <form action="frage.php"  method="POST" name="Formular" onSubmit="return check()">

          <p><!-- Hier beginnt der Fomularkopf --><tt> </tt>  

          <font face=arial size=2 color=white><b>
		Die mit einem Stern gekennzeichneten Felder müssen ausgefüllt werden!<br><br>

	  </b></font>

          <p> 

          <table border="0" cellpadding="2" width="475" align="center" bgcolor="transparent">

            <tr> 

              <td width="7%"  valign="TOP"><font face=arial color=white><b>Name:*</b></font></td>

              <td width="38%" valign="TOP">

                <input type="TEXT" name="Name" size="51" maxlength="100">

              </td>

            </tr>

            <tr> 

              <td width="7%" valign="TOP"><font face=arial color=white><b>e-Mail:*</b></font></td>

              <td width="38%" valign="TOP">

                <input type="TEXT" name="Mail" size="51">

              </td>

            </tr>

            </tr>

            <tr> 

              <td width="7%" valign="TOP"><font face=arial color=white><b>Geburtsdatum:</b></font></td>

              <td width="38%" valign="TOP"> 

                <input type="TEXT" name="Datum" size="51" maxlength="10">

              </td>

            </tr>


            <tr> 

              <td width="7%" valign="TOP"><font face=arial color=white><b>Hobby's:</b></font></td>

              <td width="38%" valign="TOP">

                <input type="TEXT" name="Hobby" size="51">

              </td>

            </tr>

            <tr> 

              <td width="7%" valign="TOP"><font face=arial color=white><b>Beruf:</b></font></td>

              <td width="38%" valign="TOP"> 

                <input type="TEXT" name="Beruf" size="51">

              </td>

            </tr>

            </tr>

            <tr> 

              <td width="7%" valign="TOP"><font face=arial color=white><b>Fahrzeug:</b></font></td>

              <td width="38%" valign="TOP"> 

                <input type="TEXT" name="Auto" size="51">

              </td>

            </tr>


         </table>

				
		<hr>

		<font face=arial color=white><b>Darf diese E-Mail-Adresse veröffentlicht werden?</b></font><br>
		<font face=arial color=white><b> 
		<input type="radio" name="Einwilligung" value="Ja">Ja   
		<input type="radio" name="Einwilligung" value="Nein">Nein<br>
		</b></font> 




        <table border="0" cellpadding="2" width="475" align="center" bgcolor="transparent">
	    <tr>

	      <td>

		<font face=arial size=2 color=white><b><br><br>Falls ihr noch Anregungen für den Fragebogen habt, oder ich die eine oder andere Frage noch in den Fragebogen aufnehmen soll, dann könnt ihr das hier loswerden!</b></font>

	      </td>

	    </tr>
	 </table>

         <table border="0" cellpadding="2" width="475" align="center" bgcolor="transparent">

            <tr> 

              <td width="25%" valign="TOP"><font face=arial color=white><b>Sonstiges:</b></font></td>

              <td width="30%" valign="TOP">

                <textarea name="Sonst" rows="15" cols="39"></textarea>

              </td>

            </tr>

           
          </table>

          <p> 

          <table width="25%" border="0" align="center">

            <tr>

              <td><!-- Buttons zum Abschicken und Abbrechen --> 

                <input type="SUBMIT" value="OK" name="SUBMIT">

                <input type="RESET" value="Abbrechen" name="RESET">

                <!-- Ende des Formularcodes --></td>

            </tr>

          </table>

          <p> 

        </form>

      </td>

    </tr>

  </table>

</div>



</body>

</html>
 
Zuletzt bearbeitet:
@rk: danke
@andy: du sollst das Action ändern und deine Mail-Adresse an der vorgesehenen Stelle (s. Kommentar) eintragen.
Hast du auch das hidden übernommen?? Schau mal bei meinem qt, was unter <input type="TEXT" name="Name" size="51" maxlength="100"> steht und wie deiner aussieht
 
Zuletzt bearbeitet:
Die E-Mail Adresse habe ich natürlich geändert, wollte sie hier nur nicht veröffentlich!

Es war das "hidden"!!! Danke, dann mal!!! Jetzt hat es funktioniert.
Jetzt mal ne dumme Frage, was bewirkt denn eigentlich das "hidden"?

Mfg Andy
 
andy114425 schrieb:
Jetzt mal ne dumme Frage, was bewirkt denn eigentlich das "hidden"?
Wie du siehst, hat Microkotz im PHP-Teil eine if-Abfrage eingebaut, die eben dieses hidden-Feld überprüft, ob es gesetzt ist oder nicht. Ist es nicht gesetzt, wird der Teil im if-Body nicht ausgeführt, das ist der Fall, wenn das Formular nicht übermittelt wurde, oder auch, wenn es nicht gesetzt wurde. Damit wird überprüft, ob das Formular auch abgesendet wurde...
 
Zurück
Oben