PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Newssystem



Lokutos
03.02.2009, 02:16
Hi ich habe meine news ein bisschen umgebaut habe aber nun leider ein problehm das er immer die ohne html nimmt (die standart) und nie die mit grafiken


// Erweiterte E-Mail-Funktion
function usermail ($an, $betreff, $nachricht, $von) {
// HTML-Codes entfernen
$nachricht = strip_tags ($nachricht);

// zunächst fehlende Protokollprefixe ergänzen
$text = str_replace(' www.',' http://www.',$text);
$pattern = '#([^\"=>]|(?:r />))(http://)([^\s<>,]+(?=\.\s)|[^\s<>,]+)([\s\n<>,\.])#sm';
$replacement = "$1<a title=\"der Link zu dieser URL wurde automatisch hinzugefügt\" target=\"extern\" href=\"$2$3\">$2$3</a>$4";
$html_text = preg_replace($pattern,$replacement,$nachricht);

// Nachricht

$info = mysql_fetch_array(db_query("SELECT u.html_mails,
FROM ".$db_prefix."_userdaten AS u
LEFT JOIN ".$db_prefix."_emaildaten AS e ON e.uid=u.uid
WHERE e.emailadresse=".$an." LIMIT 1"));
if ($info['html_mails'] == 0){

$html_nachricht = '<HTML>
<HEAD>
<STYLE TYPE="text/css">
<!--
H1 {font-family: Verdana; font-size: 18pt}
BODY {font-family: Verdana; font-size: 10pt; margin-left: 30px}
// -->
</STYLE>
</HEAD>
<BODY BGCOLOR="#004887">

<H1>'.$betreff.'</H1>

<font color="#000000"><br><br>'.nl2br($html_text).'
<br><br>MFG Joschi<br><br><br>
<br><br>
----------------------------------------------------------------------
<br><br>
Sie erhalten diese Mail weil Sie Mitglied von snippis.de sind.
<br>
Link: <a href="http://www.snippis.de">http://www.snippis.de</a>
</font>

</BODY>
</HTML>';
}else{
$html_nachricht = '<HTML>
<HEAD>
<meta http-equiv="Content-Language" content="de">
<TITLE>Snippis-Newsletter</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
</HEAD>
<BODY BGCOLOR=#ffffff color=#ffffff LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 CELLPADDING=0 CELLSPACING=0 >
<div align="center">
<TABLE WIDTH=664 BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR style="background-image: url(http://www.snippis.de/images/head.png); background-repead: repead-y;">
<TD height="149px"></TD>
</TR>
<TR style="background-image: url(http://www.snippis.de/images/bgma.png); background-repead: repead-y;">
<TD align ="center">
<u><b><font color="#ffffff" size="6">'.$betreff.'</font></b></u></div>
<table align=left>
<TR>
<TD width=40px> </TD><TD>
<font color="#ffffff"><br><br>'.nl2br($html_text).'
<br><br>MFG Joschi<br><br><br>
<br><br>
----------------------------------------------------------------------
<br><br>
Sie erhalten diese Mail weil Sie Mitglied von snippis.de sind.
<br>
Link: <a href="http://www.snippis.de">http://www.snippis.de</a>
</font>
</TD><TD width=40px> </TD>
</TR>
</table>
<br>
</TD>
</TR>
<TR>
<TD><a href="http://www.snippis.de">
<img src="http://www.snippis.de/images/fot.png" border=0 alt="Snippis"></a>
</TD>
</TR>
</table>
</div>
</BODY>
</HTML>';
}

in den Userdaten gibt es folgende spalten
html_mails smallint(2)




in jeder steht ne 1 also dürfte er doch die else nehmen was er aber nicht tut :suspicious::frusty:

MFG Lokutos

eRaaaa
03.02.2009, 02:42
nabend,

lass dir doch mal mit echo $info['html_mails'] den wert ausgeben...

sieht aber so aus als würde in deinem sql query nen fehler liegen (sieht auch so aus als wäre da nen komma was da eig. unnötig/nichts zu suchen hat is,) aber kann auch nur so aussehen, bei mir wirds irgenwie total uncool dargestellt ;)


aber was ich nicht durchblicke ist, bei html_mails == 0 ..ist doch auch html code ?!

achja, und heißt es nicht background-repeat: repeat-y !!!

gruß

Lokutos
03.02.2009, 06:37
nabend,

lass dir doch mal mit echo $info['html_mails'] den wert ausgeben...

sieht aber so aus als würde in deinem sql query nen fehler liegen (sieht auch so aus als wäre da nen komma was da eig. unnötig/nichts zu suchen hat is,) aber kann auch nur so aussehen, bei mir wirds irgenwie total uncool dargestellt ;)


aber was ich nicht durchblicke ist, bei html_mails == 0 ..ist doch auch html code ?!

achja, und heißt es nicht background-repeat: repeat-y !!!

gruß
thx werd ich mal etfernen und heute abend ausprobieren wie das da hinkommt weis ich nich gg

dan zum auch html code jop das ist schon so aber zu 100% ohne geht es nicht und mit diesem html wird der header auch vernünftig dargestellt
(schriftgrössen etc) auch wenn der html vom anbieter geblockt wird.


MFG Lokutos

jpwfour
03.02.2009, 12:00
...dan zum auch html code jop das ist schon so aber zu 100% ohne geht es nicht ...

"Geht es nicht" stimmt ja nicht :wink:, "willst du nicht" schon eher :der:

Lokutos
03.02.2009, 22:02
Hi jpw
Ich weis aber so wie sie jetzt ist wird se von den meisten interpretiert als kein html warum auch immer weis ich nicht zudehm habe ich da schwarze schrift etc

und bei dem deisign habe ich grafiken und weisse schrift und wenn wer keine grafik anzeigt hat er weisse schrift auf weissem hintergrund
und darum halt die auswahl
kann man den schriftgrössen etc variieren ohne html??


hier übrigens die lösung meines problehms

$info = mysql_fetch_array(db_query("SELECT u.html_mails
FROM vms_userdaten AS u
LEFT JOIN vms_emaildaten AS e ON e.uid=u.uid
WHERE e.emailadresse='".$an."' LIMIT 1"));
if ($info['html_mails'] == 0){

danke en Eraaa für das komma zudehm hab ich nicht so genau fa " und ' geachtet


MFG Lokutos

dragon11
04.02.2009, 16:30
schau dir die db-abfrage nochmal an
brauchst du die emailadresse? ja---fehlt sie beim select, nein brauchst alles nicht mit left join

ich würde es so versuchen (nicht getestet)

$info = mysql_fetch_array(db_query("SELECT u.html_mails, e.emailadresse FROM ".$db_prefix."_emaildaten AS e ON e.emailadresse=".$an." LEFT JOIN ".$db_prefix."_userdaten AS u WHERE u.uid = e.uid LIMIT 1"));

Lokutos
04.02.2009, 17:26
schau dir die db-abfrage nochmal an
brauchst du die emailadresse? ja---fehlt sie beim select, nein brauchst alles nicht mit left join

ich würde es so versuchen (nicht getestet)

$info = mysql_fetch_array(db_query("SELECT u.html_mails, e.emailadresse FROM ".$db_prefix."_emaildaten AS e ON e.emailadresse=".$an." LEFT JOIN ".$db_prefix."_userdaten AS u WHERE u.uid = e.uid LIMIT 1"));




???? was wilst du ???
ich bekomme von der funktion usermail in der extras lib
die email:

function usermail ($an, $betreff, $nachricht, $von) {
anhand dieser email soll er nun in der datenbank in vms_userdaten suchen ob der user html mails wünscht oder nicht
das tut er ja so

$info = mysql_fetch_array(db_query("SELECT u.html_mails
FROM vms_userdaten AS u
LEFT JOIN vms_emaildaten AS e ON e.uid=u.uid
WHERE e.emailadresse='".$an."' LIMIT 1"));
sprich such aus userdaten den wert der spalte html_mails wenn die id die selbe ist wie in der email daten tabelle und in den emaildaten die email mit der email die er von der usermail funktion erhält identisch ist.

un dein satz


brauchst du die emailadresse? ja---fehlt sie beim select
Nein hab ich ja schon übermittelt bekommen von fuction usermail()



nein brauchst alles nicht mit left join
und wie komm ich dan in userdaten ??


MFG Lokutos

dragon11
04.02.2009, 23:13
versuchs dann eben ohne ermitteln der emailadresse: (ich kanns net testen)
$info = mysql_fetch_array(db_query("SELECT u.html_mails FROM ".$db_prefix."_emaildaten AS e ON e.emailadresse=".$an." LEFT JOIN ".$db_prefix."_userdaten AS u WHERE u.uid = e.uid LIMIT 1"));

Lokutos
06.02.2009, 20:39
versuchs dann eben ohne ermitteln der emailadresse: (ich kanns net testen)
$info = mysql_fetch_array(db_query("SELECT u.html_mails FROM ".$db_prefix."_emaildaten AS e ON e.emailadresse=".$an." LEFT JOIN ".$db_prefix."_userdaten AS u WHERE u.uid = e.uid LIMIT 1"));
haloho die fragen wahren aus jux gestellt

überleg dir dein zeug nochmal und lies den post 4 über diesem nochmal besonders den teil :

hier übrigens die lösung

und jetzt must du mir nochmal einfach weil mich deine denkart interesiert meine fragen vom letzten post beantworten jede einzeln bitte