zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden PHP Kontaktformular mit Umlauten

Antwort
 
LinkBack Themen-Optionen Ansicht
  #11 (permalink)  
Alt 24.10.2009, 14:30
Benutzerbild von Pr0g
(^.^)
XHTMLforum-Mitglied
 
Registriert seit: 22.08.2005
Ort: Düsseldorf
Beiträge: 535
Pr0g wird schon bald berühmt werden
Standard

Ich glaube nicht, dass es einen Unterschied macht mit welchem Zeichensatz die Dateien gespeichert wurden, dies würde höchstens einen Unterschied machen, wenn du einen Text aus der Datei direkt mit in die Mail schreibst, was bei dir aber nicht der Fall ist.

Öffne dein Formular mal im Browser und geh auf Ansicht->Zeichensatz (oder ähnlich), welcher Zeichensatz ist dort markiert? Sollte es nicht utf-8 sein, dann sieh dir noch mal Davids Posts an bezüglich des header() Befehls.
__________________
Mit Zitat antworten
Sponsored Links
  #12 (permalink)  
Alt 24.10.2009, 15:02
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 23.10.2009
Beiträge: 65
talkuvit befindet sich auf einem aufstrebenden Ast
Standard

so bei mir unter ansicht fande ich folgendes codierung und quelle:
codierung steht auf utf-8
und das steht in der quelle / quelltext:

HTML-Code:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ASE-SECURITY - BERLIN</title>
<link href="security.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/thickbox.js"></script>
<script type="text/javascript"> 
function chpic(obj, flag) { obj.src = (flag==1)?obj.src.replace(/\.jpg/g, '_h.jpg'):obj.src.replace(/_h\.jpg/g, '.jpg'); }
</script>
<script type="text/javascript" src="js/be_slide.js"></script>
</head>
<body>
	<div id="wrap">
    <div id="header">
    	<div class="logo"></div>
        <div class="cat1"><a href="index.php?site=home"><img src="images/navi_button_home.jpg" alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
        <div class="cat2"><a href="index.php?site=wir"><img src="images/navi_button_wir.jpg"  alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
        <div class="cat3"><a href="index.php?site=service"><img src="images/navi_button_service.jpg"  alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
        <div class="cat7"><a href="index.php?site=jobs"><img src="images/navi_button_jobs.jpg"  alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
      <div class="cat4"><a href="index.php?site=kontakt"><img src="images/navi_button_kontakt.jpg"  alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
        <div class="cat5"><a href="index.php?site=anfahrt"><img src="images/navi_button_anfahrt.jpg"  alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
      <div class="cat6"><a href="index.php?site=impressum"><img src="images/navi_button_impressum.jpg"  alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
    </div>
    <div id="line"></div>
    <div id="slideshow"><img src="images/logoa.jpg" alt=""/></div>
	<div id="line2"></div>
    <div id="content">
    <div class="hometext"><h1>Kontakt</h1>
<p>Sie haben Fragen zu unseren Dienstleistungen ? <a href="bewerben.php?keepThis=true&amp;TB_iframe=true&amp;height=500&amp;width=900" title="" class="thickbox">Hier gelangen Sie zu unserem Bewerberformular</a><br />
	F&uuml;r diese und weitere Anliegen k&ouml;nnen Sie schnell und einfach &uuml;ber das folgende Formular mit uns 
	in Kontakt treten.<br />
	<br />
	Alle mit einem * markierte Felde m&uuml;ssen	ausgef&uuml;llt werden.<br />
	
			
			
<form method="post" action="index.php?site=mail" header="Content-Type: text/html; charset=utf-8">
		
		<fieldset class="fieldset">
		<legend>Kontaktformular</legend>
		<label class="formlabel" for="c_name">Ihr Name *</label>
		<input class="inputfld" type="text" name="Name" id="c_name" value="" /><br />
		<label class="formlabel" for="c_email">E-Mail Adresse</label>
		<input class="inputfld" type="text" name="Email" id="c_email" value="" /><br />
		<label class="formlabel" for="c_phone">Telefonnummer</label>
		<input class="inputfld" type="text" name="Telefonnummer" id="c_phone" value="" /><br />
		<label class="formlabel" for="c_subject">Betreff *</label>
		<input class="inputfld" type="text" name="Betreff" id="c_subject" value="" /><br />      
		<label class="formlabel" for="c_message">Ihre Nachricht an uns *</label>
		<textarea name="Nachricht" id="c_message" class="inputfld" rows="5" cols=""></textarea><br />
		</fieldset>
		 
		<div class="clear"></div> 
		  
		<fieldset class="fieldset_submit">
		<legend>Formular versenden</legend>
		<input type="submit" class="button" name="c_submit" value="Versenden" />		
		</fieldset>
		
