php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.04.2009, 16:19  
Neuer Benutzer
 
Registriert seit: 20.04.2009
Beiträge: 6
brainx befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Radio Button in Kontaktformular und andere Kleinigkeiten

Hallo,

ich habe vor ca. 2 Wochen angefangen mich zum ersten mal mit html/css und nun mit php zu beschäftigen. Von daher denke ich hier im Anfängerforum gut aufgehoben zu sein und auf meine wahrscheinlich leichte Frage schnell eine Anwort zu bekommen.
1. Ich bastel gerade ein Kontaktformular und hänge gerade an der Auswertung zweier radiobuttons (Anrede: Herr/Frau) In der Mail die mir weitergeleitet werden soll, soll natürlich die jeweilige ausgewählte Anrede erscheinen.
z.Z. sieht die Mail so aus:
Anrede:
Name: Test
StraÃe: Teststraße
PLZ: 12345
Ort: Test
E-Mail: test@test.de
Telefon: 12345
RÃπckruf gewÃπnscht am: 10.4.2009
Newsletter gewÃπnscht: on
Nachricht: Testnachricht

Wie man sieht bleibt Anrede einfach leer und ich weiß nicht was ich ändern muss.
2. Vielleicht weiß ja auch jemand bei der Gelegenheit warum die Mail nicht in UTF-8 ankommt. Hab schon probiert die Umlaute mit &uuml zu schreiben, aber dann wirds auch genau so dargestellt. Wenn ich allerdings in Outlook/Entourage per Hand auf UTF-8 umstelle geht es (bis auf ß), aber das ist recht lästig dies jedes mal zu tun.
3. Der Betreff der Mail soll lauten " Anfrage von NAME" Anstelle von NAME soll der Name erscheinen, den der Kunde eingetragen hat

So das war nun doch ganz schön viel, hoffe mir kann jemand helfen. Danke schon mal. Hier noch der Code:

PHP-Code:
<?php 

define 
("EMPFAENGER","info@meineseite.de");
define ("BETREFF","Anfrage");
define ("ABSENDER","info@meineseite.de");

if (
$_POST["send"]) {
    
$anrede $_POST["anrede"];
    
$name $_POST["r_Name"];    
    
$strasse $_POST["Strasse"];    
    
$plz $_POST["d_PLZ"];    
    
$ort $_POST["Ort"];    
    
$email $_POST["re_E-Mail"];
    
$telefon $_POST["r_Telefon"];
    
$rueckruf $_POST["rueckruf"];
    
$nachricht $_POST["r_Ihre_Nachricht"];
    
$news $_POST["news"];
    
$ok true;

$mailinhalt "Anrede: $anrede
            Name: $name
            Straße: $strasse
            PLZ: $plz
            Ort: $ort
            E-Mail: $email
            Telefon: $telefon
            Rückruf gewünscht am: $rueckruf
            Newsletter gewünscht: $news \n
            Nachricht: $nachricht"
;
    
            
     
    if (empty(
$name)) {
        
$nameerror "Bitte geben Sie Ihren Namen an.";
        
$ok false;
    }
    
    if (empty(
$email)) {
        
$emailerror "Bitte geben Sie Ihre E-Mailadresse an.";
        
$ok false;
    }
    
    if (empty(
$telefon)) {
        
$telefonerror "Bitte geben Sie Ihre R&uuml;ckrufnummer an.";
        
$ok false;
    }
    
    if (empty(
$nachricht)) {
        
$nachrichterror "Bitte geben Sie eine Nachricht ein.";
        
$ok false;
    }
    
    if (
$ok) {
        
mail (EMPFAENGER,BETREFF,$mailinhalt,"FROM: ".ABSENDER."\nReply-To: $email");
        
$erfolg "<p class=\"success\">Vielen Dank f&uuml;r Ihre Nachricht. Wir melden uns so schnell wie m&ouml;glich bei Ihnen.</p>";
    }
}

?>
brainx ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.04.2009, 16:30  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

1.
Wie sieht denn dein Formular, also die Radio-Buttons aus? hast du ein value="" - Attribut gesetzt? Beide Radio-Buttons sollten den gleichen Namen haben.

2.
Zum Zeichensatz PHP: Mail - Manual
=> header und Mime-Type mitsenden

