php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.11.2005, 12:13  
Gast
 
Beiträge: n/a
Standard Brauche Hilfe beim Kontaktformular!

hallo hab einen vorgefertigten php-code von meinem webspace-anbieter für ein kontaktformular erhalten. ich möchte noch einige felder hinzufügen. an einer stelle hakt es aber.

hier der originalcode:

PHP-Code:
<?php
$mailto 
"info@xxx.com";


if (!empty(
$_POST['send'])) {
    
    
$error 0;
    if (empty (
$_POST['from_name'])) {
        
$name_err "Geben Sie Ihren Namen ein!";
        
$error 1;
    }
    if (empty (
$_POST['from_email']) || !preg_match("/\w+@\w+/i"$_POST['from_email'])) {
        
$email_err "Geben Sie Ihre E-Mail-Adresse ein!";
        
$error 1;
    }
    if (empty (
$_POST['from_msg'])) {
        
$msg_err "Geben Sie die Nachricht ein!";
        
$error 1;
    }
    
    if (!
$error) {
        if (@
mail ($mailto"Antwortformular"$_POST['from_msg'], "From: ".$_POST['from_name']." <".$_POST['from_email'].">")) {
            
$send_msg "Ihre Nachricht wurde erfolgreich gesendet.

"
;
            unset (
$_POST['from_name']);
            unset (
$_POST['from_email']);
            unset (
$_POST['from_msg']);
        }
    }
}
?>

<?=$send_msg?>
<form action="<?=$_SERVER['PHP_SELF']?>" method=post>
<input type="hidden" name="send" value="1">
<table cellpadding=0 cellspacing=3 border=0>
<tr>
    <td align=right>[b]Name:[/b]</td>
    <td><input type="text" name="from_name" value="<?=$_POST['from_name']?>"> <font color='red' size=-1><?=$name_err?></font></td>
</tr>
<tr>
    <td align=right>[b]E-Mail:[/b]</td>
    <td><input type="text" name="from_email" value="<?=$_POST['from_email']?>"> <font color='red' size=-1><?=$email_err?></font></td>
</tr>
<tr>
    <td align=right valign=top>[b]Nachricht:[/b]</td>
    <td><textarea name="from_msg" cols=40 rows=6><?=$_POST['from_msg']?></textarea>
    
<font color='red' size=-1><?=$msg_err?></font></td>
</tr>
<tr>
    <td></td>
    <td><input type=submit value="Senden"></td>
</tr>
</table>
</form>


und jetzt mein erweiterter code mit straßen-feld. wenn ich das hochlade und das formular teste, indem ich die felder leer lasse kommt nicht nur hinter dem straßenfeld, sondern auch hinter dem namenfeld die fehlermeldung "Bitte geben Sie Ihre Straße ein!"

ich nehme an der fehler ist in zeile 26 if (@mail ($mailto, "Antwortformular", $_POST['from_msg'], "From: ".$_POST['from_name']."<".$_POST['from_strasse']."<".$_POST['from_email'].">")) . ich weiß nur nicht was. sind diese zeichen <>". zu viel, zu wenig. kann mir bitte jemand helfen?

PHP-Code:
<?php
$mailto 
"info@xxx.com";


if (!empty(
$_POST['send'])) {
    
    
$error 0;
    if (empty (
$_POST['from_name'])) {
        
$name_err "Bitte geben Sie Ihren Namen ein!";
        
$error 1;
    }
    if (empty (
$_POST['from_strasse'])) {
        
$name_err "Bitte geben Sie Ihre Straße ein!";
        
$error 1;
    }
    if (empty (
$_POST['from_email']) || !preg_match("/\w+@\w+/i"$_POST['from_email'])) {
        
$email_err "Bitte geben Sie Ihre E-Mail-Adresse ein!";
        
$error 1;
    }
    if (empty (
$_POST['from_msg'])) {
        
$msg_err "Bitte geben Sie Ihre Nachricht ein!";
        
$error 1;
    }
    
    if (!
$error) {
        if (@
mail ($mailto"Antwortformular"$_POST['from_msg'], "From: ".$_POST['from_name']."<".$_POST['from_strasse']."<".$_POST['from_email'].">")) {
            
$send_msg "Ihre Nachricht wurde erfolgreich gesendet.

"
;
            unset (
$_POST['from_name']);
            unset (
$_POST['from_strasse']);
            unset (
$_POST['from_email']);
            unset (
$_POST['from_msg']);
        }
    }
}
?>

<?=$send_msg?>
<form action="<?=$_SERVER['PHP_SELF']?>" method=post>
<input type="hidden" name="send" value="1">
<table cellpadding=0 cellspacing=3 border=0>
<tr>
    <td align=right>[b]Name:[/b]</td>
    <td><input type="text" name="from_name" value="<?=$_POST['from_name']?>"> <font color='red' size=-1><?=$name_err?></font></td>
</tr>
<tr>
    <td align=right>[b]Straße:[/b]</td>
    <td><input type="text" name="from_strasse" value="<?=$_POST['from_strasse']?>"> <font color='red' size=-1><?=$name_err?></font></td>
</tr>
<tr>
    <td align=right>[b]E-Mail:[/b]</td>
    <td><input type="text" name="from_email" value="<?=$_POST['from_email']?>"> <font color='red' size=-1><?=$email_err?></font></td>
</tr>
<tr>
    <td align=right valign=top>[b]Nachricht:[/b]</td>
    <td><textarea name="from_msg" cols=40 rows=6><?=$_POST['from_msg']?></textarea>
    
<font color='red' size=-1><?=$msg_err?></font></td>
</tr>
<tr>
    <td></td>
    <td><input type=submit value="Senden"></td>
</tr>
</table>
</form>
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 14.11.2005, 12:16  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard Re: Brauche Hilfe beim Kontaktformular!

$name_err = "Bitte geben Sie Ihren Namen ein!";
//..
$name_err = "Bitte geben Sie Ihre Straße ein!";
Zergling-new ist offline  
Alt 14.11.2005, 12:22  
Gast
 
Beiträge: n/a
Standard

nee sorry fällt mir nix auf. strasse ist doch der variablen-name und straße einfach nur ein textbaustein. oder verstehe ich da was falsch?
 
Alt 14.11.2005, 12:30  
Gast
 
Beiträge: n/a
Standard

Zerling will dir sagen, dass du die Variable $name_err immer wieder überschreibst. Bei der Ausgabe ist es dir auch wurscht, wo der Fehler herkommt, du zeigt ihn bei jedem Feld an.

Gruß
phpfan
 
Alt 14.11.2005, 12:33  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Sorry hab meinen Hinweis bearbeitet, statt nochmal zu spezifizieren. Aber ich denke es dürfte klar sein, was für Änderungen du vorzunehmen hast.
Zergling-new ist offline  
Alt 14.11.2005, 12:48  
Gast
 
Beiträge: n/a
Standard

oh jetzt hab ich's verstanden. danke für eure hilfe! *freu*
 
Alt 14.11.2005, 14:31  
Gast
 
Beiträge: n/a
Standard

hab mal noch eine frage. die daten die ich im formular abfrage, sollen in der gesendeten email im nachrichtenfeld erscheinen. wo muss ich die variablen im code hinschreiben. so wie es jetzt ist, ist es ja völliger blödsinn ... es wird alles bei "Von" eingetragen. (ich weiß die meisten variablen müssen hinter "From:" verschwinden)

hab die variablen schon zwischen "Antwortformular" und $_POST['from_msg'], eingetragen, aber in der email war dann überhaupt nix mehr zu sehen von vorname, name, adresse usw.

