PHP Mail funktnioniert nicht
-
Hey Leute,
ich habe ein PHP Skript geschrieben, welches Daten aus einem Htmlformular an eine Emailadresse senden soll dabei treten verschiedene Fehler auf, die mir vom Browser gemeldet werden, mein hoster ist funpic. Vlt könnt iht mir sagen wo der fehler in meinem Skript ist:<?php $street = $_POST("strasse"); $number = $_POST("nummer"); $plz = $_POST("postleitzahl"); $city = $_POST("stadt"); $place = $_POST("platz"); $descripton = $_POST("beschreibung"); $text = $street; $text .= $number; mail('emai@adres.se','betreff',$text); ?>
und das formular:
v<html> <head> <style type="text/css">@import url(Standartstyle.css);</style> </head> <body> <h1>Hinzufügen</h1> Einfach das Formular ausfüllen und auf Absenden drücken. <form action="datei.php" method="post" enctype="text/plain"> <pre> Straße:<input type="text" name="strasse" id="street" size="25" maxlength="50" tabindex="1"> HausNr:<input type="text" name="nummer" id="number" size="3" maxlength="5" tabindex="2"><br> PLZ: <input type="text" name="postleitzahl" id="plz" size="5" maxlength="5" tabindex="3"> Stadt: <input type="text" name="stadt" id="city" size="20" maxlength="30" tabindex="4"><br> <fieldset> <input type="radio" name="platz" value="public" checked tabindex="5">Öffentlich<br> <input type="radio" name="platz" value="private" tabindex="6">Privat </fieldset><br> Beschreibung/Name: <textarea name="beschreibung" rows="6" cols="25" tabindex="7"></textarea><br> <input type="submit" name="senden" value="Absenden" tabindex="9"> <input type="reset" name="loeschen" value="Zurücksetzen" tabindex="10"> </form> </body> </html>
vielen Dank schonmal
Ps: wenn nicht zu aufwendig wäre eine kurze erklärunng nett
-
In PHP werden, wie in allen mir bekannten Sprachen, fuer Indizierungen in Arrays eckige Klammern verwendet. Das wird das Hauptproblem sein.
-
Hey danke schonmal, allerdings benutzt mein Skript gar keine Arrays...
-
Dann ist $_POST(...) eine Funktion?
-
Ja, die soll sicherstellen, dass die Werte aus dem Formular per post uebertragen werden.
BTW wie werden den normalerweise variablen werten aus einem Formular zu gewiesen und ist es richtig hochkommata anstelle von Anführungszeichen zur kenntlichmachung von String zubenutzen?
MfG
-
http://php.net/manual/de/reserved.variables.post.php schrieb:
$_POST
BeschreibungEin assoziatives Array von Variablen, die dem aktuellen Skript mittels der HTTP POST-Methode übergeben werden.
-
Hallo,
ich häng mal noch an, dass funpic - afaik - den Versand von Mails versagt. Wenn nicht offensichtlich, dann wenigstens in den AGB...
VlG
-
PrivatArms schrieb:
Ja, die soll sicherstellen, dass die Werte aus dem Formular per post uebertragen werden.
MfGWo hast du denn das mit den runden Klammern her?
-
hmmz schrieb:
Hallo,
ich häng mal noch an, dass funpic - afaik - den Versand von Mails versagt. Wenn nicht offensichtlich, dann wenigstens in den AGB...
VlG
Steht so keines Wegs in den AGB. Darin steht nur, dass es untersagt ist über diverse Scripte Emails von einem Mailhoster abzurufen, keine Rede aber davon Mails zu versenden (bzw. einmal doch: es dürfen keine Werbemails versandt werden).
-
Hallo,
ich habe dunkel in Erinnerung dass der Mail-Versand bei funpic nicht funktioniert hat! Allerdings ist das gute 5 Jahre her und seitdem kann sich Einiges geändert haben. Funpic hatte Anfangs strenge Regeln. Als - damals - so ziemlich einziger Anbieter von kostenlosem PHP-Webspace (inkl. FTP und DB) hatten sie selbstverständlich ein großes Interesse daran, dass ihr Angebot nicht missbraucht wird.
VlG
-
PrivateArms schrieb:
ich habe ein PHP Skript geschrieben, ... dabei treten verschiedene Fehler auf, die mir vom Browser gemeldet werden,
Protip: Fehlermeldung lesen!?
-
Hey guys,
der fehler lag doch nur darin, dass ich keine eckigen Klammern benutzt habe *schäm* habe mich wohl im tutorial verlesen
Vielen Dank für die antworten (bis auf protip solche antworten helfen niemanden :))mfg
-
EDIT:
Mein Skript sieht jetzt so aus<?php $name = $_POST[strasse]; echo 'Hallo', $name; mail("mail@adress.de","betreff",$name); ?>
ich bekomme auch keine fehlermeldung mehr, allerdings ist $name nach dem absenden immer noch leer...
woran liegt dass?BTW: Mailversand von funpicservern funktioniert (falls es wenn intressiert)
-
Das dürfte daran liegen, dass es keine Konstante mit Namen
strasse
gibt. Lies dir ganz dringend grundlegendes Wissen in Bezug auf Arrays an! ... und gleich danach nochmal was zum Thema Injections, wenn du wirklich ernsthaft vorhast, obigen Code in einer produktiven Umgebung zu verwenden
-
árn[y]ék schrieb:
Das dürfte daran liegen, dass es keine Konstante mit Namen
strasse
gibt.)setze es in " x " oder ' x '
-
Sry wegen dieser Frage,
ich habe aus folgendenm Tutorialhttp://www.schattenbaum.net/php/variable2.php dass man eine Variable aus einem HTML-Formular an ein php skript übergibt, indem man schreibt §Variable = $_POST["NameDesFeldes"];, und ein Feld namens "strasse" habe ich definitiv...(es funktioniert auch nicht, wenn ich den namen des feldes in anführungzeichen setzte)
naja ansonsten bin ich auch bereits dabei mich mit php näher zu beschäftigen, ich bräuchte halt nur schnell eine lösung für das Problem.BTW: Eigentlich kenne ich mit Arrays aus c++ aus, mir war nur nicht bewusst, dass die methode $_post immer mit einem array arbeitet :).
mfg und nochmal vielen Dank für die bisherigen Antworten
-
na dann zeig mal dein formular, sonst braucht es die altbekannte kristallkugel.
-
Formular ist auf der ersten Seite (habe es gerade nicht dabei)
-
$_POST
ist ein Array, keine Methode.
-
Aloha, ich habe den Fehler gefunden:
Selbiger lag darin, dass ich nicht beachtet habe, dass HTML nicht case-sensitive ist PHP aber schon. Daraus folgt, dass es<form action="datei.php" method="POST><form>
und nicht
<form action="datei.php" method="post"></form>
heißen muss
mfg
-
PrivateArms schrieb:
Aloha, ich habe den Fehler gefunden:
Selbiger lag darin, dass ich nicht beachtet habe, dass HTML nicht case-sensitive ist PHP aber schon. Daraus folgt, dass es<form action="datei.php" method="POST><form>
und nicht
<form action="datei.php" method="post"></form>
heißen muss
mfg
äh, sicher nicht der fehler, höchstens das form, das nicht zu war.. aber wenns nun glücklich macht