</form>
</p></div>
    </div><div class="clear">
        
        <div id="boxes">
    	<div id="boxintern">
        <div class="team"><a href="index.php?site=team"><img src="images/box_01.jpg" alt="Unser Team" /></a></div>
    	<div class="sicherheit"><a href="index.php?site=service"><img src="images/box_02.jpg" alt="Ihre Sicherheit" width="198" height="145" /></a></div>
    	<div class="haende"><a href="index.php?site=galerie"><img src="images/box_03.jpg" alt="In guten Händen" /></a></div>
        <div class="leistungen"><a href="index.php?site=wir"><img src="images/box_04.jpg" alt="Unsere Leistungen" /></a></div>
    </div>
    <div class="clear">
    </div>
</div>
</div>
</div>
</body>
</html>
ist denn das da so richtig überhaupt angegeben.. ich schaue auch nochmal selbst nur als leihe ist das bissel schwer den fehler direkt sofort zuerkennen
aber danke für den tipp das es nichts mit der uft-8 abspeicherung zutun hat
oder kann es auch sein das ich vielleicht ein leerzeichen zuviel habe und das so mit der code irritiert wird oder so?

Geändert von talkuvit (24.10.2009 um 15:08 Uhr)
Mit Zitat antworten
Sponsored Links
  #13 (permalink)  
Alt 24.10.2009, 15:24
Benutzerbild von Pr0g
(^.^)
XHTMLforum-Mitglied
 
Registriert seit: 22.08.2005
Ort: Düsseldorf
Beiträge: 535
Pr0g wird schon bald berühmt werden
Standard

Ein Form-Tag hat kein header-Attribut, dies kannst du entfernen. Der Zeichensatz kann entweder als Meta Tag übermittelt werden oder per header() im Header mitgeschickt und gilt dann für die aktuelle Seite. Wenn das Formular abgeschickt wird mit dem Zeichensatz wie er aktuell gewählt ist. Daher brauchst du dort keine weitere Angabe.

Ich denke es gleich mal bei mir, also Umlaute, sprich Sonderzeichen machten Probleme richtig?
__________________
Mit Zitat antworten
  #14 (permalink)  
Alt 24.10.2009, 15:29
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Du kannst das Attribut accept-charset="UTF-8" mitgeben, aber ich weiß nicht ob XHTML da so von begeistert ist. Ist sicher auch nicht der beste Weg.
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
  #15 (permalink)  
Alt 24.10.2009, 15:30
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 23.10.2009
Beiträge: 65
talkuvit befindet sich auf einem aufstrebenden Ast
Standard

ja die umlaute machen die probleme..

ich bitte um code snipsel angabe weil ich nicht ganz genau weis wo ich es hins etzen soll das: Attribut accept-charset="UTF-8"

und nocjh ein hinweis ich include das formular in die index auf meiner page ?

muss allso das mit dem header in der index wol geschehen??

index auszug:

<?php

header('Content-Type: text/html; charset=UTF-8');

$_seite = strtolower($_GET['site']);

switch($_seite)
{
case 'home': $include_content = 'content/home.inc.php'; break;
case 'wir': $include_content = 'content/wir.inc.php'; break;
case 'service': $include_content = 'content/service.inc.php'; break;
case 'kontakt': $include_content = 'content/kontakt.inc.php'; break;
case 'mail': $include_content = 'content/mail.inc.php'; break;
case 'got': $include_content = 'content/got.inc.php'; break;
case 'anfahrt': $include_content = 'content/anfahrt.inc.php'; break;
case 'impressum': $include_content = 'content/impressum.inc.php'; break;
case 'galerie': $include_content = 'content/galerie.inc.php'; break;
case 'jobs': $include_content = 'content/jobs.inc.php'; break;
case 'bewerber': $include_content = 'content/bewerber.inc.php'; break;
case 'team': $include_content = 'content/team.inc.php'; break;
case 'cocacola-2007': $include_content = 'content/cocacola-2007.inc.php'; break;
case 'ruegen': $include_content = 'content/ruegen.inc.php'; break;
case 'baumfest': $include_content = 'content/baumfest.inc.php'; break;
case 'hafenfest': $include_content = 'content/hafenfest.inc.php'; break;
case 'brandenburger': $include_content = 'content/brandenburger.inc.php'; break;

default:
$include_content = 'content/home.inc.php';
}
$_inc_content = $include_content;

?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ASE-SECURITY - BERLIN</title>
<link href="security.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/thickbox.js"></script>
<script type="text/javascript">
function chpic(obj, flag) { obj.src = (flag==1)?obj.src.replace(/\.jpg/g, '_h.jpg')bj.src.replace(/_h\.jpg/g, '.jpg'); }
</script>
<script type="text/javascript" src="js/be_slide.js"></script>
</head>
<body>
<div id="wrap">
<div id="header">
<div class="logo"></div>
<div class="cat1"><a href="index.php?site=home"><img src="images/navi_button_home.jpg" alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
<div class="cat2"><a href="index.php?site=wir"><img src="images/navi_button_wir.jpg" alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
<div class="cat3"><a href="index.php?site=service"><img src="images/navi_button_service.jpg" alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
<div class="cat7"><a href="index.php?site=jobs"><img src="images/navi_button_jobs.jpg" alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
<div class="cat4"><a href="index.php?site=kontakt"><img src="images/navi_button_kontakt.jpg" alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
<div class="cat5"><a href="index.php?site=anfahrt"><img src="images/navi_button_anfahrt.jpg" alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
<div class="cat6"><a href="index.php?site=impressum"><img src="images/navi_button_impressum.jpg" alt="" onmouseover="chpic(this,1);" onmouseout="chpic(this,0);" /></a></div>
</div>
<div id="line"></div>
<div id="slideshow"><img src="images/logoa.jpg" alt=""/></div>
<div id="line2"></div>
<div id="content">
<div class="hometext"><?php include $_inc_content; ?></div>
</div><div class="clear">

<div id="boxes">
<div id="boxintern">
<div class="team"><a href="index.php?site=team"><img src="images/box_01.jpg" alt="Unser Team" /></a></div>
<div class="sicherheit"><a href="index.php?site=service"><img src="images/box_02.jpg" alt="Ihre Sicherheit" width="198" height="145" /></a></div>
<div class="haende"><a href="index.php?site=galerie"><img src="images/box_03.jpg" alt="In guten Händen" /></a></div>
<div class="leistungen"><a href="index.php?site=wir"><img src="images/box_04.jpg" alt="Unsere Leistungen" /></a></div>
</div>
<div class="clear">
</div>
</div>
</div>
</div>
</body>
</html>

Geändert von talkuvit (24.10.2009 um 15:34 Uhr)
Mit Zitat antworten
  #16 (permalink)  
Alt 24.10.2009, 15:46
Benutzerbild von Pr0g
(^.^)
XHTMLforum-Mitglied
 
Registriert seit: 22.08.2005
Ort: Düsseldorf
Beiträge: 535
Pr0g wird schon bald berühmt werden
Standard

Also dein Problem besteht aus zwei Punkten. Erstmal hast du den Header im mail() Aufruf gestückelt, da du ihn auf mehrere Zeilen erstreckst und die Variable $header mit dem Zeichensatz wird doch gar nicht beim Aufruf genutzt...

