Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
-=Gestalter=-
Threadersteller
Dabei seit: 13.09.2007
Ort: -
Alter: 44
Geschlecht:
|
Verfasst Di 02.11.2010 11:44
Titel
|
|
|
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.
|
|
|
|
|
-=Gestalter=-
Threadersteller
Dabei seit: 13.09.2007
Ort: -
Alter: 44
Geschlecht:
|
Verfasst Di 02.11.2010 13:08
Titel
|
|
|
ok, habs hinbekommen,
wenn ne mail verschickt wird, wie schaffe ich das, das die felder wieder leer werden?
|
|
|
|
|
Anzeige
|
|
|
-=Gestalter=-
Threadersteller
Dabei seit: 13.09.2007
Ort: -
Alter: 44
Geschlecht:
|
Verfasst Mi 03.11.2010 13:52
Titel
|
|
|
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]?
|
|
|
|
|
fyll
Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht:
|
Verfasst Mi 03.11.2010 14:03
Titel
|
|
|
-=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> |
|
|
|
|
|
-=Gestalter=-
Threadersteller
Dabei seit: 13.09.2007
Ort: -
Alter: 44
Geschlecht:
|
Verfasst Mi 03.11.2010 14:09
Titel
|
|
|
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?
|
|
|
|
|
fyll
Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht:
|
Verfasst Mi 03.11.2010 14:17
Titel
|
|
|
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?
|
|
|
|
|
-=Gestalter=-
Threadersteller
Dabei seit: 13.09.2007
Ort: -
Alter: 44
Geschlecht:
|
Verfasst Mi 03.11.2010 14:23
Titel
|
|
|
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
|
|
|
|
|
fyll
Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht:
|
Verfasst Mi 03.11.2010 14:31
Titel
|
|
|
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 )
durch Code: | <form action="kontakt.shtm" method="post"
enctype="multipart/form-data" accept-charset="<?php echo CHARSET; ?>">
|
|
|
|
|
|
|
|
|
Ähnliche Themen |
PHP Kontaktformular
Kontaktformular
PHP-Kontaktformular
Kontaktformular mit PHP
Kontaktformular
Kontaktformular
|
|
|
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.
|
|