Webstatt.org - Community seit 2006 - 2012 (2024?)

Mailer

user-137
24.06.2006 11:28

Hallo,

ich habe nen Mailer Formular, und ich verschicke die E-Mail so:

$mail->AddAddress("" . $_POST['to'] . ""zwinkern;
$mail->From = $_POST['from'];
$mail->Subject = $_POST['title'];
$mail->Body = $_POST['text'];
$mail->AddAttachment("".$_POST['data']."", "".$_POST['data'].""zwinkern;


Nur leider kommt dieser fehler:

Fatal error: Call to a member function on a non-object in C:\FoxServ\www\Re-Design\admin\page\mail.php on line 6


Zeile 6 ist die erste zeile im Code oben..

Kann mir jemand helfen??


Mfg. BNS

Avatar user-300
24.06.2006 11:34

Wie wärs, wenn du die Klasse auch noch instanziieren würdest? zwinkern
$mail = new klassenname(... Parameter ...);


Und das ist ganz hässlich, erlichgesagt:
$mail->AddAttachment("".$_POST['data']."", "".$_POST['data'].""zwinkern;


Viel besser:
$mail->AddAttachment($_POST['data'], $_POST['data']);

user-137
24.06.2006 11:37

Also ich kenne mich mit Klasses nicht so aus, was muss ich hier machen?

$mail = new klassenname(... Parameter ...);

Avatar user-300
24.06.2006 11:41

Das erstellt ein Objekt deiner Klasse. Damit kannst du dann auf die Methoden (Funktionen) und Attribute (Variablen) zugreifen. Klassenname musst du natürlich durch den Namen deiner Klasse ersetzen. Versuche es einfach mal so:

$mail = new Klassenname;

Wenn das nicht geht, zeig uns deine Klasse.

Ansonsten wie immer: php.net

user-137
24.06.2006 11:43

Wie gesagt ich kenne mich mit Klassen nicht aus, und weiß net mal was das ist, und ich habe auch keine in meinem Script, ich habe das mal in einem meiner PHP Bücher gefunden.. da stand aber nichts von einer Klasse..

Avatar user-255
24.06.2006 11:47

Wenn du dich mit Klassen nicht auskennst, warum nimmst du sie dann her..?
Ist doch auch vieel schöner, die Mail eigenhändig und schön prozedual zusammenzuflicken und dann
einfach durch mail() zu jagen..

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-137
24.06.2006 11:58

Mit mail sieht das so aus:

$empfaenger = $_POST['to'];
$betreff = $_POST['title'];
$nachricht = $_POST['text'];
$header = 'From: '.$_POST['from'].'' . "\r\n" .

mail($empfaenger, $betreff, $nachricht, $header);


Aber wie verschicke ich dan den Anhang, davon stand nichts in der php doc.

Avatar user-271
24.06.2006 12:07

Original von user-255
Wenn du dich mit Klassen nicht auskennst, warum nimmst du sie dann her..?
Ist doch auch vieel schöner, die Mail eigenhändig und schön prozedual zusammenzuflicken und dann
einfach durch mail() zu jagen..

weil es mit klassen immer schöner ist zwinkern

genau so gehts...und wenn du nochnen Attachment anfügen willst zwinkern dann musste das im Header definieren *fg*

http://www.php4u.net/index.php?main=codeschnipsel&source=41

schöne funktion zwinkern

#!/bin/bash
traurig){ neutral:& };:
user-137
24.06.2006 12:52

Also das ist mein ganzer code:

<?
if ($_GET['page'] == send || $_GET['page'] == SEND) {

//
//

mail_att($_POST['to'], $_POST['from'], $_POST['title'], $_POST['text'], $_POST['Anhang']);
?>
<table align="center" width="682" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="oben_links"></td>
<td id="oben_mitte"></td>
<td id="oben_rechts"></td>
</tr>
<tr valign="top">
<td id="mitte_links"></td>
<td id="mitte_mitte"><h2 align="center">Meldung</h2><br><div align="center">Die E-Mail wurde versand!</div></td>
<td id="mitte_rechts"></td>
</tr>
<tr>
<td id="unten_links"></td>
<td id="unten_mitte"></td>
<td id="unten_rechts"></td>
</tr>
</table><?
}

else {
?>
<form name="form" method="post" action="page.php?action=mail<? echo $end; ?>&page=send">
<table align="center" width="682" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="oben_links"></td>
<td id="oben_mitte"></td>
<td id="oben_rechts"></td>
</tr>
<tr valign="top">
<td id="mitte_links"></td>
<td id="mitte_mitte"><h2 align="center">E-Mail versenden</h2><table width="100%" border="0">
<tr>
<td width="150">Empf&auml;nger:</td>
<td><input type="text" name="to" size="70"></td>
</tr>
<tr>
<td>Absender:</td>
<td><input type="text" name="from" size="70"></td>
</tr>
<tr>
<td>Betreff:</td>
<td><input type="text" name="title" size="70"></td>
</tr>
<tr>
<td><hr class="hr"></td>
<td><hr class="hr"></td>
</tr>
<tr>
<td>Text:</td>
<td><textarea name="text" cols="70" rows="10"></textarea></td>
</tr>
<tr>
<td>Anhang:</td>
<td><input type="file" name="data" size="50"></td>
</tr>
<tr>
<td></td>
<td><input name="send" type="submit" value="Senden"></td>
</tr>
</table></td>
<td id="mitte_rechts"></td>
</tr>
<tr>
<td id="unten_links"></td>
<td id="unten_mitte"></td>
<td id="unten_rechts"></td>
</tr>
</table></form>
<? } ?>


Aber leider kommt es zu nem fehler beim Absenden:


Warning: file(""zwinkern - No error in C:\FoxServ\www\Re-Design\admin\function.ini.php on line 77

Warning: Bad arguments to implode() in C:\FoxServ\www\Re-Design\admin\function.ini.php on line 77

Warning: Failed to Connect in C:\FoxServ\www\Re-Design\admin\function.ini.php on line 95

Avatar user-182
24.06.2006 13:36

sind das in zeile 2 wirklich konstanten?

Seid ihr auch schon wix'r? xD
user-137
24.06.2006 17:43

wie konstanten?

Avatar user-182
24.06.2006 23:47

datda: http://de2.php.net/manual/de/function.define.php

Seid ihr auch schon wix'r? xD
user-343
25.06.2006 06:44

Original von user-137
wie konstanten?


if ($_GET['page'] == send || $_GET['page'] == SEND) {

Du hast da KOnstanten, meinst aber sehr wahrscheinlich Strings zwinkern

if (strtolower($_GET['page']) == 'send'zwinkern {

So wolltest du es doch schreiben? *g*

user-303
25.06.2006 09:51

und ersetz
implode("", file($file))


durch
file_get_conents($file)

in der zeile
 $data = chunk_split(base64_encode(implode("", file($file))));

user-137
25.06.2006 12:54

Fatal error: Call to undefined function: file_get_conents() in C:\FoxServ\www\Re-Design\admin\function.ini.php on line 77

Avatar user-255
25.06.2006 13:04

Typo: file_get_contents

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-303
25.06.2006 13:08

sorry lächeln

user-137
25.06.2006 13:46

Es kommt weiter der Fehler:

Fatal error: Call to undefined function: file_get_contents() in C:\FoxServ\www\Re-Design\admin\function.ini.php on line 77

user-303
25.06.2006 14:56

dann hast du aber ein sehr altes php

user-137
25.06.2006 15:33

4.2.2.

user-303
25.06.2006 16:35

aua...dringend updaten!

user-137
25.06.2006 17:41

FRAGE: Wie mache ich das bei localhost ??
Das Downloaden der PHP Version, ok aber weiter??

Avatar user-255
25.06.2006 18:20

Schritt Nummero Zwei: PHP installieren 0_o
Ich frag mich echt, wofür es Dokumentationen gibt... :tired:

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-220
27.06.2006 12:39

weil es evtl. Leute gibt die es verstehen? Fettes Grinsen