zurück zur Startseite
  


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

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 29.07.2012, 21:34
pex pex ist offline
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 18.02.2012
Beiträge: 16
pex befindet sich auf einem aufstrebenden Ast
Standard Kontaktformular funktioniert nicht

Habe vor kurzem HTML und CSS gelernt und folgendes Kontaktformular erstellt:




Code:

HTML-Code:
<div id="kontaktformular">
<form method="post" action="kontakt.php">
  <label for="name">Name</label>
  <input type="text" id="name" name="name" /><br />
  <label for="email">E-Mail</label>
  <input type="text" id="email" name="email" /><br />
  <label for="anfrage">Nachricht</label>
  <textarea id="anfrage" name="anfrage"></textarea><br />
  <input type="submit" value="Anfrage versenden" name="submit" />
</form>
</div>

Jetzt würde ich aber gerne per PHP eine Mail erhalten, wenn das einer ausfüllt und absendet.

Kenne mich mit PHP noch nicht aus, habe momentan folgendes in der "kontakt.php" stehen:


PHP-Code:
<?php

$mail_empfaenger
="meine-mail@gmx.de";
$mail_absender=$mailaddi;
$betreff="Eine Testmail";
$text="Mein Name ist $Vorname $Nachname, von Beruf bin ich $Beruf.
Rufen Sie mich mal an unter der Nummer 
$Telefon. \n Mit freundlichen Gr�ssen";

mail(mail_empfaenger$betreff$text,"from:$mail_absender");

    
    echo 
'Vielen Dank f&uuml;r Deine Nachricht.<br />';
?>

Fehlt da eine Verknüpfung oder was muss ich machen/ändern, damit ich eine Mail bekomme?


/EDIT:

Das mit Beruf etc. ist erst mal egal, es geht mir nur darum, dass ich die Mail überhaupt erhalte.
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 30.07.2012, 00:26
body.ie {display: grotte}
XHTMLforum-Mitglied
 
Registriert seit: 09.01.2011
Beiträge: 841
take_a_7 sorgt für eine eindrucksvolle Atmosphäretake_a_7 sorgt für eine eindrucksvolle Atmosphäre
Standard

Moin,

auch wenn (bzw. gerade wenn) du Anfänger bist, solltest du nicht die mail() Funktion verwenden. Oder weißt du genau, wie eine E-Mail quelltextmäßig aufgebaut ist oder kennst du jeden E-Mail-Client und seine Eigenheiten?
Wahrscheinlich nicht. (So ist zum Beispiel in deinem Code oben eine ziemlich große Sicherheitslücke).
Darum empfehle ich, z.B. den Swiftmailer zu verwenden. Der übernimmt sehr viel der Arbeit für dich und lässt auch das einfache Versenden über bspw. SMTP zu.

Ich benutze ihn seit längerem und bin sehr zufrieden.

gruß,
take
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 30.07.2012, 18:06
pex pex ist offline
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 18.02.2012
Beiträge: 16
pex befindet sich auf einem aufstrebenden Ast
Standard

Danke take! Werde ich mir auf jeden Fall mal ansehen, klingt interessant.

Und wenn ichs mit meinem Code machen würde, wo ist der Fehler?
Mit Zitat antworten
  #4 (permalink)  
Alt 30.07.2012, 18:40
body.ie {display: grotte}
XHTMLforum-Mitglied
 
Registriert seit: 09.01.2011
Beiträge: 841
take_a_7 sorgt für eine eindrucksvolle Atmosphäretake_a_7 sorgt für eine eindrucksvolle Atmosphäre
Standard

Moin,

Zitat:
Zitat von pex Beitrag anzeigen
Und wenn ichs mit meinem Code machen würde, wo ist der Fehler?
Genau hier:
Zitat:
Zitat von pex Beitrag anzeigen
PHP-Code:
mail(mail_empfaenger$betreff$text,"from:$mail_absender"); 
Du überprüfst in keiner Weise, was in $mail_absender steht. Jemand könnte da also ohne Probleme Folgendes eintragen:
Code:
foo@example.com
bcc:some-random-adress@example.com
Damit wird dein Formular zur frei zugänglichen Spamschleuder

gruß,
take
Mit Zitat antworten
  #5 (permalink)  