PHP-Code:
if (!$error) {
        if (@
mail ($mailto"Antwortformular"$_POST['from_msg'], "From: ".$_POST['from_firma']."<".$_POST['from_anrede']."<".$_POST['from_vorname']."<".$_POST['from_name']."<".$_POST['from_strasse']."<".$_POST['from_ort']."<".$_POST['from_plz']."<".$_POST['from_telnr']."<".$_POST['from_email'].">")) {
            
$send_msg "Ihre Nachricht wurde erfolgreich gesendet.

"
;
            unset (
$_POST['from_vorname']);
            unset (
$_POST['from_name']);
            unset (
$_POST['from_strasse']);
            unset (
$_POST['from_ort']);
            unset (
$_POST['from_plz']);
            unset (
$_POST['from_telnr']);
            unset (
$_POST['from_email']);
            unset (
$_POST['from_msg']);
        } 
 
Alt 14.11.2005, 14:34  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Du übergibst als 3. Argument den Nachrichtentext.
In dem String den du dort übergibst, muss eben stehen, was du drinstehen haben willst ^^

Du machst etwas zu blöde Fehler, denk bitte ein bißchen vorher nach, spricht zumindest nicht für deine Lust Nachzudenken, was du hier so postest :P
Zergling-new ist offline  
Alt 14.11.2005, 14:44  
Gast
 
Beiträge: n/a
Standard

Eventuell so? Bin mir jetzt nicht sicher, auf jeden fall muss $message eben erweitert werden um die Angaben (in deinem Fall $_POST['from_msg'],)

PHP-Code:
<?php
if (!$error) {
        
$message  "Firma: "$_POST['from_firma'] ."\n";
        
$message .= "Anrede: "$_POST['from_anrede'] ."\n";
        
$message .= "Name: "$_POST['from_vorname'] ." "$_POST['from_name'] ."\n";
        
$message .= "Strasse: "$_POST['from_strasse'] ."\n";
        
$message .= "Ort: "$_POST['from_plz'] ." "$_POST['from_ort'] ."\n";
        
$message .= "Telefonnr.: "$_POST['from_telnr'] ."\n";
        
$message .= "E-Mail: "$_POST['from_email'] ."\n\n";
        
$message .= "Nachricht: \n\n";
        
$message .= $_POST['from_msg'];
        if (@
mail ($mailto"Antwortformular"$message"From: "$_POST['from_vorname'] ." "$_POST['from_name'] ." <"$_POST['from_email'] .">")) {
            
$send_msg "Ihre Nachricht wurde erfolgreich gesendet.

"
;
            unset (
$_POST['from_vorname']);
            unset (
$_POST['from_name']);
            unset (
$_POST['from_strasse']);
            unset (
$_POST['from_ort']);
            unset (
$_POST['from_plz']);
            unset (
$_POST['from_telnr']);
            unset (
$_POST['from_email']);
            unset (
$_POST['from_msg']);
        }
}

?>
 
Alt 14.11.2005, 15:12  
Gast
 
Beiträge: n/a
Standard

@zergling
na du bist gut. keine ahnung wie lange du dich damit beschäftigst, aber ich erst seit voriger woche. und momentan sind das für mich noch alles hieroglyphen, obwohl ich mir schon ein paar tutorials durchgelesen habe. vielleicht komm ich ja noch dahinter und stelle schlauere fragen

na ich werd mal versuchen, deinen tipp umzusetzen. obwohl es natürlich sein kann, dass ich es falsch interpretiere
 
 


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
Brauche hilfe mik08 PHP Tipps 2008 10 27.07.2008 16:17
Datenbanktabelle erstellen - brauche Hilfe Raccoon PHP Tipps 2008 1 14.06.2008 11:03
Ich brauche eure Hilfe beim rechnen... GELight PHP Tipps 2006 6 07.04.2006 14:20
Ich brauche eure Hilfe PHP Tipps 2006 22 19.02.2006 19:57
PHP <--> MySQL | Brauche Hilfe ahnungsloser Datenbanken 18 16.02.2006 21:49
brauche eben hilfe PHP Tipps 2007 2 26.11.2005 08:36
brauche sehr schnell und dringend hilfe Beitragsarchiv 13 24.10.2005 13:11
HILFE ! Brauche ganz dringend hilfe! PHP Tipps 2005-2 2 10.10.2005 23:08
Hilfe, Ich brauche hilfe! Kevin PHP Tipps 2005-2 2 27.09.2005 19:31
BRAUCHE DRINGENDE HILFE !!! PHP Tipps 2005-2 2 06.08.2005 19:45
Brauche Hilfe bei preg_match() PHP Tipps 2005-2 2 23.07.2005 22:44
Brauche dringend Hilfe, Aufgabe fürs Studium (Upload-Script trivial Beitragsarchiv 23 23.06.2005 16:25
[Erledigt] Brauche dringend Hilfe PHP Tipps 2005 19 01.02.2005 20:21
Brauche Hilfe PHP Tipps 2005 5 11.01.2005 15:30
Brauche Hilfe - kenne mich nicht aus - zahlen auch dafür Beitragsarchiv 1 09.08.2004 16:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
$send = $_post[\'send\']; $from_vorname = $_post[\'vorname\']; $from_name = $_post[\'name\']; $from_email = $_post[\'email\'];, kontaktformular schriftart im nachrichtenfeld, <?=$send_msg?> <form action, php kontaktformular mit antwortformular, html code antwortformular, <textarea name=\from_msg\ cols= rows=

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:42 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.