Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

php-Anfängerin hat Frage

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
lala
PostRank 6
PostRank 6
Beiträge: 383
Registriert: 18.02.2004, 08:25
Wohnort: Bayern

Beitrag von lala » 08.05.2007, 12:29

Hallo,

ich fange gerade an, mich in php einzuarbeiten. Möchte auf eine meiner Seiten ein Formular einbauen, bei dem verschiedenen Felder vom User ausgefüllt werden müssen. Klappt auch eigentlich alles, ABER:

<form action="mailto:abc@meine-domain.de" method="post" enctype="text/plain"> ....

Wenn die Leute auf "Absenden" klicken, wird das über deren email-Programm versendet. Da kommen dann die dollsten Browsermeldungen :cry:

Wie mache ich das, dass es gleich versendet wird wie es bei vielen anderen Formularen auf anderen Webseiten auch ist?

Liebe Grüße

lala
Suche noch Linkpartner zu den Bereichen Schmuck, Mode u.Ä. Bei Interesse bitte einfach per PN melden.

Kostenloser Webkatalog
https://www.verzeichnis-eintrag.de
Seiten zum Thema Luxus kostenlos eintragen auf https://www.luxus-exklusiv.de Bitte nur themenbezogene Seiten!

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Alpinist
PostRank 7
PostRank 7
Beiträge: 561
Registriert: 25.04.2005, 19:54
Wohnort: München

Beitrag von Alpinist » 08.05.2007, 12:34

Les Dir das alles (!) mal durch: https://de.selfhtml.org/html/formulare/definieren.htm
Und vergiss sie nicht zu Bookmarken ;-)

Kurzfassung: Schweinereien wie Formulare vom Browser per eMail macht man nicht ;-)

Grüße

Andreas I.
PostRank 9
PostRank 9
Beiträge: 1464
Registriert: 18.03.2006, 14:36
Wohnort: Hamburg

Beitrag von Andreas I. » 08.05.2007, 12:42

Du musst die mail()-Funktion von PHP nutzen: https://de3.php.net/mail

Datibesol
PostRank 3
PostRank 3
Beiträge: 96
Registriert: 22.01.2007, 00:03
Wohnort: Köln

Beitrag von Datibesol » 08.05.2007, 12:45

Probier mal Folgendes:

Code: Alles auswählen

<?php

if &#40;$_POST&#41;  &#123;
  mail &#40; 'deine@mailadresse.de', 'Neue Nachricht von Webseitenbesucher', $_POST&#91;'mitteilungstext'&#93; &#41;
&#125;
else  &#123;
  print '<form method="post">';
  print '<textarea name="mitteilungstext">';
  print '</textarea>';
  print '<input type="submit" value="Mitteilung verschicken">';
  print '</form>';
&#125;

?>
Das zeigt ein Formular an. Wenn jemand einen Text eintippt und das Formular abschickt, wird an deine@mailadresse.de eine Mail mit dem Betreff 'Neue Nachricht von Webseitenbesucher' verschickt. Der Inhalt der Mail ist das, was ins Formularfeld "mitteilungstext" eingetippt wurde.

Alpinist
PostRank 7
PostRank 7
Beiträge: 561
Registriert: 25.04.2005, 19:54
Wohnort: München

Beitrag von Alpinist » 08.05.2007, 12:50

Aber immer schön aufpassen, was Du wie in die mail() Funktion schreibst, da Dein Formular sonst schnell zum Spamversand genutzt werden wird.
https://de.wikipedia.org/wiki/E-Mail-Injektion

Grüße

Datibesol
PostRank 3
PostRank 3
Beiträge: 96
Registriert: 22.01.2007, 00:03
Wohnort: Köln

Beitrag von Datibesol » 08.05.2007, 13:02

Und was jeder PHP-Neuling einmal tun sollte:
Das Buch "PHP Sicherheit" ( https://www.amazon.de/PHP-Sicherheit-PH ... 3898643697 ) einmal komplett durchlesen.

lala
PostRank 6
PostRank 6
Beiträge: 383
Registriert: 18.02.2004, 08:25
Wohnort: Bayern

Beitrag von lala » 08.05.2007, 15:06

@all

Vielen Dank für Eure Tips. Jetzt klappt fast alles. Einziges Problem ist Folgendes:

Im Quelltext befindet sich <input type="hidden" name="return_link_url" value="https://www.meinedomain.de/danke"> als Zielseite nach dem Absenden. Diese url hat keine Dateiendung wie html oder php, da der gesamze Webauftritt mit Wordpress erstellt ist und Wordpress ohne diese Dateiendungen arbeitet.

Leider wird nun meine Danke-Seite nach dem Absenden nicht angezeigt. Wie kann man das Problem nun lösen?

Liebe Grüße

lala
Suche noch Linkpartner zu den Bereichen Schmuck, Mode u.Ä. Bei Interesse bitte einfach per PN melden.

Kostenloser Webkatalog
https://www.verzeichnis-eintrag.de
Seiten zum Thema Luxus kostenlos eintragen auf https://www.luxus-exklusiv.de Bitte nur themenbezogene Seiten!

chrizz
PostRank 10
PostRank 10
Beiträge: 3044
Registriert: 05.07.2006, 10:37
Wohnort: Berlin

Beitrag von chrizz » 08.05.2007, 15:12

hi lala,
ich gehe davon aus, dass auf der dankeseite alles gleich ist, bis auf das statt dem formular ein "danke für ihre nachricht" angezeigt wird, oder?
Das kannst du auch beides zusammenfassen. Dafür sind php seiten ja so schön dynamisch.
Würde dann ungefähr so aussehen:
Wenn Formular noch nicht abgesendet, dann zeige das Formular an, sonst zeige die danke nachricht an.
also im Codeschnipsel von Datibesol kommst es entweder vor oder nach die mail() funktion.

falls du dann noch mehr zeit und lust hast, schau dir mal an, wie fehler (Name vergessen oder so) abgefangen werden können und wie bereits erwähnt, E-Mail Injection verhindert werden kann.

Viele Grüße

lala
PostRank 6
PostRank 6
Beiträge: 383
Registriert: 18.02.2004, 08:25
Wohnort: Bayern

Beitrag von lala » 08.05.2007, 15:17

So, jetzt habe ich auch das hinbekommen. Ihr weist mich alle auf das Problem e-mail-Injection hin. Habe jetzt den geposteten Link zu Wikipedia durchgelesen. Da steht:

"Die einzig wirksame Maßnahme ist das Unterbinden von Zeilenumbrüchen in Variablen, die später in den Header der E-Mail eingefügt werden sollen. Ob man dabei einen Mehrzeiligen String auf die erste Zeile kürzt oder bei der Feststellung von Zeilenumbrüchen die Verarbeitung des Programmes unterbricht, ist dem Programmierer dabei freigestellt."

Na das kapier ich nu wieder nicht :oops:
Suche noch Linkpartner zu den Bereichen Schmuck, Mode u.Ä. Bei Interesse bitte einfach per PN melden.

Kostenloser Webkatalog
https://www.verzeichnis-eintrag.de
Seiten zum Thema Luxus kostenlos eintragen auf https://www.luxus-exklusiv.de Bitte nur themenbezogene Seiten!

Alpinist
PostRank 7
PostRank 7
Beiträge: 561
Registriert: 25.04.2005, 19:54
Wohnort: München

Beitrag von Alpinist » 08.05.2007, 15:22


lala
PostRank 6
PostRank 6
Beiträge: 383
Registriert: 18.02.2004, 08:25
Wohnort: Bayern

Beitrag von lala » 09.05.2007, 08:00

@Alpinist

Vielen Dank für den Heise-Link. Habe den Artikel durchgelesen. Leider muss ich gestehen, dass mir das (noch?) zu hoch ist. Da komme ich noch nicht mit klar. Ich vestehe zwar, worum es geht und da man das irgendwie unterbinden kann, aber ich habe leider keine Ahnung, was ich da in meinem Fall einbinden muss. :(

Liebe Grüße

lala
Suche noch Linkpartner zu den Bereichen Schmuck, Mode u.Ä. Bei Interesse bitte einfach per PN melden.

Kostenloser Webkatalog
https://www.verzeichnis-eintrag.de
Seiten zum Thema Luxus kostenlos eintragen auf https://www.luxus-exklusiv.de Bitte nur themenbezogene Seiten!

godzilla
PostRank 4
PostRank 4
Beiträge: 104
Registriert: 28.05.2005, 21:29
Wohnort: Pilsting

Beitrag von godzilla » 09.05.2007, 08:24

if ((eregi("<[^>]*>", $value)) || (eregi("<[^>]*script*\"?[^>]*>", $value)) || (eregi("<[^>]*iframe*\"?[^>]*>", $value)) || (eregi("<[^>]*object*\"?[^>]*>", $value)) || (eregi("<[^>]*applet*\"?[^>]*>", $value)) || (eregi("<[^>]*meta*\"?[^>]*>", $value)) || (eregi("<[^>]*style*\"?[^>]*>", $value)) || (eregi("<[^>]*form*\"?[^>]*>", $value)) || (eregi("<[^>]*img*\"?[^>]*>", $value)) || (eregi("\"", $value)))
{
echo "go away, you damn fucking Spammer!";
exit; // aussteigen
}

lala
PostRank 6
PostRank 6
Beiträge: 383
Registriert: 18.02.2004, 08:25
Wohnort: Bayern

Beitrag von lala » 09.05.2007, 08:31

Hallo godzilla,

jetzt gibts Du mir schon in zwei Themen Nachhilfe :lol: Super, vielen Dank! Und wo muss ich das jetzt einfügen? Kann man das "go away, you damn fucking Spammer!" drinlassen oder sieht das jemand?

lala
Suche noch Linkpartner zu den Bereichen Schmuck, Mode u.Ä. Bei Interesse bitte einfach per PN melden.

Kostenloser Webkatalog
https://www.verzeichnis-eintrag.de
Seiten zum Thema Luxus kostenlos eintragen auf https://www.luxus-exklusiv.de Bitte nur themenbezogene Seiten!

godzilla
PostRank 4
PostRank 4
Beiträge: 104
Registriert: 28.05.2005, 21:29
Wohnort: Pilsting

Beitrag von godzilla » 09.05.2007, 08:40

Siehe anderer Thread. Wenn du sowieso die Skripte deines Hoster nutzt brauchst du dir darum eigentlich keine Sorgen zu machen.

Flox
PostRank 2
PostRank 2
Beiträge: 64
Registriert: 09.05.2007, 11:12

Beitrag von Flox » 09.05.2007, 20:03

Hallo lala,

hier gibt es auch noch ein paar Informationen zum sicheren Mailversand über PHP:
Sicheres Kontakformular in PHP

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag