Seite 1 von 2
Eigene Formulare werden nicht abgeschickt
Verfasst: 22.04.2005 13:38
von tonsatz
Hallo zusammen,
wenn ich meine selbstprogrammierten Formulare in das Forum einbinde, werden diese nicht abgeschickt, wenn ich das Design lade.
OHNE Design funktioniert alles tadellos.
Was muss ich beachten, damit die Formulare auch mit dem Forum funktionieren?
Danke
Markus
P.S.: So integriere ich das Design
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
?>
HTML hier einfügen
<?
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Verfasst: 22.04.2005 13:50
von [Cole]
Wie sehen deine Formulare denn aus?
Ich hab das mit dem Design genauso gemacht und hatte auch schon
etliche Formulare drin um verschiedene Daten zu speichern und das
hat problemlos funktioniert.
Verfasst: 22.04.2005 14:52
von tonsatz
Hallo,
danke für deine Antwort.
Die Formulare funktionieren so, dass alles in
einer Datei ist.
Wenn das Formular noch nicht abgeschickt ist, dann werden die Formularfelder angezeigt (else), ist das Formular abgeschickt und vollständig ausgefüllt, kommt der Danke-Hinweis.
Code: Alles auswählen
<?php
if ($sent & $abs_name & $email) {
HIER SUBJEKT, HEADER...
mail($to, $subject, $nachricht, $header);
echo "<b>Herzlichen Dank für die Email</b>";
} else {
HIER DAS FORMULAR
?>
Ist folgender Code vielleicht ungeeignet für das Forum:
Bis bald
Markus
Verfasst: 22.04.2005 15:12
von [Cole]
In deinem ersten Post steht
Also müsste es doch
heissen, also ohne den Pfad vor "tell.php".
Verfasst: 22.04.2005 15:51
von tonsatz
Hallo,
[Cole] hat geschrieben:Also müsste es doch
heissen, also ohne den Pfad vor "tell.php".
Das habe ich auch probiert. Funktioniert auch nicht, ebensowenig wie
Markus
Verfasst: 22.04.2005 16:06
von [Cole]
Poste doch mal den kompletten Code der Datei, ist dann vielleicht einfacher
den Fehler zu finden als wenn man nur Bruchstücke sieht.
Verfasst: 22.04.2005 18:09
von tonsatz
Hier der Code:
Code: Alles auswählen
<?php
if ($sent & $abs_name & $email1) {
$subject = "XY";
$to = "$email1, $email2, $email3, $email4, $email5\n";
$header = "From: $abs_name<$abs_email>\n";
$header .= "Reply-To:$abs_email\n";
mail($to, $subject, $nachricht, $header);
echo "<b>Herzlichen Dank für die Empfehlung!</b>";
} else {
?>
<form method="post" action="tell.php">
<input type=hidden name=sent value=1>
<table>
<tr>
<td>URL:</td>
<td><?php echo $url; ?></td>
</tr><tr>
<td>Dein Name:</td>
<td>
<? if ($sent & !$abs_name) {
echo "<input type=text name=\"abs_name\" size=\"50\" value=\"$abs_name\" class=\"textBox\" style=\"border:#990000 3px solid;\">";} else {
echo "<input type=text name=\"abs_name\" size=\"50\" value=\"$abs_name\" class=\"textBox\">";
} ?>*</td>
</tr><tr>
<td>Deine eMail:</td>
<td><input type=text name="abs_email" size="50" value="<?php echo $abs_email; ?>" class="textBox"></td>
</tr><tr>
<td>Empfänger-Email Nr. 1:</td>
<td>
<? if ($sent & !$email1) {
echo "<input type=text name=\"email1\" size=\"50\" value=\"$email1\" class=\"textBox\" style=\"border:#990000 3px solid;\">";} else {
echo "<input type=text name=\"email1\" size=\"50\" value=\"$email1\" class=\"textBox\">";
} ?>*</td>
</tr><tr>
<td>Empfänger-Email Nr. 2:</td>
<td><input type=text name="email2" size="50" value="<? echo $email2; ?>" class="textBox"></td>
</tr><tr>
<td>Empfänger-Email Nr. 3:</td>
<td><input type=text name="email3" size="50" value="<? echo $email3; ?>" class="textBox"></td>
</tr><tr>
<td>Empfänger-Email Nr. 4:</td>
<td><input type=text name="email4" size="50" value="<? echo $email4; ?>" class="textBox"></td>
</tr><tr>
<td>Empfänger-Email Nr. 5:</td>
<td><input type=text name="email5" size="50" value="<? echo $email5; ?>" class="textBox"></td>
</tr><tr>
<td>Ihre Nachricht:</td><td><textarea name="nachricht" rows="10" cols="50">HIERHIN DER TEXT</textarea></td>
</tr><tr>
<td> </td><td><input type="submit" value="Absenden" name="Submit" class="button"></td>
</tr>
</table>
</form>
Verfasst: 22.04.2005 18:45
von [Cole]
Was mir so auf den ersten Blick auffällt, du hast an mehreren Stellen die
Attribute nicht in "" gesetzt.
Und versuch mal die form Tags komplett innerhalb der Tabelle zu halten,
ich weiss zwar nicht warum das manchmal Probleme verursacht, aber
bei nem Bekannten von mir war's mal so wenn ich mich recht entsinne.
Zudem hast du die "else-Anweisung" nicht geschlossen.
Versuchs mal so:
Code: Alles auswählen
<?php
if ($sent & $abs_name & $email1) {
$subject = "XY";
$to = "$email1, $email2, $email3, $email4, $email5\n";
$header = "From: $abs_name<$abs_email>\n";
$header .= "Reply-To:$abs_email\n";
mail($to, $subject, $nachricht, $header);
echo "<b>Herzlichen Dank für die Empfehlung!</b>";
} else {
?>
<table>
<form method="post" action="tell.php">
<input type="hidden" name="sent" value="1">
<tr>
<td>URL:</td>
<td><?php echo $url; ?></td>
</tr><tr>
<td>Dein Name:</td>
<td>
<? if ($sent & !$abs_name) {
echo "<input type=\"text\" name=\"abs_name\" size=\"50\" value=\"$abs_name\" class=\"textBox\" style=\"border:#990000 3px solid;\">";} else {
echo "<input type=\"text\" name=\"abs_name\" size=\"50\" value=\"$abs_name\" class=\"textBox\">";
} ?>*</td>
</tr><tr>
<td>Deine eMail:</td>
<td><input type="text" name="abs_email" size="50" value="<?php echo $abs_email; ?>" class="textBox"></td>
</tr><tr>
<td>Empfänger-Email Nr. 1:</td>
<td>
<? if ($sent & !$email1) {
echo "<input type=\"text\" name=\"email1\" size=\"50\" value=\"$email1\" class=\"textBox\" style=\"border:#990000 3px solid;\">";} else {
echo "<input type=\"text\" name=\"email1\" size=\"50\" value=\"$email1\" class=\"textBox\">";
} ?>*</td>
</tr><tr>
<td>Empfänger-Email Nr. 2:</td>
<td><input type="text" name="email2" size="50" value="<? echo $email2; ?>" class="textBox"></td>
</tr><tr>
<td>Empfänger-Email Nr. 3:</td>
<td><input type="text" name="email3" size="50" value="<? echo $email3; ?>" class="textBox"></td>
</tr><tr>
<td>Empfänger-Email Nr. 4:</td>
<td><input type="text" name="email4" size="50" value="<? echo $email4; ?>" class="textBox"></td>
</tr><tr>
<td>Empfänger-Email Nr. 5:</td>
<td><input type="text" name="email5" size="50" value="<? echo $email5; ?>" class="textBox"></td>
</tr><tr>
<td>Ihre Nachricht:</td><td><textarea name="nachricht" rows="10" cols="50">HIERHIN DER TEXT</textarea></td>
</tr><tr>
<td> </td><td><input type="submit" value="Absenden" name="Submit" class="button"></td>
</tr>
</form>
</table>
<?
}
?>
Verfasst: 22.04.2005 20:23
von tonsatz
Hi Cole,
die } der Else-Anweisung hatte ich nur beim kopieren vergessen. Sorry.
Ich habe deine Version jetzt kopiert.
Mit Design klappt's nicht
BEISPIEL
Der selbe Code ohne Design funktioniert.
BEISPIEL
Markus
Verfasst: 22.04.2005 21:19
von [Cole]
Füge mal vor
folgendes ein:
Code: Alles auswählen
$sent = $_POST['sent'];
$email1 = $_POST['email1'];
$abs_name = $_POST['abs_name'];
Sollte normal nicht nötig sein, aber vielleicht wird eine der Variablen
irgendwo in einer der von phpBB includeten Dateien verwendet.