Alt 31.07.2012, 10:03
Benutzerbild von fox
fox fox ist offline
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 11.09.2006
Beiträge: 1.008
fox sorgt für eine eindrucksvolle Atmosphärefox sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von take_a_7 Beitrag anzeigen
Du überprüfst in keiner Weise, was in $mail_absender steht.
Du hast zwar Recht, der Fehler liegt aber viel mehr im fehlenden $ vor der Variable mail_empfaenger. Das hätte dir PHP auch gesagt, wenn du error-logging (error_reporting(E_ALL)) eingeschaltet hättest.

Für kleine Projekte lohnt es sich meist nicht, ein riesiges Framework zu verwenden. Wenn du dennoch Interesse hast: PHPMailer ist auch sehr gut. Komplexe E-Mails mit PHP ohne Framework sind aber in der Tat (besonders mit Anhängen) nicht ohne weiteres zu versenden.
__________________
:)
Mit Zitat antworten
  #6 (permalink)  
Alt 31.07.2012, 15:57
pex pex ist offline
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 18.02.2012
Beiträge: 16
pex befindet sich auf einem aufstrebenden Ast
Standard

Wenn ich ein $-Zeichen vor "mail..." setze, dann kommt beim Ausfüllen und Absenden des Formulars folgende Meldung:

Fatal error: Function name must be a string in /data/multiserv/users/938757/projects/2163009/www/kontakt.php on line 55

Ich glaube ich muss mich einfach noch weiter ins Thema einlesen, habe zwar jetzt mein erstes Anfänger-Buch (PHP für dich - so einfach war PHP-lernen noch nie!) fast durch. Hab aber noch nicht wirklich viel verstanden. Habe hier aber noch weitere Hefte und Bücher.
Mit Zitat antworten
  #7 (permalink)  
Alt 31.07.2012, 16:32
body.ie {display: grotte}
XHTMLforum-Mitglied
 
Registriert seit: 09.01.2011
Beiträge: 841
take_a_7 sorgt für eine eindrucksvolle Atmosphäretake_a_7 sorgt für eine eindrucksvolle Atmosphäre
Standard

Moin,

Zitat:
Zitat von pex Beitrag anzeigen
Wenn ich ein $-Zeichen vor "mail..." setze, dann kommt beim Ausfüllen und Absenden des Formulars folgende Meldung:

Fatal error: Function name must be a string in /data/multiserv/users/938757/projects/2163009/www/kontakt.php on line 55
Was ist denn in Zeile 55?
Zitat:
Zitat von pex Beitrag anzeigen
PHP für dich - so einfach war PHP-lernen noch nie!
Wenn da das gleiche drinsteht, wie in der Online-Version, dann ist das nicht besonders gut...

gruß,
take
Mit Zitat antworten
  #8 (permalink)  
Alt 31.07.2012, 17:27
Benutzerbild von fox
fox fox ist offline
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 11.09.2006
Beiträge: 1.008
fox sorgt für eine eindrucksvolle Atmosphärefox sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von pex Beitrag anzeigen
Wenn ich ein $-Zeichen vor "mail..."
Les dir meine Antwort bitte noch mal durch.

Heißer Tipp:
Nicht $mail(...) muss es heißen, sondern mail($...)
__________________
:)
Mit Zitat antworten
  #9 (permalink)  
Alt 31.07.2012, 19:24
pex pex ist offline
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 18.02.2012
Beiträge: 16
pex befindet sich auf einem aufstrebenden Ast
Standard

Ups!

Danke für den Hinweis! Habs mal geändert, bekomme aber dennoch keine Mail...
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 02.08.2012, 11:47
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 13.07.2006
Beiträge: 414
Maxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer Mensch
Standard

Vielleicht geht die Mail raus, aber sie landet in irgend einem Spamfilter.

Ich würde an deiner Stelle auf ein Framework setzen (der Swift-Mailer ist wirklich super). Das ist in 99% der Fälle empfehlenswert.

Gruß,
Max
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
Kontaktformular Eingabefelder linksbündig ewaldo CSS 4 22.05.2012 23:37
Kontaktformular Fehler ... root-2k (X)HTML 3 22.11.2010 21:05
PHP Kontaktformular funktioniert nicht wie es soll bodoalbstadt Serveradministration und serverseitige Scripte 9 13.09.2008 13:56
Kontaktformular funktioniert nicht Vybsi (X)HTML 22 17.01.2008 21:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:26 Uhr.