PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : code wird nicht erkannt/umgesetzt (trivial)


museager
08.02.2005, 17:29:21
Hab ein Problem, das warscheinlich ganz einfach zu lösen ist, aber ich kanns nicht, da ich erst zu kurz mit php was zu tun habe. Aber aus Fehlern lernt man ja, könnte mir also bitte jemand meinen Fehler zeigen/sagen? Danke im Vorraus!

Das Problem: hier (http://blackminded.de/guestbook/index.php) Ein Gästebuch, das, je nach Auswahl, in einer von 3 Farben angezeigt werden soll. Leider wird das php im header nicht umgestzt bzw. korrekt erkannt, was warscheinlich nur wieder ein seeehr dummer Fehler ist. Hilfe bitte, schnell!
Link zum HEADER, damit ihr nur den anschauen braucht (mit "Ziel speichern unter"..aber warum erzähl ich euch das, ihr kennt euch doch aus :D):hier (http://blackminded.de/guestbook/templates/header.php)

P.S.: Das sind nur Testeinträge aus langeweile, nichts ernst zu nehmendes ;)

xabbuh
08.02.2005, 17:40:56
Damit PHP interpretiert wird, muss es auch zwischen <?php und ?> stehen.

museager
08.02.2005, 19:02:02
Nach näherer Betrachtung der HEADERS tut es das auch, trotzdem funktioniert es nicht (den dass mit dem <? php ?> hatte ich schon verstanden :) ). Woran liegts denn dann? Schaut euch am besten den HEADER an..

xabbuh
08.02.2005, 19:15:09
Ohne den PHP-Code der header.php zu kennen, kann dir kaum eine zufriedenstellende Antwort gegeben werden.

museager
08.02.2005, 20:50:04
Ja warum poste ich denn wohl den Link zum Header, vermerkte sogar noch "Ziel speichern unter"? wollte mich nur an die Forumregeln halten und keine langen Codes posten. aber wenn du unbedingt willst (solang ist er ja auch wieder nicht):
<html>
<head>
<title>$LANG[FormSelect]</title>
$LANG[metatag]
<style type="text/css">
<!--
.font1 { font-family: $VARS[font_face]; font-size: $VARS[tb_font_1]; color: <?php if ($f == "r") {echo "#FFFFFF" ;} elseif ($f == "s") {echo "#FFFFFF" ;} else { echo "#000000" ;}?> }
.font2 { font-family: $VARS[font_face]; font-size: $VARS[tb_font_2]; color: <?php if ($f == "r") {echo "#FFFFFF" ;} elseif ($f == "s") {echo "#FFFFFF" ;} else { echo "#000000" ;}?> }
.font3 { font-family: Arial, Helvetica, sans-serif; font-size: 7.5pt; color: <?php if ($f == "r") {echo "#FFFFFF" ;} elseif ($f == "s") {echo "#FFFFFF" ;} else { echo "#000000" ;}?>; font-weight: bold}
.select { font-family: $VARS[font_face]; font-size: 9pt}
.input { font-family: $VARS[font_face]; font-size: 9pt}
-->
</style>
<script language="JavaScript">
<!--
function gb_picture(Image,imgWidth,imgHeight) {
var border = 24;
var img = Image;
var features;
var w;
var h;
winWidth = (imgWidth<100) ? 100 : imgWidth+border;
winHeight = (imgHeight<100) ? 100 : imgHeight+border;
if (imgWidth+border > screen.width) {
winWidth = screen.width-10;
w = (screen.width - winWidth)/2;
features = "scrollbars=yes";
} else {
w = (screen.width - (imgWidth+border))/2;
}
if (imgHeight+border > screen.height) {
winHeight = screen.height-60;
h = 0;
features = "scrollbars=yes";
} else {
h = (screen.height - (imgHeight+border))/2 - 20;
}
winName = (img.indexOf("t_") == -1) ? img.substr(4,(img.length-8)) : img.substr(6,(img.length-10));
features = features+',toolbar=no,width='+winWidth+',height='+winHeight+',top='+h+ ',left='+w;
theURL = '$GB_PG[base_url]/picture.php?img='+Image;
popup = window.open(theURL,winName,features);
popup.focus();
}
//-->
</script>
</head>
<body bgcolor="<?php if ($f == "r") {echo "#FF0000" ;} elseif ($f == "s") {echo "#000000" ;} else { echo "#FFFFFF" ;}?>" link="<?php if ($f == "r") {echo "#FFFFFF" ;} elseif ($f == "s") {echo "#FFFFFF" ;} else { echo "#000000" ;}?>" vlink="<?php if ($f == "r") {echo "#FFFFFF" ;} elseif ($f == "s") {echo "#FFFFFF" ;} else { echo "#000000" ;}?>">


So, hab ihn extra so lang gelassen..aus Protest :P

xabbuh
08.02.2005, 21:37:59
Es ging um den PHP, nicht um den HTML-Code. Wenn ich bei deiner Seite "speichern unter..." anklicke, wird natürlich nur der HTML-Code gespeichert. Was meinst du, was für eine Sicherheitslücke es wäre, wenn ich auf diese Weise an deinen PHP-Code kommen würde. Und genauso ist das, was du jetzt hier gepostet hast nichts weiter als der reine HTML Code.

