PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bild von einem Link aus einem Profilfeld anzeigen lassen, wenn Eintrag vorhanden


CityHunter
02.12.2007, 14:39
Bei mir im Forum sind schon seit einiger Zeit die sogenannten Publicons sehr beliebt. Ich habe daher ein Profilfeld angelegt (field13), in welches die User einen Link zu einem Bild eintragen können.

Diese Links sehen zum Beispiel so aus:
http://img523.imageshack.us/img523/9662/pubhttp3a2f2fwwwppcweltinfo62193949591191818697414415nz7.png

An welche Stelle ich das in den Templates schreiben muss, weiß ich, ich scheitere nur leider daran das richtig ab zu fragen. Egal, was ich bisher eingegeben habe, es wird nie etwas angezeigt.
Ich muss aber dazu sagen, dass ich kein PHP Programmierer bin und das zu 100% an meinem Code lag. Vielleicht kann mir jemand hier einen Tipp geben.

Es soll folgendes passieren:
Wenn in Profilfeld "field13" ein Link zu einer .png Datei angegeben ist, dann soll dieses Bild angezeigt werden.
Wenn im Profilfeld "field13" nichts, oder etwas anderes als ein Link zu einer .png Datei angegeben ist, dann soll nichts angezeigt, bzw. gemacht werden.

Vielen Dank schonmal im Voraus für Eure Hilfe.

CityHunter
11.12.2007, 22:31
Kann niemand etwas dazu sagen?

pogo
12.12.2007, 12:09
Da dazu die URL untersucht werden muss, brauchst du ein Plug-in, also PHP-Code, der das tut.

Versuch es bitte bei !vbgo.

Bis dahin solltest du erstmal schauen, dass du den eingegeben Text, also die URL überhaupt als reinen Text angezeigt bekommst.

<if condition="$post['field13']"><div>Profilfeld 13: $post[field13]</div></if>

Ohne Überprüfung könntest du auch direkt das Bild anzeigen:

<if condition="$post['field13']"><div><img src="$post[field13]" alt="Publicon" border="0" /></div></if>

CityHunter
16.12.2007, 16:02
Danke, das mit der Anzeige funktioniert.

Anstatt die Anzeige mit PHP Code zu überprüfen, müsste es doch auch gehen, wenn man bei dem Profilfeld entsprechende reguläre Ausdrücke angeben würde, oder?
Oder wäre es damit nicht möglich, dies sicher hin zu bekommen, dass andere keine Scripte, oder andere schädliche Dinge einfügen?

Wie müsste ein Ausdruck lauten, der möglichst keine Lücken offen lässt?
Beginn des Inhalts des Feldes wäre immer "http://img" und Ende wäre immer ".png" Dazwischen dürfen Zahlen, Buchstaben und "/" und "." erlaubt sein.

Wäre das mit folgendem Ausdruck möglich?
^http://img[A-Z0-9 . /]$.png/i

StGaensler
16.12.2007, 21:40
Hallo,

ja, das stimmt schon fast :)

So sollte es gehen: ^http://img[A-Za-z0-9./]+\.png$

Viele Grüße,
Stefan

CityHunter
18.12.2007, 17:10
Das mit den Bilddateien funktioniert, aber wenn man das Feld leer lässt, dann kann man sein Profil nicht abspeichern, weil der Inhalt des Feldes nicht den Regeln entspricht. Das Feld ist als nicht zwingend auszufüllendes Feld definiert.

StGaensler
18.12.2007, 19:38
Dann erweitern wir die Regel einfach noch ;) Hiermit funktioniert es: ^http://img[A-Za-z0-9./]+\.png$|^$

Viele Grüße,
Stefan

CityHunter
18.12.2007, 20:20
Danke, funktioniert!