Home
Download
Add-ons
Help
Forum
Organisation
Project
Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email?
May 27, 2012, 02:17:53 AM
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Search:
Advanced search
Wollen Sie dem WebsiteBaker Team beitreten?
Nähere Informationen finden Sie unter
hier
und auf unserer
neuen Webseite
.
155555
Posts in
21715
Topics by
7737
Members
Latest Member:
gx-world
WebsiteBaker Community Forum
Deutsch (German)
Hilfe/Support
(Moderator:
badknight
)
dateipfad in variable speichern
Pages: [
1
]
Go Down
Author
Topic: dateipfad in variable speichern (Read 1565 times)
JB
Offline
Posts: 15
dateipfad in variable speichern
«
on:
March 27, 2007, 05:50:05 PM »
Hallo,
ich habe mir über das Code Modul ein kleines Newsletter script eingefügt.
Dabei werden die emails der interessenten in eine txt Datei eingefügt.
In der normalen Umgebung funktioniert das script, nur nicht wenn ich es im COde modul einbringe.
Ich vermute das der pfad zur Datei nicht passt, komme aber nicht darauf wie ich das deklarieren muss.
Hintergrund:
die code-Seite(Newslettermodul) ist unter /pages/news
dort habe ich auch via ftp die mails.txt hochgeladen, und die rechte entsprechend vergeben.
im code steht dann bei mir:
Code:
$mailliste = WB_URL."/pages/news/mails.txt";
die variable $mailliste wird dann in späteren Zeilen weiterverwendet z.b.
Code:
if (!$email=="")){
$datei = fopen ($mailliste,"a");
fwrite($datei, "$email\n");
fclose($datei);
$nachrichtb="$header$nachrichtb$footer";
mail($email, $subjectb, $nachrichtb, "From: $absender <$absendermail>");
echo "Sie haben sich erfolgreich Angemeldet!<br>\nSie erhalten sofort eine Bestätigungsmail.";
leider wird die email aber nicht gespeichert
Wo hackts denn ??
gruß
JB
Logged
doc
Guest
Re: dateipfad in variable speichern
«
Reply #1 on:
March 27, 2007, 06:54:49 PM »
Hallo,
mir ist noch nicht so ganz klar was Du wie umzusetzen versuchst. Welchen Code hast Du denn nun im Codemodul stehen? Lediglich
Code:
$mailliste = WB_URL."/pages/news/mails.txt";
Hast Du geprüft, ob $mailliste was vernünftiges ausspuckt (echo $mailliste;), bzw. ob Du der Block Deines If-Statements überhaupt ausgeführt wird (innerhalb des Blocks ein echo "drin"; oder so).
Poste doch mal den kompletten Code, dann kann Dir vielleicht auch geholfen werden.
Gruss Christian
Logged
Mäusebär
Offline
Posts: 6
Re: dateipfad in variable speichern
«
Reply #2 on:
March 27, 2007, 07:39:40 PM »
Hi,
schon mal versucht "globale" Variablen mit einem
Code:
<?php $mailliste
=
WB_URL
.
"/pages/news/mails.txt"
;
?>
dirkt in das Template-File "index.php" zu intergireren?
Logged
Besucht mal die Seite und sacht dem Mäusebär Hallo =>
http://der-maeusebaer.de
JB
Offline
Posts: 15
Re: dateipfad in variable speichern
«
Reply #3 on:
March 28, 2007, 06:58:22 AM »
Hallo hier der gesamte Code:
Code:
$adminpass="DeinPassWord";
$absender="Webmaster";
$absendermail="deine.email@xyz.de";
$subjectb="Newsletter Anmeldung erfolgreich!";
$nachrichtb="Sie haben sich erfolgreich beim Newsletter angemeldet.\nDanke für Ihr Interesse.";
$subjectc="Newsletter Abmeldung erfolgreich";
$nachrichtc="Sie haben sich erfolgreich beim Newsletter abgemeldet.\nVielen Dank für Ihr Interesse";
$header="Hallo an alle!\n\n";
$footer="\n\nZum abmelden des Newsletters bitte auf unsere Webseite gehen:\nhttp://www.deineWebadresse.de";
$mailliste = WB_URL."/pages/news/mails.txt"; //Pfad zur txt.Datei für die Emails
$nladmin = $_GET[nladmin];
$anmelden = $_GET[anmelden];
$abmelden = $_GET[abmelden];
$pass = $_POST[pass];
$email = $_POST[email];
if ($nladmin) {
login($pass,$php_self,$adminpass);
}
elseif ($anmelden) {
anmeldung($email,$subjectb,$nachrichtb,$header,$footer,$absender,$absendermail);
}
elseif ($senden) {
sendung($pass,$adminpass,$subject,$inhalt,$absendermail,$absender,$header,$footer);
}
elseif ($abmelden) {
abmeldung($php_self,$erfolg,$remove_email,$header,$footer,$absender,$absendermail,$nachrichtc,$subjectc);
}
else {
echo "<br></br>";
echo "<br></br>";
echo "<br>Hier könnt Ihr Euch für den Newsletter anmelden, um neuste Informationen & Ankündigungen direkt per Email zu bekommen. Tragt einfach Eure Emailadresse ins untere Feld ein und klickt auf den Anmelde-Button !</br>";
echo "<br>Ihr bekommt dann auch gleich eine Bestätigungsemail das Ihr Euch erfolgreich angemeldet habt.</br>";
echo "<br></br>";
echo "<br></br>";
echo "<p><center><b>Für den Newsletter anmelden:</b></center></p>";
echo "<br></br>";
echo "<center><form method=post action=$php_self?anmelden=yes>Bitte hier Eure E-Mail Adresse eintragen: <input type=text name=email><input type=submit value=Anmelden></form></center>";
echo "<br></br>";
echo "<p><center>Zum Abmelden des Newsletters bitte <b><a href=$php_self?abmelden=yes>auf diesen Link hier </a></b>klicken !</center></p>";
echo "<br></br>";
echo "<center>Es öffnet sich ein neues Fenster wo ihr Eure Emailadresse eintragen müsst, mit der Ihr Euch hier beim Newsletter angemeldet habt.</center>";
echo "<br></br>";
echo "<br></br>";
echo "<br></br>";
echo "<p><font size=1><center><a href=$php_self?nladmin=yes>Admin</a></center></font>";
}
function login($pass,$php_self,$adminpass)
{
if ($pass=="") {
echo "<center><b><p>Admin-Login:</p></b><form method=post action=$php_self?nladmin=yes>Passwort: <input type=text name=pass><br><input type=submit value=Einloggen></form></center>";
}
elseif ($pass==$adminpass) {
echo "<center><b><p>Newsletter Senden:</b></p>";
echo "<form method=post action=$php_self?senden=yes><input type=hidden name=pass value=$pass>Subject: <input type=text name=subject><p>Nachricht:<br><textarea cols=40 rows=20 name=inhalt></textarea><p><input type=submit value=Abschicken></form></center>";
}
else {
echo "Password stimmt nicht!";
}
}
function anmeldung($email,$subjectb,$nachrichtb,$header,$footer,$absender,$absendermail)
{
if (!$email=="" && file_exists($mailliste)){
$datei = fopen ($mailliste,"a");
fwrite($datei, "$email\n");
fclose($datei);
$nachrichtb="$header$nachrichtb$footer";
mail($email, $subjectb, $nachrichtb, "From: $absender <$absendermail>");
echo "Sie haben sich erfolgreich Angemeldet!<br>\nSie erhalten sofort eine Bestätigungsmail.";
}
else {
echo "Sie müssen alle Felder ausfüllen, oder die Mailliste ist zur Zeit nicht verfügbar";
}
}
function sendung($pass,$adminpass,$subject,$inhalt,$absender,$absendermail,$header,$footer)
{
if (!$pass==$adminpass) {
echo "Sie haben sich nicht als Admin eingeloggt!";
}
else {
if (!$subject=="" && !$inhalt=="") {
$nachricht="$header$inhalt$footer";
$nachricht .="\n\n*****************************\nNewsletter";
$datei2 = fopen ($mailliste,"r");
while (!feof($datei2)){
$zeile2 = fgets($datei2,100);
$zeile2 = trim($zeile2);
if (!$zeile2=="") {
mail($zeile2, $subject, $nachricht, "From: $absender <$absendermail>");
}
}
fclose($datei2);
echo "Senden erfolgreich!";
}
else {
echo "Sie müssen alle Felder ausfüllen!";
}
}
}
function abmeldung($php_self,$erfolg,$remove_email,$header,$footer,$absender,$absendermail,$nachrichtc,$subjectc)
{
if ($erfolg) {
$maillist = array();
$datei3 = fopen ($mailliste,"r");
while (!feof($datei3)){
$zeile3 = fgets($datei3,100);
$zeile3 = trim($zeile3);
array_push ($maillist,$zeile3);
}
fclose($datei3);
unlink($mailliste);
if (in_array ($remove_email, $maillist)) {
$size = sizeof($maillist);
for ($i=0;$i<=$size;$i++) {
if ($remove_email==$maillist[$i]) {
unset($maillist[$i]);
}
}
$datei4 = fopen ($mailliste,"w");
while (list ($key, $val) = each ($maillist)) {
fwrite($datei4,"$val\n");
}
fclose($datei4);
echo "Sie wurden erfolgreich von der Liste entfernt! ($remove_email)";
$nachrichtc="$header$nachrichtc$footer";
mail($remove_email, $subjectc, $nachrichtc, "From: $absender <$absendermail>");
}
else {
echo "E-Mail nicht vorhanden!";
}
}
else {
echo "<center><p><b>Vom Newsletter abmelden:</b></p><form method=post action=$php_self?abmelden=yes&erfolg=yes>E-Mail Adresse: <input type=text name=remove_email><p><input type=submit value=Abmelden></p></form></center>";
}
}
@Mäusebär:
Als Globale Variable habe ich es noch nicht probiert, würde es auch ungern im Templatefile unterbringen.
@doc:
Ja die ausgabe von mailliste habe ich überprüft.
es wird der komplette pfad ausgegeben, z.b.
"
http://deineWebseite.de/wb/pages/news/mails.txt
"
und wenn ich den Pfad entsprechend eingbe, wird mir auch die liste angezeigt mit den Emails.
Logged
doc
Guest
Re: dateipfad in variable speichern
«
Reply #4 on:
March 28, 2007, 07:21:49 AM »
Danke,
und den geposteten Code schreibst Du in eine Seite vom Typ Code?
Weiss nicht genau warum, aber im Code Module gibt es Teils Probleme beim Zugriff auf globale Variablen und Variablen die per POST / GET kommen.
Ich würde an Deiner Stelle den Code in ein Modul oder Snippet packen und nochmals probieren. Dort gibt es diese Beschränkungen meines Wissens nach nicht.
Wenn Du Nachrichtentexte selber zusammenbaust, kann leicht ein fehlendes /n oder ähnliches das zustellen der Email verhindern. Du siehts zwar die Meldung abgeschickt, es kommt aber nichts bei Deinen Kunden an. Wenn Du WBv2.6.5 verwendest, wäre die WBmailer Klasse eine gute alternative. Ein Beispielcode findest Du in diesem
Thread
.
Bitte lies zu Emails und möglichen Fehlerursachen auch die
FAQ
.
Gruss Christian
«
Last Edit: March 28, 2007, 07:26:41 AM by doc
»
Logged
JB
Offline
Posts: 15
Re: dateipfad in variable speichern
«
Reply #5 on:
March 28, 2007, 08:12:55 AM »
Danke für die Info.
Das Script selber funktioniert schon seid geraumer Zeit auf meiner anderen Webseite, und die Mails kamen auch immer an.
Seid dem ich versuche das in WebsiteBaker zu integrieren gibs probleme
Ein Modul daraus zu machen hatte ich auchs chon angedacht, aber nachdem ich mir das massmail modul angeschaut habe, erscheint mir das ein wenig zu viel zu sein.
Was ein snippet ist verstehe ich im groben auch, nur wie erstellt man das ?
Was gibt es da zu beachten ?
Wenns gar nicht anders geht, werde ich das script außrhalb von WB machen müssen und dann per "Wrapper" etc. einbinden.. mal sehen ob das funzt.
Dennoch danke für eure Mühe, melde mich wenn ich selber ne Lösung weiß !
Gruß
Jb
Logged
doc
Guest
Re: dateipfad in variable speichern
«
Reply #6 on:
March 28, 2007, 08:20:22 AM »
Also ein Modul oder Snippet zu erstellen, ist eigentlich ganz einfach. Im einfachsten Fall besteht ein Code Snippet aus 2 Dateien inlcude.php und info.php. Ein gutes und vor allem einfaches Beispiel ist das Codesnippet show_menu2.
Alle Funktionen, die Du zum Beispiel au einem Template oder einer Code Seite heraus verwenden möchtest, müssen in die Datei include.php gesschrieben werden. In info.php stehen Dateiname und Pfad für das Snippet, sowie Infos zu Autor und Version.
Beide Dateien ohne Ordner zippen und über das WB Backend als Modul installieren. Nun kannst Du die Funktionen z.B. direkt im Template aufrufen, oder von einer Code Seite.
Gruss Christian
Logged
Pages: [
1
]
Go Up
Jump to:
Please select a destination:
-----------------------------
General
-----------------------------
=> General Announcements
=> Security Announcements
=> Documentation
=> WebsiteBaker Website Showcase
=> Guest Area & Off-Topic
-----------------------------
English
-----------------------------
=> WebsiteBaker 2.9
===> Announcements
===> Help/Support
=====> Modules / Extensions
===> Suggestions
===> Software bugs
=> Help & Support
=> Modules
=> Droplets (PHP code for use with Droplet module) & Snippets (raw PHP code)
=> jQuery
=> Templates, Menus & Design
=> WebsiteBaker Language Files
=> WebsiteBaker 2.x discussion
=> WebsiteBaker 3
=> Archive (posts up to 2007)
-----------------------------
Deutsch (German)
-----------------------------
=> Ankündigungen
=> WebsiteBaker 2.9
===> Ankündigungen
===> Hilfe/Support
=====> Module / Extensions
===> Vorschläge
===> Softwarefehler
===> Erfahrungs und Testberichte
=> Hilfe/Support
=> Module & Snippets
=> Templates & Design
=> Tutorials
=> jQuery
=> Diskussion über WB
=> Off-Topic
=> Archiv für Themen bis 2007
-----------------------------
Nederlands (Dutch)
-----------------------------
=> Aankondigingen
=> Hulp & Ondersteuning
=> Niet-Terzake (Off Topic)
-----------------------------
Francais (French)
-----------------------------
=> Help/Support
-----------------------------
Italiano (Italian)
-----------------------------
=> Help/Support
-----------------------------
Bakery (WB shop module)
-----------------------------
=> Bakery English
=> Bakery Deutsch
-----------------------------
KeepInTouch (Multi Contact Module)
-----------------------------
=> KeepInTouch English
=> KeepInTouch Deutsch
Loading...