museager
09.02.2005, 19:47:36
Ja gut, das stimmt. Aber es ging ja auch darum, dass das php-Zeugs nicht in html umgewandelt wird oder so.. ich weiß nicht wie man das nennt.

Könnte mir nun jemand mal sagen, was ich falsch gemacht hab? Den HTML-Code sieht ja nun jeder bei dem das PHP nicht umgesetzt wird.

Ich danke schonmal.

xabbuh
09.02.2005, 19:55:26
Nochmal: So lange wir deinen PHP Code nicht kennen, können wir dir auch nicht sicher sagen, was du falsch gemacht hast.
Trotz allem ein Tipp: Zwischen Singelquotes wird im Gegensatz zu Doublequotes nicht geparst.

museager
09.02.2005, 20:14:23
Das ist der Code, den ich meine: <?php if ($f == "r") {echo "#FFFFFF" ;} elseif ($f == "s") {echo "#FFFFFF" ;} else { echo "#000000" ;}?> Und das Problem ist an ihm, dass er, statt einen Wert zurückzugeben, z.b. #FFFFFF wenn f=s oder f=r, einfach nicht funktioniert, also das php nicht umgesetzt wird.. versteht das wer? Ich bin son Noob, ich weiß..

Trotz allem ein Tipp: Zwischen Singelquotes wird im Gegensatz zu Doublequotes nicht geparst.äähh...ja. Und das heißt? Ich versteh das jetzt nicht, bin wohl noch zu unwissend. Kannst du das nochmal genauer erläutern in einer etwas leichter verständlichen Weise? Danke :)

xabbuh
10.02.2005, 12:08:57
Das ist der Code, den ich meine: <?php if ($f == "r") {echo "#FFFFFF" ;} elseif ($f == "s") {echo "#FFFFFF" ;} else { echo "#000000" ;}?> Und das Problem ist an ihm, dass er, statt einen Wert zurückzugeben, z.b. #FFFFFF wenn f=s oder f=r, einfach nicht funktioniert, also das php nicht umgesetzt wird.. versteht das wer? Ich bin son Noob, ich weiß..
Der Code wird doch umgesetzt...?!

museager
10.02.2005, 16:54:56
Nein. Wenn ich die Seite aufrufe (link (http://blackminded.de/guestbook/index.php)) und mir dann per Rechtsklick-Optionen den Quelltext anschau, dann seh ich, dass er das nicht wird. Normalerweise sollte da ja anstelle des php-codes nur der echo-Wert sein, aber da steht immer noch der komplette Code. Wieso?

xabbuh
10.02.2005, 17:38:57
Zeig doch mal hier (http://nopaste.php-q.net) den kompletten PHP-Code der index.php.

museager
10.02.2005, 20:44:14
Hab's gemacht, war aber Blödsin, denn die index.php (http://nopaste.php-q.net/114122) besteht fast nur aus einfügungen von templates. Also ich dann den HEADER, die einzige sache, die ich verändert hab, prüfen lassen hab, kam das hier (http://nopaste.php-q.net/114127) raus. Wie man sieht, kein Fehler (anscheinend). Was ist da los?

xabbuh
10.02.2005, 20:49:36
Wenn ich dich richtig verstehe ist der von dir gepostete Code aus dem Template. Das bedeutet wohl, dass die Templateengine, die du verwendest keinen PHP-Code in den Templates "erlaubt". Somit wirst du in der Dokumentation zu dieser Templateengine nachschauen müssen, ob es dort möglicherweise Kontrollstrukturen gibt.

museager
10.02.2005, 22:19:54
Das klingt logisch. Ich glaub so ist das auch. Was versteh ich unter "Kontrollstrukturen"? Kann ich das damit vllt. zum laufen bringen mit dem php im template?

Gibts denn ein gutes GB wie das (das ist das "Advanced Guestbook 2.3.1" von www.proxy2.de)? Ich finde das von den Features her recht gut. Gibts was dementsprechendes?

xabbuh
11.02.2005, 15:44:13
Das klingt logisch. Ich glaub so ist das auch. Was versteh ich unter "Kontrollstrukturen"? Kann ich das damit vllt. zum laufen bringen mit dem php im template?
Kontrollstrukturen: http://tut.php-q.net/kontrollstrukturen.html

Gibts denn ein gutes GB wie das (das ist das "Advanced Guestbook 2.3.1" von www.proxy2.de)? Ich finde das von den Features her recht gut. Gibts was dementsprechendes?
Die beste Alternativ ist, meiner Meinung nach, immer noch selbst schreiben.
Wenn du aber lieber auf etwas fertiges zurückgreifen möchtest, solltest du über Google suchen.

museager
13.02.2005, 18:38:10
Man kann sich aber auch kompliziert ausdrücken :) Also soweit ich bisher geschaut hab, hab ich nichts derartiges gefunden, was php in den Templates deaktiviern würde. Naja, nun ist mir das Problem egal geworden, ich lass das GB einfach in dem Design und fertig.

Trotzdem danke für die Hilfe!