CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos

|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP 
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |

06.10.2009, 15:53:28
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 35
Beiträge: 5
|
|
Brauche Hilfe bei Online-Formular
Hallo,
ich möchte ein Online-Formular erstellen, mit dem einfache Kontaktdaten etc. in vorgegebenen Eingabefeldern übertragen werden können.
Ich habe bereits eine Vorlage gefunden, die ich verwenden darf. Soweit funktioniert auch alles, d.h. ich erhalte auch eine eMail, wenn ich das Formular teste.
Allerdings habe ich nun versucht, ein neues Eingabefeld hinzuzufügen, und damit habe ich Probleme. Das Feld selbst konnte ich erstellen, allerdings habe ich in der eMail keinen Inhalt für das Feld.
Ich stelle mal den Code rein, in der Hoffnung, dass mir jemand helfen kann.
Wenn mich nicht alles täuscht, müsste der Fehler irgendwo in diesem Stück liegen:
PHP-Code:
<?php
$mailto = "info@irgendwer.de";
$send_msg = "";
$name_err = "";
$email_err = "";
$msg_err = "";
$betreff_err = "";
$wort_err = "";
if (!empty($_POST['send'])) {
$error = 0;
if (empty($_POST['from_name'])) {
$name_err = "Geben Sie bitte Ihren Namen ein.";
$error = 1;
} else {
$from_name = filter($_POST['from_name']);
}
if (empty($_POST['from_email']) || !preg_match("/^[A-z0-9][\w.-]*@[A-z0-9][\w\-\.]+\.[A-z0-9]{2,6}$/", $_POST['from_email'])) {
$email_err = "Geben Sie bitte Ihre E-Mail-Adresse ein!";
$error = 1;
} else {
$from_email = $_POST['from_email'];
}
if (empty($_POST['from_betreff'])) {
$betreff_err = "Geben Sie bitte den Betreff ein!";
$error = 1;
} else {
$from_betreff = filter($_POST['from_betreff']);
}
if (empty($_POST['from_msg'])) {
$msg_err = "Geben Sie bitte die Nachricht ein!";
$error = 1;
} else {
$from_msg = preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "", $_POST['from_msg']);
}
if (!$error) {
if (@mail($mailto, "Kontaktanfrage",
"Betreff: $from_betreff\n\nNachricht:\n$from_msg\n\neMail:\n$from_email\n\nWort:\n$from_wort\n\nnocheinWort",
"From: $from_name <$from_email>")) {
$send_msg = "Ihre Nachricht wurde erfolgreich gesendet.<br><br>";
unset($_POST['from_name']);
unset($_POST['from_email']);
unset($_POST['from_betreff']);
unset($_POST['from_msg']);
unset($_POST['from_wort']);
} else {
$send_msg = "Fehler!";
}
}
}
function filter($input) {
$result = preg_replace("/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $input);
return preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "", $result);
}
?>
Konkret geht es um das Feld 'from_wort', das in der eMail, die ich erhalte, nicht erscheint.
Falls hier kein Fehler zu finden ist, kann ich auch noch den ganzen Code einmal posten.
Für Hilfe oder Ratschläge wäre ich äußerst dankbar =)
Danke,
Schulze
|

06.10.2009, 15:58:03
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Brauche Hilfe bei Online-Formular
zeig doch mal deinen lösungsansatz. also den php-Teil, nicht das html-Formular.
cx
|

06.10.2009, 16:02:30
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 35
Beiträge: 5
|
|
AW: Brauche Hilfe bei Online-Formular
Das, was da oben steht ist der erste Teil der php-Datei, die das Formular trägt. Ich bin mir nicht ganz sicher, was du mit dem php-Teil meinst...
Ich stelle mal den ganzen php-Code rein, das ist alles was ich habe:
PHP-Code:
<?php
$mailto = "info@schulze-mediaservice.de";
$send_msg = "";
$name_err = "";
$email_err = "";
$msg_err = "";
$betreff_err = "";
$wort_err = "";
if (!empty($_POST['send'])) {
$error = 0;
if (empty($_POST['from_name'])) {
$name_err = "Geben Sie bitte Ihren Namen ein.";
$error = 1;
} else {
$from_name = filter($_POST['from_name']);
}
if (empty($_POST['from_email']) || !preg_match("/^[A-z0-9][\w.-]*@[A-z0-9][\w\-\.]+\.[A-z0-9]{2,6}$/", $_POST['from_email'])) {
$email_err = "Geben Sie bitte Ihre E-Mail-Adresse ein!";
$error = 1;
} else {
$from_email = $_POST['from_email'];
}
if (empty($_POST['from_betreff'])) {
$betreff_err = "Geben Sie bitte den Betreff ein!";
$error = 1;
} else {
$from_betreff = filter($_POST['from_betreff']);
}
if (empty($_POST['from_msg'])) {
$msg_err = "Geben Sie bitte die Nachricht ein!";
$error = 1;
} else {
$from_msg = preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "", $_POST['from_msg']);
}
if (!$error) {
if (@mail($mailto, "Kontaktanfrage",
"Betreff: $from_betreff\n\nNachricht:\n$from_msg\n\neMail:\n$from_email\n\nWort:\n$from_wort\n\nnocheinWort",
"From: $from_name <$from_email>")) {
$send_msg = "Ihre Nachricht wurde erfolgreich gesendet.<br><br>";
unset($_POST['from_name']);
unset($_POST['from_email']);
unset($_POST['from_betreff']);
unset($_POST['from_msg']);
unset($_POST['from_wort']);
} else {
$send_msg = "Fehler!";
}
}
}
function filter($input) {
$result = preg_replace("/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $input);
return preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "", $result);
}
?>
<?=$send_msg?>
<link href="formularschrift.css" rel="stylesheet" type="text/css">
<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 class="formularschrift"><b><font face="Verdana, Arial, Helvetica, sans-serif">Name</font>:</b></td>
<td><input name="from_name" type="text" id="from_name" value="<? if (!empty($_POST['from_name'])) echo $_POST['from_name']; ?>">
<font color='red' size=-1><?=$name_err?></font></td>
</tr>
<tr>
<td align=right class="formularschrift"><strong><font face="Verdana, Arial, Helvetica, sans-serif">E-Mail:</font></strong></td>
<td><input name="from_email" type="text" id="from_email" value="<? if (!empty($_POST['from_email'])) echo $_POST['from_email']; ?>">
<font color='red' size=-1><?=$email_err?></font></td>
</tr>
<tr>
<td align=right class="formularschrift"><b>Betreff:</b><br>
<br></td>
<td><input name="from_betreff" type="text" id="from_betreff" value="<? if (!empty($_POST['from_betreff'])) echo $_POST['from_betreff']; ?>">
<font color='red' size=-1><?=$betreff_err?>
<br>
<br>
</font></td>
</tr>
<tr>
<td align="right" class="formularschrift"><b>Wort:</b><br />
<br /></td>
<td><input name="from_wort" type="text" id="from_wort" value="<? if (!empty($_POST['from_wort'])) echo $_POST['from_wort']; ?>">
<font color='red' size="-1"><?=$wort_err?>
<br />
<br />
</font></td>
</tr>
<tr>
<td align=right class="formularschrift"> </td>
<td> </td>
</tr>
<tr>
<td align=right valign=top class="formularschrift">Nachricht:</td>
<td><textarea name="from_msg" cols=40 rows=6><? if (!empty($_POST['from_msg'])) echo $_POST['from_msg']; ?></textarea>
<br><font color='red' size=-1><?=$msg_err?></font></td>
</tr>
<tr>
<td></td>
<td><input type=submit value="Senden"></td>
</tr>
</table>
</form>
Ich hoffe, das hilft weiter =)
|

06.10.2009, 16:05:14
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Brauche Hilfe bei Online-Formular
veralbern kann ich mich selber... ich sprach von deinem lösungsansatz. statt dessen postest du den ganzen käse nochmal.
cx
|

06.10.2009, 16:08:23
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 35
Beiträge: 5
|
|
AW: Brauche Hilfe bei Online-Formular
Tut mir leid, das habe ich dann falsch verstanden... aber genau da ist ja mein Problem: ich habe keinen Lösungsansatz... Ich habe bisher noch keine Erfahrung mit php.
Ich wäre für jeden Tipp oder Ratschlag dankbar.
|

06.10.2009, 16:14:37
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Brauche Hilfe bei Online-Formular
Zitat:
Zitat von Schulze
Ich wäre für jeden Tipp oder Ratschlag dankbar.
|
das glaub ich dir, doch leider funktioniert ein selbsthilfeforum so nicht - sorry. ich sehe 3 möglichkeiten:
a) es findet sich jemand, der die arbeit für dich erledigt
b) du beginnst php zu lernen und lässt dir weiterhelfen, wenn es tatsächlich notwendig ist
c) du suchst dir für den job einen dienstleister
viel erfolg,
cx
|

06.10.2009, 16:23:57
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 35
Beiträge: 5
|
|
AW: Brauche Hilfe bei Online-Formular
Schade... ich dachte, es wäre nur ein kleines Problem, bei dem mir hier geholfen werden könnte... denn das ganze funktioniert ja schon. Ich habe nur eben an einer Stelle ein kleines Problem.
|

06.10.2009, 17:11:21
|
Anfänger
|
|
Registriert seit: Feb 2007
Alter: 47
Beiträge: 69
|
|
AW: Brauche Hilfe bei Online-Formular
Ich gehe mal davon aus, das das Feld "from_wort" das Feld ist was du selbst hinzugefügt hast.
Wenn dem so ist und du dieses Feld in der Mail die du bekommst nicht mit enthalten ist, ist das auch kein Wunder...
PHP-Code:
if (@mail($mailto, "Kontaktanfrage",
"Betreff: $from_betreff\n\nNachricht:\n$from_msg\n\neMail:\n$from_email\n\nWort:\n$from_wort\n\nnocheinWort",
"From: $from_name <$from_email>")) {
Hier willst du per Variable "$from_wort" den Wert des Feldes in der eMail mitschicken, jedoch sehe ich im oberen Abschnitt des Codes nicht, dass diese Variable auch belegt wird!
Wink mit Zaunpfahl:
PHP-Code:
$from_wort = $_POST['from_wort']
|

06.10.2009, 18:16:13
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 35
Beiträge: 5
|
|
AW: Brauche Hilfe bei Online-Formular
Super! Das hat geholfen, jetzt funktioniert alles... habe also tatsächlich nur vergessen, die Variable zu belegen =)
Vielen Dank!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 06:59:23 Uhr.
|