3.
$betreff = 'Anfrage von ' . $name;
__________________
HalloPHP
Asipak ist offline  
Alt 20.04.2009, 16:35  
Neuer Benutzer
 
Registriert seit: 20.04.2009
Beiträge: 6
brainx befindet sich auf einem aufstrebenden Ast
Standard

wow danke für die schnelle Antwort.
Die Buttons haben den selben Namen aber Unterschiedliche id.
Code:
<tr>
<td class="formLabel">Anrede<font color="#FF0000">*</font></td>
<td class="formField"><input type="radio" name="r_anrede" id="r_Herr" value="Herr" checked="checked" title="Anrede">Herr
<input type="radio" name="r_anrede" id="r_Frau" value="Frau" title="Anrede"/>Frau
</td>
</tr>
brainx ist offline  
Alt 20.04.2009, 16:38  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

vgl.
Code:
$anrede = $_POST["anrede"];
mit
Code:
name="r_anrede"
__________________
HalloPHP
Asipak ist offline  
Alt 20.04.2009, 17:02  
Neuer Benutzer
 
Registriert seit: 20.04.2009
Beiträge: 6
brainx befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Asipak Beitrag anzeigen
3.
$betreff = 'Anfrage von ' . $name;
Wo genau muss ich das denn eingeben? Habs bei
PHP-Code:
define ("BETREFF","Anfrage"); 
versucht, aber dabei kommt irgendwie nix gescheites raus.
brainx ist offline  
Alt 20.04.2009, 21:25  
Neuer Benutzer
 
Registriert seit: 20.04.2009
Beiträge: 6
brainx befindet sich auf einem aufstrebenden Ast
Standard

bei 2. komme ich leider auch nicht weiter. hab da noch etwas gegooglet und gelesen, aber bisher ohne Erfolg. Hab zur zeit folgendes drin stehen:
PHP-Code:
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: text/html; charset=utf-8\n";
$header .= "Content-Transfer-Encoding: 8bit\n"
und trotzdem kommen die mail so an:
Anrede: Herr
Name: üöä
StraÃe: Teststraße
PLZ:
Ort:
E-Mail: öüä@test.de
Telefon: 1234
RÃπckruf gewÃπnscht am:
Newsletter gewÃπnscht: ja

Nachricht: hallo öüä

Warum klappen die Umlaute im eingegebenen Text? Im Header der Mail hab ich folgendes gefunden: X-Amavis-Alert: BAD HEADER Non-encoded 8-bit data (char F6 hex) muss das so sein? Kann es sein, dass das Problem bei meinem Hoster liegt?

Danke!
brainx ist offline  
Alt 21.04.2009, 09:41  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

funktioniert es so?

PHP-Code:
$mailinhalt "Anrede: $anrede
            Name: $name
            Stra&szlig;e: $strasse
            PLZ: $plz
            Ort: $ort
            E-Mail: $email
            Telefon: $telefon
            R&uuml;ckruf gew&uuml;nscht am: $rueckruf
            Newsletter gew&uuml;nscht: $news \n
            Nachricht: $nachricht"

Der Betreff bzw. Der Name ist Variabel, weshalb du ihn nicht als Konstante definieren kannst.

PHP-Code:
$betreff 'Anfrage von ' $name;

if (
$ok) {
  
mail (EMPFAENGER,$betreff, ...
  
//... 
__________________
HalloPHP
Asipak ist offline  
Alt 21.04.2009, 20:37  
Neuer Benutzer
 
Registriert seit: 20.04.2009
Beiträge: 6
brainx befindet sich auf einem aufstrebenden Ast
Standard

Hi, also vorab erstmal vielen Dank. Dank deiner Hilfe bin ich schon ein ganzes Stück weiter
Der Betreff klappt nun wunderbar, ich hab das Ganze noch etwas verändert:
$betreff = 'Anfrage von ' . "$anrede" . "$name";
Das ergibt z.B. "Anfrage von HerrHeinz Müller" Was muss ich tun um ein Leerzeichen zwischen Anrede und Name zu erhalten?

Was den Zeichensatz angeht, bin ich leider noch nicht weiter. Nach der Änderung von dir erhalte ich:
Anrede: Herr
Name: Heinz Müller
Stra&szlig;e: üöä
PLZ:
Ort:
E-Mail: test@test.de
Telefon: 12345
R&uuml;ckruf gew&uuml;nscht am: 24.4.2009
Newsletter gew&uuml;nscht: ja

Nachricht: üöä

Falls es wichtig ist: Ich habe durch das ganze testen nen ganzen Schwung Mails an die bei meinem Hoster hinterlegte Mailadresse bekommen. "Undelivered Mail Returned to Sender" die beinhalten dann Angaben wie: "<8bit@srv01.meinhoster.com>: unknown user: "8bit"

<"MIME-Version:"@srv01.meinhoster.com>: unknown user: "mime-version:"
brainx ist offline  
Alt 21.04.2009, 23:11  
Neuer Benutzer
 
Registriert seit: 20.04.2009
Beiträge: 6
brainx befindet sich auf einem aufstrebenden Ast
Standard

Ich glaube das Problem um UTF-8 gefunden zu haben. Der Server scheint generell auf ISO-8859-1 eingestellt zu sein, also wird mein UTF-8 überschrieben? Ich hab nun eine .htaccess mit UTF-8 angelegt und es schein zu klappen. Leider erkennt mein Emailprogramm Entourage den Zeichensatz nicht von allein sondern erst wenn ichs manuell für die entsprechende Mail umstelle, aber das konnte ich mit einer Regel beheben.
Irgendwelche Header hab ich nun nicht mehr ins PHP reingeschrieben. Ist das Ok so, oder sollte man das auf jeden Fall machen? Was kann man tun um die Spamwahrscheinlichkeit zu minimieren?

EDIT: das mit dem Leerzeichen hab ich nun auch hinbekommen und somit sind alle meine Fragen beantwortet. An der Stelle nochmals vielen Dank für die Hilfestellung. Falls jemand noch was zum Thema "Spam verhindern/erschweren" schreiben mag würde ich mich freuen.

Geändert von brainx (22.04.2009 um 20:01 Uhr).
brainx ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Radio Button als Pflichtfeld garfield1711 PHP Tipps 2009 39 26.09.2009 19:19
[Erledigt] werte aus radio button ausgeben nina123 PHP Tipps 2009 9 08.04.2009 13:40
Radio Button und gleichzeitige überprüfung?? Rapidm PHP Tipps 2009 4 17.01.2009 15:26
[Erledigt] Kontaktformular - Empfänger per Radio auswählen wers1 PHP Tipps 2008 10 11.09.2008 13:50
Radio Button in php-Kontaktformular Renovatio PHP Tipps 2008 2 29.08.2008 14:27
Radio Button robydog HTML, Usability und Barrierefreiheit 4 17.04.2008 13:47
Radio Button nach Refresh soll dieser eingestellt bleiben Natheedo PHP Tipps 2006 8 06.02.2006 13:59
radio button PHP Tipps 2006 17 13.01.2006 16:29
radio button mit Funktion.... PHP Tipps 2006 18 13.01.2006 10:08
radio button automatisch setzen HTML, Usability und Barrierefreiheit 2 11.10.2005 07:12
Radio Button durch Link klicks aktivieren CHRIS PHP Tipps 2005-2 8 14.09.2005 17:53
[Erledigt] Radio Button Auswahl HTML, Usability und Barrierefreiheit 6 26.05.2005 15:11
[Erledigt] Einen bestimmten Button in einer Radio Group ansprechen HTML, Usability und Barrierefreiheit 2 12.04.2005 16:31
[Erledigt] Radio Button anklicken und weiterleiten??? HTML, Usability und Barrierefreiheit 4 14.10.2004 16:19
[Erledigt] Enum Feld - Radio Button Datenbanken 5 15.06.2004 11:42

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-einsteiger/54331-erledigt-radio-button-kontaktformular-und-andere-kleinigkeiten.html, php kontaktformular anrede, kontakt formular radio buttons, anrede radiobutton, radiobutton anrede php, php radiobutton bewertung, php kontaktformular anrede frau herr, radio button als pflichtfeld, php kontaktformular radiobutton, php radio pflichtfeld, kontaktformular radiobuttons e-mail, radio andere strasse, php radiogroup auswerten, radiobutton unterschiedlicher namen, php radiobutton pflichtfeld, radio-buttons in kontaktformular, radiobutton php anrede, mail.php radio-button, radiobutton pflichtfeld formular outlook, radiobutton kontaktformular

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum