Eigene Formulare werden nicht abgeschickt

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
tonsatz
Mitglied
Beiträge: 18
Registriert: 21.03.2004 16:02
Kontaktdaten:

Eigene Formulare werden nicht abgeschickt

Beitrag 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); 
?>
Benutzeravatar
[Cole]
Mitglied
Beiträge: 39
Registriert: 09.09.2004 15:27
Kontaktdaten:

Beitrag 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.
Benutzeravatar
tonsatz
Mitglied
Beiträge: 18
Registriert: 21.03.2004 16:02
Kontaktdaten:

Beitrag 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:

Code: Alles auswählen

<form method="post" action="/forum/tell.php">
Bis bald
Markus
Benutzeravatar
[Cole]
Mitglied
Beiträge: 39
Registriert: 09.09.2004 15:27
Kontaktdaten:

Beitrag von [Cole] »

In deinem ersten Post steht

Code: Alles auswählen

$phpbb_root_path = './';
Also müsste es doch

Code: Alles auswählen

<form method="post" action="tell.php">
heissen, also ohne den Pfad vor "tell.php".
Benutzeravatar
tonsatz
Mitglied
Beiträge: 18
Registriert: 21.03.2004 16:02
Kontaktdaten:

Beitrag von tonsatz »

Hallo,
[Cole] hat geschrieben:Also müsste es doch

Code: Alles auswählen

<form method="post" action="tell.php">
heissen, also ohne den Pfad vor "tell.php".
Das habe ich auch probiert. Funktioniert auch nicht, ebensowenig wie

Code: Alles auswählen

action=""
Markus
Benutzeravatar
[Cole]
Mitglied
Beiträge: 39
Registriert: 09.09.2004 15:27
Kontaktdaten:

Beitrag 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.
Benutzeravatar
tonsatz
Mitglied
Beiträge: 18
Registriert: 21.03.2004 16:02
Kontaktdaten:

Beitrag 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>&nbsp;</td><td><input type="submit" value="Absenden" name="Submit" class="button"></td>
</tr>
</table>
</form>
Benutzeravatar
[Cole]
Mitglied
Beiträge: 39
Registriert: 09.09.2004 15:27
Kontaktdaten:

Beitrag 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>&nbsp;</td><td><input type="submit" value="Absenden" name="Submit" class="button"></td>
</tr>
</form>
</table>
<?
}
?>

Benutzeravatar
tonsatz
Mitglied
Beiträge: 18
Registriert: 21.03.2004 16:02
Kontaktdaten:

Beitrag 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
Benutzeravatar
[Cole]
Mitglied
Beiträge: 39
Registriert: 09.09.2004 15:27
Kontaktdaten:

Beitrag von [Cole] »

Füge mal vor

Code: Alles auswählen

if ($sent & $abs_name & $email1) {
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.
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“