mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: So 28.04.2024 03:01 Benutzername: Passwort: Auto-Login

Thema: abfragendes kontaktformular vom 06.09.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Allgemeines - Nonprint -> abfragendes kontaktformular
Seite: Zurück  1, 2, 3, 4, 5  Weiter
Autor Nachricht
-=Gestalter=-
Threadersteller

Dabei seit: 13.09.2007
Ort: -
Alter: 44
Geschlecht: Männlich
Verfasst Di 02.11.2010 11:44
Titel

Antworten mit Zitat Zum Seitenanfang

ja die frage ist gut,

also das kontaktformular was ich anfangs als code hier gestellt habe ist das aus dem buch, dummer weise geht das dann mit contentmanagement weiter also mit wordpress oder wie das heißt und da blcik ich nicht durch weil ich ja das formular ohne dem machen will.
  View user's profile Private Nachricht senden
-=Gestalter=-
Threadersteller

Dabei seit: 13.09.2007
Ort: -
Alter: 44
Geschlecht: Männlich
Verfasst Di 02.11.2010 13:08
Titel

Antworten mit Zitat Zum Seitenanfang

ok, habs hinbekommen,

wenn ne mail verschickt wird, wie schaffe ich das, das die felder wieder leer werden?
  View user's profile Private Nachricht senden
Anzeige
Anzeige
-=Gestalter=-
Threadersteller

Dabei seit: 13.09.2007
Ort: -
Alter: 44
Geschlecht: Männlich
Verfasst Mi 03.11.2010 13:52
Titel

Antworten mit Zitat Zum Seitenanfang

habe mein Kontaktformular fertig, funktioniert auch, allerdings is alles in einer datei, was ich änder will:

ich habe die kontakt.php in meine kontakt.shtm includet jedoch geht das nicht so.

hier ma der code für kontakt.php

Code:
<?php

define ('MAILTO', "test@web.de"); // Empfänger hier eintragen
define ('MAILFROM', "Kontaktformular"); // ggfls. Absender hier eintragen
define ('CHARSET', "ISO-8859-15"); // Zeichenkodierung ggfls. anpassen
$Pflichtfelder = array('Nachricht', 'eMail'); // ggfls. weitere Pflichtfelder angeben


$AddHeader = 'Content-Type: text/plain; charset='.CHARSET;
if(MAILFROM) $AddHeader .= chr(13).chr(10).'From: '.MAILFROM;

if($Formular_abgeschickt = !empty($_POST)) {
  $Formular_leer = true; set_magic_quotes_runtime(0);
  $_POST = array_map('Formular_Daten', $_POST);
}
function Formular_Daten($val) {
  global $Formular_leer;
  if(is_array($val)) return array_map('Formular_Daten', $val);
  if(get_magic_quotes_gpc()) $val = stripslashes($val);
  if($val = trim($val)) $Formular_leer = false;
  return $val;
}

function Formular_Pflichtfelder() {
  global $Pflichtfelder;
  $Fehler = '';
  foreach ($Pflichtfelder as $Feld) {
    $key = str_replace(' ','_',$Feld);
    if(!(isset($_POST[$key]) && trim($_POST[$key]))) {
      if($Fehler) $Fehler .= '<br />';
      $Fehler .= 'Pflichtfeld "' . $Feld . '" nicht ausgefüllt.';
    }
  }
  return $Fehler;
}

function Formular_neu($log='.htPOSTdata.txt') {
  if(file_exists($log) && is_readable($log)
   && file_get_contents($log) == print_r($_POST,true))
  return false;
  if($handle=@fopen($log, 'w')) {
    fwrite($handle, print_r($_POST,true)); fclose($handle);
  }
  return true;
}

function Formular_Check() {
  global $Formular_leer;
  if($Formular_leer) $Fehler = 'Keine Daten eingetragen.';
  elseif(!$Fehler = Formular_Pflichtfelder()) {
    if(!Formular_neu()) $Fehler = 'Nachricht war bereits verschickt.';
    elseif(!checkEmail($_POST['eMail'])) $Fehler = 'E-Mail fehlerhaft.';
  }


  return $Fehler;
}

function Formular_Eingabe($Feldname, $def='') {
  if(!empty($_POST[$Feldname])) echo htmlspecialchars($_POST[$Feldname]);
  else echo $def;
}

function checkEmail($adr) {
  $regEx = '^([^\s@,:"<>]+)@([^\s@,:"<>]+\.[^\s@,:"<>.\d]{2,}|(\d{1,3}\.){3}\d{1,3})$';
  return (preg_match("/$regEx/",$adr,$part)) ? $part : false;
}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

<head>
  <title>Kontaktformular</title>
  <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>" />
  <style type="text/css" media="screen"> @import url( ../stylesheet.css ); </style>
  </head>
<body>
<h2>Kontakt</h2>

<?php
$Formular_Anzeige = true;
if($Formular_abgeschickt) {
  if($Formular_Fehler = Formular_Check())
    echo '<p class="Meldung" id="Fehler">',$Formular_Fehler,'</p>';
  elseif(@mail(MAILTO, "Nachricht", print_r($_POST,true), $AddHeader)) {
    $Formular_Anzeige = false;
    echo '<p class="Meldung" id="OK">Nachricht verschickt.</p>';
  }
  else echo '<p class="Meldung" id="Fehler">Server-Fehler !</p>';
}

if($Formular_Anzeige): ?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post"
 enctype="multipart/form-data" accept-charset="<?php echo CHARSET; ?>">

<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post"
 enctype="multipart/form-data" accept-charset="<?php echo CHARSET; ?>">
  <fieldset><legend>Kontaktformular</legend>
     <h3>*Bitte die Pflichtfelder beachten.</h3>

    <p>
      <label for="Name">Ihr Name:*</label>
      <input name="Name" id="Name" size="40"
       value="<?php Formular_Eingabe('Name'); ?>" />
    </p>
        <p>
      <label for="Firma">Firma:</label>
      <input name="Firma" id="Firma" size="40"

    </p>
            <p>
      <label for="Telefonnr">Telefonnr.:</label>
      <input name="Telefonnr" id="Telefonnr" size="40"

    </p>
   <p>
  <label for="eMail">Ihre E-Mail-Adresse:*</label>
  <input name="eMail" id="eMail" size="40"
   value="<?php Formular_Eingabe('eMail'); ?>" />
</p>
    <p>
      <label for="Nachricht">Nachricht:*</label>
      <textarea name="Nachricht" id="Nachricht" rows="10" cols="40"><?php
       Formular_Eingabe('Nachricht'); ?></textarea>
    </p>
    <p><input type="submit" value="abschicken" /></p>
  </fieldset>
</form>
 <?php endif; ?>
</body>
</html>


kann ich das in 2 dateie spliten? möchte eine shtml datei die das kontaktformular anzeigt und eine php.datei die den phpcode beinhaltet . kann mir einer weiterhelfen?[/code]?
  View user's profile Private Nachricht senden
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Mi 03.11.2010 14:03
Titel

Antworten mit Zitat Zum Seitenanfang

-=Gestalter=- hat geschrieben:
...
ich habe die kontakt.php in meine kontakt.shtm includet jedoch geht das nicht so.

Ich sehe bei dir keinen include.

Da aber deine .shtm-Datei auch PHP-Code enthält (v.a. wenn du in diese dann die kontakt.php includen willst), muss diese auch durch den PHP-Parser laufen.
Dateien mit der Endung "shtml" tun das normalerwiese nicht.
Ändern kannst das, indem du in dem Ordner ne ".htacess"-Datei mit folgendem Inhalt anlegst:
Code:
AddType application/x-httpd-php .shtm
Options All
<IfModule mod_mod_access.c>
   Order allow, deny
   Allow from all
</IfModule>
  View user's profile Private Nachricht senden
-=Gestalter=-
Threadersteller

Dabei seit: 13.09.2007
Ort: -
Alter: 44
Geschlecht: Männlich
Verfasst Mi 03.11.2010 14:09
Titel

Antworten mit Zitat Zum Seitenanfang

ok, danke
wenn ich in meiner kontakt.shtm die kontakt.php include und das kontaktformular wird falsch ausgefüllt oder abgeschickt dann zeigt er im browser fenster nur noch das kontakt.php an, das liegt ja dadran, weil in der kontakt.php steht das es in sich selber ausgibt... wie kann ich das problem lösen?
  View user's profile Private Nachricht senden
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Mi 03.11.2010 14:17
Titel

Antworten mit Zitat Zum Seitenanfang

Mh?
Dann hast wohl nen Fehler irgendwo eingebaut.
Die kontakt.php besteht NUR aus allem bis "<!DOCTYPE" und die .sthml ausschließlich aus nachfolgendem (inklusive include)?
Und du rufst das Formular im Browser schon über die .shtml auf?
  View user's profile Private Nachricht senden
-=Gestalter=-
Threadersteller

Dabei seit: 13.09.2007
Ort: -
Alter: 44
Geschlecht: Männlich
Verfasst Mi 03.11.2010 14:23
Titel

Antworten mit Zitat Zum Seitenanfang

na die kontakt.php enthält ja die den php code und das formular auch wie man im code sieht,
meine kontakt.shtm enthält ja meine navigation und das layout und im content wollte ich dann die kontakt.php includen, geht ja auch nur das wenn man auf senden geht nur noch kontakt.php angezeigt wird im browser und nicht mehr meine kontakt.shtml
  View user's profile Private Nachricht senden
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Mi 03.11.2010 14:31
Titel

Antworten mit Zitat Zum Seitenanfang

Dann ersetz mal
Code:
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post"
 enctype="multipart/form-data" accept-charset="<?php echo CHARSET; ?>">

<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post"
 enctype="multipart/form-data" accept-charset="<?php echo CHARSET; ?>">
(beide *zwinker* )
durch
Code:
<form action="kontakt.shtm" method="post"
 enctype="multipart/form-data" accept-charset="<?php echo CHARSET; ?>">
* Keine Ahnung... *
  View user's profile Private Nachricht senden
 
Ähnliche Themen PHP Kontaktformular
Kontaktformular
PHP-Kontaktformular
Kontaktformular mit PHP
Kontaktformular
Kontaktformular
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2, 3, 4, 5  Weiter
MGi Foren-Übersicht -> Allgemeines - Nonprint


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.