Computerhilfen.de Logo
Forum
Tipps
News

PHP Kontaktformular! Wie baue ich mehr Felder ein?

Ho, ich habe ein Kontaktformular welches auch super funktioniert. Nur wie bekomme ich das hin das ich da noch mehr felder habe, z.B. für Telefonnummer o.ä.??? Ich kenn mich mit php net so gut aus und meine html kenntnsse sind auch begrenzt!
hier könnt ihrs euch online anschauen: http://jetzweb.de/reflo/kontakt.php
und hier mal der code:

<html>
<head>
<title>Unbenanntes Dokument</title>
<link rel="stylesheet" type="text/css" href="standard.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?php
if (isset($HTTP_GET_VARS))
extract($HTTP_GET_VARS);
if (isset(
$HTTP_POST_VARS))
extract($HTTP_POST_VARS);
?>

  <p>
    <form action="kontakt.php" method="post">
  <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Name: <br>
  <input type="Text" name="subject" value="">
  <br>
  Ihre E-mail: <br>
  <input type="Text" name="absender" value="">
  <br>
  Nachricht und Kontaktinformationen:</font><br>
   <textarea name="message" value="" rows="7" cols="25"></textarea>
   <br>
   <br>
   <input type="Submit" name="send" value="senden">
</form>
</p>
<p>
<?php
if(
$send == "senden")
{
$to "test@reflo.de"//empfänger e-mail
$header "From: \"".$absender."\" <".$absender.">\n";

if ($send <>"" && eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}\$"$absender) && $message != "" && $subject != "")
$res mail ($to,$subject,$message.&#39;<br><br><br>Absender: &#39;.$absender.&#39;<br> IP: &#39;.$REMOTE_ADDR,$header);

if ($res)
echo "<font color=green><b>Mail erfolgreich versendet!</b></font>";
else
echo "<font color=red><b>Fehler!<br>Bitte füllen sie alle Felder aus und geben sie eine korreckte E-Mail an!</b></font>";
}
?>

<body>

</body>
</html>

thx & mfg
« Letzte Änderung: 16.06.05, 16:00:31 von reflo »

Antworten zu PHP Kontaktformular! Wie baue ich mehr Felder ein?:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Zu deiner erster Frage :
Zunächst erweiterst du den "Eingabe-Teil" und zwar durch folgende Zeile(n) :

NAME DIESES EINGABEFELDES:<br>
<input type="text" name="NAME DIESES EINGABEFELDES_001" value="WAS ERSCHEINEN SOLL"><br>

Für "NAME DIESES EINGABEFELDES_001" setzt du deine "Wunschbezeichnung" ein, z.B. Clan oder Telefon... Dann weiter unten musst du das ganze auch noch einsetzen :

if ($send <>"" && eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}\$", $absender) && $message != "" && $subject != "" && $NAME DIESES EINGABEFELDES_001 !="")
         $res = mail ($to,$subject,$message.'<br><br><br>Absender: '.$absender.'<br><br> NAME DIESES EINGABEFELDES_001:<br>'.$NAME DIESES EINGABEFELDES_001.' IP: '.$REMOTE_ADDR,$header);

Ich habe den ganzen PHP-Teil in eine "externe" Datei reingepackt :
<?php
#Datei mail.php

$daten .= "Name: ".$_REQUEST[&#39;absender_name&#39;]."\r\n";
$daten .= "alter: ".$_REQUEST[&#39;absalter&#39;]."\r\n";
$daten .= "email: ".$_REQUEST[&#39;absmail&#39;]."\r\n";
$daten .= "Homepage: ".$_REQUEST[&#39;absender_hp&#39;]."\r\n";
$daten .= "Mitteilung: ".$_REQUEST[&#39;mitteilung&#39;]."\r\n";

mail("schwoebelbank@web.de","Kontaktformular"$daten,"From: ".$_REQUEST[&#39;absmail&#39;]."\r\n" . "Reply-To: ".$_REQUEST[&#39;absmail&#39;]."\r\n" ."X-Mailer: PHP/" . phpversion());

echo &#39;<meta http-equiv="refresh" content="0; URL=kontakt.php">&#39;;
?>

Da kommen dann jeweils auch die entsprechenden Bezeichnungen rein, die in den <input> Attributen unter name="" stehen..


Wenn den abgeänderten Code oben nicht verstanden hast, kannst du ja ruhig fragen (weil du sagtest, du hast da noch nicht so den Durchblick)


Zu deiner zweiten Frage :
Du verwendest anstatt quote einfach code ;)
« Letzte Änderung: 16.06.05, 15:59:01 von Der olle Schwoebel »

mh ich habe das jetz mal so eingebaut und unter http://jetzweb.de/reflo/kontakt2.php hochgeladen, hoffe mal das ich das richtig gemacht habe! nur wenn ich jetz alles ausfülle kommt die meldung ich hätte nicht alles ausgefüllt! muss da noch irgendwas mit hin? es sollte nihct so sein das ich felder die ich hinzufüge pflichtfelder werde sondern nur die dies eh schon sind pflichtpfelder bleiben!

also das ist jetz der neue code:

<html>
<head>
<title>Unbenanntes Dokument</title>
<link rel="stylesheet" type="text/css" href="standard.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?php
if (isset($HTTP_GET_VARS))
extract($HTTP_GET_VARS);
if (isset(
$HTTP_POST_VARS))
extract($HTTP_POST_VARS);
?>

  <p>
    <form action="kontakt2.php" method="post">
  <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Name: <br>
  <input type="Text" name="subject" value="">
  <br>
  Telefonnummer:<br>
<input type="text" name="telefon" value=""><br>
  Ihre E-mail: <br>
  <input type="Text" name="absender" value="">
  <br>
  Nachricht und Kontaktinformationen:</font><br>
   <textarea name="message" value="" rows="7" cols="25"></textarea>
   <br>
       <br>
   <input type="Submit" name="send" value="senden">
</form>
</p>
<p>
<?php
if(
$send == "senden")
{
$to "reflo@jetzweb.de"//empfänger e-mail
$header "From: \"".$absender."\" <".$absender.">\n";

if ($send <>"" && eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}\$"$absender) && $message != "" && $subject != "" && $telefon="")
$res mail ($to,$subject,$message.&#39;<br><br><br>Absender: &#39;.$absender.&#39;<br><br> telefon:<br>&#39;.$telefon.&#39; IP: &#39;.$REMOTE_ADDR,$header);

if ($res)
echo "<font color=green><b>Mail erfolgreich versendet!</b></font>";
else
echo "<font color=red><b>Fehler!<br>Bitte füllen sie alle Felder aus und geben sie eine korreckte E-Mail an!</b></font>";
}
?>

<body>

</body>
</html>

« Letzte Änderung: 16.06.05, 16:18:46 von reflo »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Waddema, ich glaube da isn kleiner Fehler drin, müsste so heißen :

if ($send <>"" && eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}\$", $absender) && $message != "" && $subject != "")

$res = mail ($to,$subject,$message.'<br><br><br>Absender: '.$absender.'<br><br> telefon:<br>'.$telefon. '<br><br>IP: '.$REMOTE_ADDR,$header);

Weil in dem Teil oben soll erst geprüft werden, ob alle Pflichtfelder ausgefüllt sind und unten dann wird das gesendet... (glaub ich zumindest, wegen dem "if" Attribut)

Vor und hinter alles, was KEIN PHP-Befehl ist, muss ein Anführungszeichen bzw. ein ', das war noch falsch gewesen.. Hoffe, dass der Mailer jetzt so funktioniert..

super klappt einmanfrei! danke!!!

mfg

PS: sieht der tread nur bei mir so komisch aus, der ist voll verschoben!

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

*dochgernehelf*

Hab null Peil von PHP, wird Zeit dass ich das mal lerne. Die "Hilfe" war reine Vermutung. Aber soviel verstehe ich schon, dass ich anhand von einem fertigem Beispiel Ergänzungen vornehmen kann. Ohne Code wäre das sicherlich nicht so einfach gewesen  ;D

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Anmerkung noch von mir:
Eigentlich müsste jeder Browser den Aufruf deiner Seite verweigern, wenn er mitbekommt, dass du den ganzen Inhalt zwischen dem (geschlossenen) </head>-Tag und dem <body>-Tag stehen hast... ;D;D;)

Mario 8)

oh, ist mir noch gar net aufgefallen :o , hat aber im ie, Firefox, opera und netscape geklappt!

aber dank für den hinweis!

mfg

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

jo, haben die extra für dich richtig dargestellt! ;D

Mario 8)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Wenns dich interessiert (und du lernen willst), ich habe hier mal einen Formmailer erstellt auf der Seite einer Grundschule (http://www.stadtschule-michelstadt.com) :

<html>
<head><title>Stadtschule Online - Kontakt</title>

<script language="JavaScript">
<!--
function check() {
if(document.kontakt.EMAIL.value=="") {
window.alert("Bitte eine E-Mail Adresse angeben!");
document.kontakt.EMAIL.select();
document.kontakt.EMAIL.focus();
return false;
}

zeichenketten=document.kontakt.EMAIL.value;
reg_ex5=/^\w[\w|\.|\-]+@\w[\w|\.|\-]+\.[a-zA-Z]{2,4}$/;

if(reg_ex5.test(zeichenketten))
{
return true;
}
else
{
alert("Bitte die E-Mail Adresse überprüfen!");
document.kontakt.EMAIL.select();
document.kontakt.EMAIL.focus();
return false;
}
}
//-->
    </script>
  </head>
<body topmargin="0" leftmargin="0">
<form
action="antrag_mail.php"
method="post">
<table class="kf_table" border="0" cellpadding="2" cellspacing="0">
    <tbody>
      <tr>
        <td>&nbsp;</td>
        <td><b><p class="textnormal">Beantragung einer email Adresse</p></b> </td>
      </tr>
      <tr>
        <td align="right"><p class="textnormal">*Name: </p></td>
        <td><input class="kf_textfeld" type="text" name="absender_name">
        </td>
      </tr>
       <tr>
        <td align="right"><p class="textnormal">*E-Mail: </p></td>
        <td><input class="kf_textfeld" type="text" name="absmail"> </td>
      </tr>
       <tr>
        <td align="right" valign="top"><p class="textnormal">*Wunschemail: </p></td>
        <td><input class="kf_textfeld" type="text" name="abswunschmail"> </td>
      </tr>
     <tr>
      <td align="right" valign="top"><p class="textnormal"><input checked="checked"
        name="emailart" value="weiterleitung" type="radio"></td>
       <td><p class="textnormal">Weiterleitung</p>
        </tr>
       <tr>
        <td align="right" valign="top"><input name="emailart" value="POP3" type="radio"></td>
        <td><p class="textnormal">POP3 Postfach</p>
      </td>
      </tr>
      <tr>
      <td align="right"><p class="textnormal">*Passwort: </p></td>
      <td><input class="kf_textfeld" type="text" name="password" size="10"></td>
       </tr>
       <tr>
      <td align="right"><p class="textnormal">*Wiederholung: </p></td>
      <td><input class="kf_textfeld" type="text" name="password2" size="10"></td>
       </tr>
      <tr>
        <td align="right"><p class="textnormal">Nachricht: </p></td>
        <td><textarea class="kf_textarea" rows="6" name="mitteilung"
 cols="20"></textarea> </td>
      </tr>
      <tr>
        <td align="right">&nbsp; </td>
        <td><input class="kf_button" type="submit" value="Abschicken">&nbsp;<input
 class="kf_button" type="reset" value="L&ouml;schen" name="B1"> </td>
      </tr>
      <tr>
        <td>&nbsp; </td>
        <td><p class="textnormal">* Notwendige Angaben<br><br>
Die email wird an den Webmaster gesendet. In Kürze werden Sie eine Antwort erhalten
bzgl. der email Adresse mit Zugangsdaten. Bitte beachten Sie, dass keine Anfrage bearbeitet werden kann,
die unvollständig ist, also halten Sie sich bitte an die vorgeschriebenen Notwendigen Angaben !</p></td>
      </tr>
      <tr>
        <td>&nbsp; </td>
        <td>&nbsp; </td>
      </tr>
      <tr>
        <td>&nbsp; </td>
        <td></td>
      </tr>
    </tbody>
  </table>
</form>
<br></td>
    </tr>
  </tbody>
</table>
</body>
</html>

Und hier die Dazugehörige antrag_mail.php
<?php
#Datei mail.php

if($_REQUEST["password"] == $_REQUEST["password2"]) 
{
      
$daten .= "Name: ".$_REQUEST[&#39;absender_name&#39;]."\r\n";
      
$daten .= "email: ".$_REQUEST[&#39;absmail&#39;]."\r\n";
      
$daten .="wunschemail: ".$_REQUEST[&#39;abswunschmail&#39;]."\r\n";
      
$daten .="emailart : ".$_REQUEST[&#39;emailart&#39;]."\r\n";
      
$daten .="Passwort : ".$_REQUEST[&#39;password&#39;]."\r\n";
      
$daten .= "Mitteilung: ".$_REQUEST[&#39;mitteilung&#39;]."\r\n";
      
      
mail("webmaster@stadtschule-michelstadt.com","Antrag email"$daten,"From: ".$_REQUEST[&#39;absmail&#39;]."\r\n" .       "Reply-To: ".$_REQUEST[&#39;absmail&#39;]."\r\n" ."X-Mailer: PHP/" . phpversion());
      
      
echo &#39;<meta http-equiv="refresh" content="0; URL=antrag_kontakt.php">&#39;;

else 
{
  die(&
#39;Das Passwort muss gleich sein !&#39;);
}
?>

Das "else {die('Das Passwort muss gleich sein !');}" hätte man auch auf die Seite vorher packen können, aber da hatte ich IMHO keine Lust zu  ;);D

Mailer im Einsatz :
http://www.stadtschule-michelstadt.com/antrag_kontakt.php

jap danke, ich werde mich mal in den nächsten tagen ausführlicher mit php beschäftigen, weil ich brauche das irgednwie immer häufiger!

mfg


« Geschützter Bereich - Linkauswahl nach Benutzer1&1 Profiseller eure Erfahrungen »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!