So würde es funktionieren (is auch getestet):
PHP-Code:
mail($var_to'Mitteilung vom Kontaktformular - aseberlin.de'$strMailtext ,"FROM: $var_from\r\nReply-to: $var_from\r\nReturn-path: info@test.de\r\nContent-type: text/plain; charset=utf-8"
__________________
Mit Zitat antworten
  #17 (permalink)  
Alt 24.10.2009, 15:57
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 23.10.2009
Beiträge: 65
talkuvit befindet sich auf einem aufstrebenden Ast
Standard

wau es hat und funktioniert...... respekt...

danke pr0g

jetzt kann ich weitere schritte in angriff nehmen. weil ich will nóch gerne das die eingabefelder mit sternchen überprüft werden ob sie ausgefüllt worden.
entwerder ob dort etwas drinne steht oder bzw ob sie korekt ausgefüllt sind.
aber das leichtere ist ja bestimmt ob sie überhaupt ausgefüllt sind oder??

Geändert von talkuvit (24.10.2009 um 16:06 Uhr)
Mit Zitat antworten
  #18 (permalink)  
Alt 24.10.2009, 16:25
Benutzerbild von Pr0g
(^.^)
XHTMLforum-Mitglied
 
Registriert seit: 22.08.2005
Ort: Düsseldorf
Beiträge: 535
Pr0g wird schon bald berühmt werden
Standard

Ein grobes Beispiel
PHP-Code:
<?php
if (isset($_POST['c_submit'])) {
  
// Formular wurde abgeschickt
  
$error '';
  if (empty(
$_POST['name'])) {
    
$error .= '<li>Bitte gib einen Namen ein.</li>';
  }
  if (empty(
$_POST['xyz'])) {
    
$error .= '<li>Bitte gib xyz ein.</li>';
  }
  if (empty(
$error)) {
    
// Kein Fehler gefunden
    
mail(...);
    echo 
'Danke für ihre Mail';
  }
}
if (!isset(
$error) || !empty($error)) {
  if (!empty(
$error)) {
    echo 
'Fehler: <ul>' $error '</ul>';
  }
?>
<form....>
...
</form>
<?php
  
}
?>
__________________
Mit Zitat antworten
  #19 (permalink)  
Alt 24.10.2009, 16:59
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 23.10.2009
Beiträge: 65
talkuvit befindet sich auf einem aufstrebenden Ast
Standard

habe es mal in mein php script hineingepackt und schonmal einbisschen angepasst wie die felder heißen von der id:

PHP-Code:
<?php
$strDelimiter  
":\t";
$var_from "noreply@pagelock.de";
$var_to ="info@test";

if (isset(
$_POST['c_submit'])) {
  
// Formular wurde abgeschickt
  
$error '';
  if (empty(
$_POST['c_name'])) {
    
$error .= '<li>Bitte gib einen Namen ein.</li>';
  }
  if (empty(
$_POST['c_subject'])) {
    
$error .= '<li>Bitte gib einen Betreff ein.</li>';
  }
  if (empty(
$_POST['c_message'])) {
    
$error .= '<li>Bitte gib eine Nachricht ein.</li>';
  }
}
if (!isset(
$error) || !empty($error)) {
  if (!empty(
$error)) {
    echo 
'Fehler: <ul>' $error '</ul>';
  }


if(
$_POST)
{
 
$strMailtext "";

 while(list(
$strName,$value) = each($_POST))
 {
  if(
is_array($value))
  {
   foreach(
$value as $value_array)
   {
    
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
   }
  }
  else
  {
   
$strMailtext .= $strName.$strDelimiter.$value."\n";
  }
 }

 if(
get_magic_quotes_gpc())
 {
  
$strMailtext stripslashes($strMailtext);
 }

 
mail($var_to'Mitteilung vom Kontaktformular - aseberlin.de'$strMailtext ,"FROM: $var_from\r\nReply-to: $var_from\r\nReturn-path: info@test.de\r\nContent-type: text/plain; charset=utf-8")  
  or die(
"Die Mail konnte nicht versendet werden.");
 }
 
 include(
"content/got.inc.php");
 
?>

natürlich funktioniert ja das formular nun nicht,,,, deshalb will ich fragen was man da so verändern muss und wo man es dann genau einfügt ,,hineinschriebt in meine zweite datei die ich hier mal eben sie oben dargestellt habe in diesem beitrag

eingabeformularferlder / id sehen so aus ( extradatei)

PHP-Code:
<h1>Kontakt</h1>
<
p>Sie haben Fragen zu unseren Dienstleistungen ? <a href="bewerben.php?keepThis=true&amp;TB_iframe=true&amp;height=500&amp;width=900" title="" class="thickbox">Hier gelangen Sie zu unserem Bewerberformular</a><br />
    
F&uuml;r diese und weitere Anliegen k&ouml;nnen Sie schnell und einfach &uuml;ber das folgende Formular mit uns 
    in Kontakt treten
.<br />
    <
br />
    
Alle mit einem markierte Felde m&uuml;ssen    ausgef&uuml;llt werden.<br />
    


        
<
form method="post" action="index.php?site=mail">
        
        <
fieldset class="fieldset">
        <
legend>Kontaktformular</legend>
        <
label class="formlabel" for="c_name">Ihr Name *</label>
        <
input class="inputfld" type="text" name="Name" id="c_name" value="" /><br />
        <
label class="formlabel" for="c_email">E-Mail Adresse</label>
        <
input class="inputfld" type="text" name="Email" id="c_email" value="" /><br />
        <
label class="formlabel" for="c_phone">Telefonnummer</label>
        <
input class="inputfld" type="text" name="Telefonnummer" id="c_phone" value="" /><br />
        <
label class="formlabel" for="c_subject">Betreff *</label>
        <
input class="inputfld" type="text" name="Betreff" id="c_subject" value="" /><br />      
        <
label class="formlabel" for="c_message">Ihre Nachricht an uns *</label>
        <
textarea name="Nachricht" id="c_message" class="inputfld" rows="5" cols=""></textarea><br />
        </
fieldset>
         
        <
div class="clear"></div
          
        <
fieldset class="fieldset_submit">
        <
legend>Formular versenden</legend>
        <
input type="submit" class="button" name="c_submit" value="Versenden" />        
        </
fieldset>
        
</
form>
</
p

Geändert von talkuvit (24.10.2009 um 17:04 Uhr)
Mit Zitat antworten
Sponsored Links
  #20 (permalink)  
Alt 24.10.2009, 17:02
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Im Fehlerfall musst du natürlich auch das Formular wieder ausgeben, mit allen Eingaben, die getätigt wurden.
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP Kontaktformular und verschiedene Browser HTMLLernender (X)HTML 1 22.01.2010 11:08
PHP Kontaktformular mit Sonderzeichen minimalwerk Serveradministration und serverseitige Scripte 4 11.07.2009 21:04
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 18:09
Sicherheit von eigenem PHP Kontaktformular Lloyd Larkin Serveradministration und serverseitige Scripte 13 01.10.2006 12:02


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:34 Uhr.