Hi Leute, ich hab da ein kleines PHP Problem
Ich habe mir aus dem Skrip hier: http://aktuell.de.selfhtml.org/tippstricks/php/form-mail/
einen kleinen Formularmailer gebastelt.
Das funktioniert sogar. Jetzt hab ich das noch etwas erweitert, so dass ich es als phpnuke modul brauche kann. Und schon funktionierts nicht mehr.
Es kommen noch Mails an, aber der Inhalt fehlt.
Die Funktionierende Stand alone Version
PHP
- <?php
- ### Konfiguration ###
- # Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!
- # An welche Adresse sollen die Mails gesendet werden?
- $strEmpfaenger = 'info@fdfdfd.ch';
- # Welche Adresse soll als Absender angegeben werden?
- # (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
- $strFrom = '"gugus" <noreply@fdfdfd.ch>';
- # Welchen Betreff sollen die Mails erhalten?
- $strSubject = 'Broschüren Bestellung';
- # Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
- # Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
- $strReturnhtml = 'modules.php?name=Content&pa=showpage&pid=3';
- # Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
- $strDelimiter = ": ";
- /**********************************/
- /* Configuration */
- /* */
- /* You can change this: */
- /* $index = 0; (right side off) */
- /**********************************/
- $index = 1;
- /**********************************/
- ### Ende Konfiguration ###
- //require_once("mainfile.php");
- $module_name = basename(dirname(__FILE__));
- //get_lang($module_name);
- //include("header.php");
- if($_POST)
- {
- $strMailtext = "";
- //echo ("Post received "), $_POST; //debug
- while(list($strName,$value) = each($_POST))
- {
- if(is_array($value))
- {
- foreach($value as $value_array)
- {
- $strMailtext .= $strName.$strDelimiter.$value_array."\n";
- }
- }
- else
- {
- $strMailtext .= $strName.$strDelimiter.$value."\n";
- }
- }
- if(get_magic_quotes_gpc())
- {
- $strMailtext = stripslashes($strMailtext);
- }
- mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
- or die("Die Mail konnte nicht versendet werden.");
- //header("Location: $strReturnhtml"); //debug
- echo ("Mail versandt");
- exit;
- }
- //OpenTable();
- ?>
- <html>
- <body>
- <p> </p>
- <h1>Bestellformular</h1>
- <FORM ACTION="<?php print $_SERVER['PHP_SELF']; ?>" METHOD="post">
- <p>
- <strong>Ich bestelle folgende Artikel: </strong></p>
- <p>Broschüre 1, Anzahl :
- <input name="Anzahl Broschüre 1" type="text" id="Anzahl Broschüre 1" size="8" maxlength="3" />
- </p>
- <p>Broschüre 2, Anzahl :
- <input name="Anzahl Broschüre 2" type="text" id="Anzahl Broschüre 2" size="8" maxlength="3" />
- </p>
- <p>Broschüre 3, Anzahl :
- <input name="Anzahl Broschüre 3" type="text" id="Anzahl Broschüre 3" size="8" maxlength="3" />
- </p>
- <p><br />
- <strong>Meine Anschrift: </strong></p>
- <p>Vorname / Name:<br />
- <label>
- <input name="Name" type="text" id="Name" size="50" maxlength="100" />
- </label>
- </p>
- <p>
- Strasse / Nr:<br />
- <label>
- <input name="Adresse" type="text" id="Adresse" size="50" maxlength="100" />
- </label>
- </p>
- <p>
- PLZ / Ort:<br />
- <label></label>
- <label>
- <input name="Ort" type="text" id="Ort" size="50" maxlength="100" />
- </label>
- </p>
- <p>Email Adresse:<br />
- <label>
- <input name="Email-Adresse" type="text" id="Email-Adresse" size="50" maxlength="100" />
- </label>
- </p>
- <p>Bemerkung:<br />
- <label>
- <textarea name="Bemerkung" cols="50" rows="4" id="Bemerkung"></textarea>
- </label>
- </p>
- <p>
- <input type="submit" value="Senden" />
- <input type="reset" value="Zurücksetzen" />
- </p>
- </form>
- </body>
- </html>
- <?php
- //CloseTable();
- //include("footer.php");
- ?>
Für die Modulversion sind nur ein paar Details ander, aber an denen liegts.
Irgendwas mit dem Post scheint nicht zu funktionieren, es werden wohl die Werte aus dem Formular nicht übergeben.
PHP
- <?php
- ### Konfiguration ###
- # Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!
- # An welche Adresse sollen die Mails gesendet werden?
- $strEmpfaenger = 'info@obstsalat.ch';
- # Welche Adresse soll als Absender angegeben werden?
- # (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
- $strFrom = '"huhu" <noreply@gurkensalat.ch>';
- # Welchen Betreff sollen die Mails erhalten?
- $strSubject = 'Broschüren Bestellung';
- # Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
- # Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
- $strReturnhtml = 'modules.php?name=Content&pa=showpage&pid=3';
- # Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
- $strDelimiter = ": ";
- /**********************************/
- /* Configuration */
- /* */
- /* You can change this: */
- /* $index = 0; (right side off) */
- /**********************************/
- $index = 1;
- /**********************************/
- ### Ende Konfiguration ###
- require_once("mainfile.php");
- $module_name = basename(dirname(__FILE__));
- get_lang($module_name);
- include("header.php");
- if($_POST)
- {
- $strMailtext = "";
- //echo ("Post received "), $_POST; //debug
- while(list($strName,$value) = each($_POST))
- {
- if(is_array($value))
- {
- foreach($value as $value_array)
- {
- $strMailtext .= $strName.$strDelimiter.$value_array."\n";
- }
- }
- else
- {
- $strMailtext .= $strName.$strDelimiter.$value."\n";
- }
- }
- if(get_magic_quotes_gpc())
- {
- $strMailtext = stripslashes($strMailtext);
- }
- mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
- or die("Die Mail konnte nicht versendet werden.");
- //header("Location: $strReturnhtml"); //debug
- OpenTable();
- echo "
- <html>
- <head>
- <meta http-equiv=\"refresh\" content=\"3; url=modules.php?name=Content&pa=showpage&pid=3\">
- </head>
- <body>
- <p> </p>
- <p>Ihre Bestellung wurde registriert, vielen Dank.<br />
- <a href=\"modules.php?name=Content&pa=showpage&pid=3\">-> zurück zur Homepage </a><br>
- </p>
- <p> </p>
- </body>
- </html>";
- CloseTable();
- exit;
- }
- OpenTable();
- ?>
- <html>
- <body>
- <p> </p>
- <h1>Bestellformular</h1>
- <FORM METHOD="post" ACTION="modules.php?name=<?php echo $module_name; ?>">
- <p>
- <strong>Ich bestelle folgende Artikel: </strong></p>
- <p>Broschüre 1, Anzahl :
- <input name="Anzahl Broschüre 1" type="text" id="Anzahl Broschüre 1" size="8" maxlength="3" />
- </p>
- <p>Broschüre 2, Anzahl :
- <input name="Anzahl Broschüre 2" type="text" id="Anzahl Broschüre 2" size="8" maxlength="3" />
- </p>
- <p>Broschüre 3, Anzahl :
- <input name="Anzahl Broschüre 3" type="text" id="Anzahl Broschüre 3" size="8" maxlength="3" />
- </p>
- <p><br />
- <strong>Meine Anschrift: </strong></p>
- <p>Vorname / Name:<br />
- <label>
- <input name="Name" type="text" id="Name" size="50" maxlength="100" />
- </label>
- </p>
- <p>
- Strasse / Nr:<br />
- <label>
- <input name="Adresse" type="text" id="Adresse" size="50" maxlength="100" />
- </label>
- </p>
- <p>
- PLZ / Ort:<br />
- <label></label>
- <label>
- <input name="Ort" type="text" id="Ort" size="50" maxlength="100" />
- </label>
- </p>
- <p>Email Adresse:<br />
- <label>
- <input name="Email-Adresse" type="text" id="Email-Adresse" size="50" maxlength="100" />
- </label>
- </p>
- <p>Bemerkung:<br />
- <label>
- <textarea name="Bemerkung" cols="50" rows="4" id="Bemerkung"></textarea>
- </label>
- </p>
- <p>
- <input type="submit" value="Senden" />
- <input type="reset" value="Zurücksetzen" />
- </p>
- </form>
- </body>
- </html>
- <?php
- CloseTable();
- include("footer.php");
- ?>
Please help me out.