Jetzt kostenlos Anmelden!

DJ Chris Männlich

ist gerade angekommen

Beiträge: 15

Geschlecht: Männlich

PHPKIT Version: 1.6.1

1

Sonntag, 28. Juni 2009, 15:10

PHP-Code im Template zur Navbox

Hallo liebe Forengemeinde,

ich habe ein Problem bzw. eine Frage:

Ich würde gerne in einem Template zu einer Navbox PHP-Code implementieren, aber anscheinend funzelt das nicht oder ich mache etwas falsch - hmmm.

Konkret:

Navbox "navbox.partnernet.php"

Quellcode

1
2
3
<?php
eval ("\$boxlinks[]= \"".getTemplate("navigation/partnernet")."\";");
?>


Template: "partnernet.htm"

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
include ("../partnernet/config/db_config.php");
$select = "SELECT radio_name, radio_url";
$result = mysql_query($select);
$anz=mysql_num_rows($result);

			
if ($anz > 0)
	{

	while ($row = mysql_fetch_assoc($result))
		{
			$db_radio_name	=	$row ['radio_name'];
			$db_radio_url	=	$row ['radio_url'];
		?>

<html>

<head>
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
</head>

<body>

<div align="center">
	<table border="0" width="130" id="table1">
		<tr>
			<td><?=$row['radio_name'];?> </td>
		</tr>
		<tr>
			<td><p align="center">Partner werden<br>(noch nicht aktiv)</td>
		</tr>
	</table>
</div>

</body>

</html>

		<?	
			}
		}
		?>


Beim Aufruf erhalte ich dann folgende FM:

"Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/vhosts/igdwr.de/httpdocs/navigation/navbox.partnernet.php(2) : eval()'d code on line 29"

Hmm, kann man in einem Template zu einer Navbox kein PHP verwenden?

Vorab vielen Dank für evtl. Tips

Beste Grüße
DJ Chris

Zitat

Ich kann doch auch nix dafür
  • Zum Seitenanfang
  • Zum Seitenende

kusnojo Männlich

findet sich zurecht

Beiträge: 111

Geschlecht: Männlich

PHPKIT Version: 1.6.1

2

Sonntag, 28. Juni 2009, 17:35

schau dir genau die zeile 29 an.
änder sie mal so um:

PHP-Quelltext

1
<td><? echo $row['radio_name'];?> </td>
  • Zum Seitenanfang
  • Zum Seitenende

JohannesL

unregistriert

3

Sonntag, 28. Juni 2009, 18:07

Und warum ist in der partnernet.htm eigentlich PHP Code? ?(
  • Zum Seitenanfang
  • Zum Seitenende

-=LCL=-|BuLLeT| Männlich

#1.6.1 - still alive #

Beiträge: 1 356

Geschlecht: Männlich

Wohnort: Leipzig

PHPKIT Version: 1.6.1

4

Sonntag, 28. Juni 2009, 18:25

schreibe doch den php part in die navbox über das template include.

den html part dann in die htm datei....
  • Zum Seitenanfang
  • Zum Seitenende

Headless Männlich

... nur noch zur deko

Beiträge: 2 374

Geschlecht: Männlich

Wohnort: Nürnberg

PHPKIT Version: keine

5

Montag, 29. Juni 2009, 00:07

Und warum ist in der partnernet.htm eigentlich PHP Code? ?(

Weil man einen Apatche Server so konfigurieren kann, das PHP Code auch in HTML Dateien ausgeführt wird.
Generell macht es aber mehr Sinn, den Code vom Design zu treffen ...

Gruß
So einfach wie möglich - aber nicht einfacher!
Albert Einstein (1879-1955)
  • Zum Seitenanfang
  • Zum Seitenende

Dirk Kántor Männlich

aká Dooki

Beiträge: 2 073

Geschlecht: Männlich

PHPKIT Version: keine

6

Montag, 29. Juni 2009, 01:10

1. html head und body tags haben in einer navbox nichts zu suchen..
die stehen schon oben und unten im phpkit in anderen templates..

2. du bist bereits durch das phpkit mit einer DB verbunden, welche mittels $DB-> angesprochen werden kann..
$DB->fetch_array(); oder $DB->query();

anhand deines beispiels:
navbox.partnernet.php

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
include ("../partnernet/config/db_config.php");
$select "SELECT radio_name, radio_url"# Hier fehlen diverse sachen.. siehe unten in der beschreibung
$result $DB->query($select);
$anz=$DB->num_rows($result);

            
if ($anz 0)
    {

    while ($row =$DB->fetch_assoc($result))
        {
            $db_radio_name    =    $row ['radio_name'];
            $db_radio_url    =    $row ['radio_url'];
            eval ("\$partnernet_row= \"".getTemplate("navigation/partnernet_row")."\";"); # Template für die einzelnen Einträge
            # end while
        # end if

eval ("\$boxlinks[]= \"".getTemplate("navigation/partnernet")."\";"); # Template in dem die einzelnen Einträge zusammengefasst werden
?>


Templates bekommen folgenden inhalt:
navigation/partnernet_row.htm

Quellcode

1
2
3
4
5
6
		<tr>
			<td>$db_radio_name</td>
		</tr>
		<tr>
			<td><p align="center">Partner werden<br>(noch nicht aktiv)</td>
		</tr>


navigation/partnernet.htm

Quellcode

1
2
3
4
5
<div align="center">
	<table border="0" width="130" id="table1">
$partnernet_row
	</table>
</div>



teste es habs nur hier geschrieben, sollte aber gehen?! ^^
solange die DB des phpkits dafür benutzt wird..

PS: zum ansprechen der DB wird 1. die tabelle in der DB benötigt und 2. ggf. noch der wert wonach sortiert werden soll und in welcher reihenfolge..
zu 1. sollte kommen: SELECT radio_name, radio_url FROM {DATENBANKTABELLE}
zu 2. können danach noch klauseln folgen wie:
WHERE radio_name != '' ORDER BY radio_name ASC


sollte ERSTMAL weiterhelfen... viel spass beim probieren.. denk an {DATENBANKTABELLE} denn das sollte wie zb. bei den phpkit usern die tabelle phpkit_user auch eine tabelle sein wie zb. radios (weiss ja nicht wo die einträge liegen..)
:thumbsup:    :thumbsup:       *tc*       :thumbsup:    :thumbsup:
8o           Achtung: Dirk Kántor ist unterwegs!           8o
Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben.
  • Zum Seitenanfang
  • Zum Seitenende

DJ Chris Männlich

ist gerade angekommen

Beiträge: 15

Geschlecht: Männlich

PHPKIT Version: 1.6.1

7

Montag, 29. Juni 2009, 17:38

@dooki - erstmal vielen Dank für die ausführliche Beschreibung, auch vielen Dank an alle Anderen für Eure Tipps.

Den SELECT hatte ich schon mit angabe des Tables gecodet, nur beim kopieren in den Thread nicht aufgepasst und verschlampt. Ich lese mir die Variable $table aus, die ich in der db_config, welche ich ja eingangs includiere, beschreibe.

Also der SELECT heisst genau so:

Quellcode

1
"SELECT radio_name, radio_url FROM $table";


Das sortieren (order by) wollte ich später machen, da ich noch nicht genau weiss, wie ich sortiere, alphabetisch oder nach Eintragsdatum, das überlege ich mir noch.

Deine anderen Tips teste ich aus - Nochmals vielen Dank dafür

Zitat

Ich kann doch auch nix dafür
  • Zum Seitenanfang
  • Zum Seitenende

DJ Chris Männlich

ist gerade angekommen

Beiträge: 15

Geschlecht: Männlich

PHPKIT Version: 1.6.1

8

Dienstag, 30. Juni 2009, 20:15

It works

@dooki,

it works, habe hier und da noch Kleinigketen angepasst, aber anhand Deines Posts habe ich die Strukturierungen Navbox/Templates verstanden - mir war nicht bewusst, dass man mit meheren Templates arbeiten kann - Danke :-)

Nun habe ich aber eine weitere Frage zu der Navbox/den Templates:

So wie ich es jetzt habe, wird mir die Navbox über kurz oder lang mein Style nach unten hin so ausdehnen, das es unansehnlich wird. Es werden ja alle Einträge die sich angemeldet haben gelistet. Hier würde ich jetzt gerne so wie in einem TGP/Topliste verfahren - Anzeige in der Navbox die Top5, der Rest entweder über blättern von Seiten oder einem Button "Alle anzeigen", welche dann entweder includiert im Body der HP oder als Blank Target angezeigt werden.

Im Moment ist es so, dass der Partner nach senden des Forms einen code generiet bekommt, um einen Backlink-Banner zu setzen - Kann man sich hier mal anschauen (ruhig mal absenden, ich lösche dann wieder)

Nun überlege ich, was ich benötige um das zu bewerkstelligen - Klaro, vom Prinzip her klar, Klicks von der HP des jeweiligen Partners müssen gezählt werden, dies am besten über den URL oder sollte man bei der Registrierung eine eindeutige ID vergeben? Und dann? Bin noch etwas unklar, wie man dann Anzeige der Partner nach häufigkeit der Klicks realisiert - Und dann sollte man natürlich noch eine Sperre (IP?) einbauen, um Fakes zu vermeiden.

Hmmmmmm, es wäre sehr lieb, wenn mir hier der "Weg geleuchtet" werden könnte - Bitte nicht missverstehen, ich möchte nicht, dass mir das jemand coded, aber den Weg weisen wäre toll :-)

Vorab vielen Dank und Greetz from Cologne

Zitat

Ich kann doch auch nix dafür
  • Zum Seitenanfang
  • Zum Seitenende