Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
formatierung von php code [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
formatierung von php code


 
pulp2310
10-01-2005, 21:55 
 
hi,
ich habe einen link den ich auf einer html seite aufrufe. dort funktioniert er auch. da der code aber redundant ist und in mehreren unterseiten auftaucht möchte ich ihn in eine extra php datei schreiben.
ich habe bereits eine layout.php datei. die sieht insgesamt so aus:

<?php
session_start();
if(!isset($_SESSION["style"]))
$_SESSION["style"] = "opel";

switch ($_SESSION["style"])
{
case "opel":
echo "<td height=\"34\"><a href=\"....... HIER STEHEN SCHON
ANDERE LINKS DRIN; DIE AUCH FUNKTIONIEREN...

und dann kommt die zeile mit dem link um den es geht:


<a href=\"index.daew.php?".session_name()."=".session_id()."\"
target=\"_self\" onClick=\"MM_nbGroup('down','group1','card_daew','',1)\"
onMouseOver=\"MM_nbGroup'over','card_daew','bilder/menu/chevy.gif','',1)\" onMouseOut=\"MM_nbGroup('out')\">
<img src=\"bilder/menu/card_daew.gif\" name=\"card_daew\" width=\"165\" height=\"34\" border=\"0\"></a>


</td>";
break;
}
?>

in meiner html datei gebe ich dann ein
<?PHP include("layout.php"); ?>

jetzt funktioniert der link leider nicht mehr. ich habe schon alles durchgetestet und alles lässt auch einen syntaxfehler bzgl. der anführungszeichen im code mit dem link schließen. leider bringt der browser nur die meldung das der link nicht aktuell ist.

kann mir einer sagen wie die zeile mit dem link richtig heißen muss?


das hier ist die eigentliche html codezeile die funktioniert hat und die mir das php nach aufruf der include auch 1:1 wieder rausgeben soll:


<a href="index_daew.php?<?php echo session_name() . "=" . session_id(); ?>" target="_self" onClick="MM_nbGroup('down','group1','card_daew','',1)" onMouseOver="MM_nbGroup('over','card_daew','bilder/menu/chevy.gif','',1)" onMouseOut="MM_nbGroup('out')"><img src="bilder/menu/card_daew.gif" name="card_daew" width="165" height="34" border="0"></a>

 
jochenj
10-01-2005, 22:08 
 
<a href=\"index.daew.php?session_name()=session_id()\"
target=\"_self\" onClick=\"MM_nbGroup('down','group1','card_daew','',1)\"
onMouseOver=\"MM_nbGroup( 'over','card_daew','bilder/menu/chevy.gif','',1)\" onMouseOut=\"MM_nbGroup('out')\">
<img src=\"bilder/menu/card_daew.gif\" name=\"card_daew\" width=\"165\" height=\"34\" border=\"0\"></a>

funktioniert das?

 
illusion
10-01-2005, 23:36 
 
in meiner html datei gebe ich dann ein
<?PHP include("layout.php"); ?>


is aber nicht dei Ernst! Oder??

 
pulp2310
11-01-2005, 10:49 
 
@illusion:

klar ist das men ernst! warum dnn nicht?


es steht schon noch mehr in der datei drin, aber das musste ich hier ja nicht posten.

ich hab da ne switch case drin usw., es ist also schon etwas mehr code als die 5 zeilen da oben.

außerdem steht der code in bestimmt 20 seiten drin. somit macht es schon sinn das zu verkürzen und in ne extra file rauszunehmen,

 
mrhappiness
11-01-2005, 10:51 
 
wenn du HTML sagst, meinst du dann eine Datei mit der Endung *.htm oder *.html, die aufgrund dieser Endung nicht als PHP-Datei interpretiert und deswegenauch nciht geparst wird, oder eine *.php-Datei, in der nur HTML steht?

 
pulp2310
11-01-2005, 11:09 
 
nein geht immernoch nicht.
also die richtige formatierung habe ich jetzt schonmal. denn ich habe ja noch andere links in der php datei drin, die gehen alle.

nur dieser hier geht nicht.

das liegt daran das sich der link um genau diese zeilen:

onClick=\"MM_nbGroup('down','group1','card_daew','',1)\"
onMouseOver=\"MM_nbGroup( 'over','card_daew','bilder/menu/chevy.gif','',1)\" onMouseOut=\"MM_nbGroup('out')\">

von den anderen unterscheidet. das sind alle java script funktionen die hier aufgerufen werden.
das zugehörige JS binde ich in der html datei aber vor dem include aufruf schon ein!

wenn ich nicht den weg über die php datei nehme, sondern den link direkt in html reinmache geht er ja. aber eben nicht wenn ichs über die php datei mache.
also vermute ich das php mir diese zeile nicht 1:1 in die html datei zurückgibt, somit dort die JS funktion nicht korrekt aufgerufen werden kann (evtl. paramaterübergabe falsch), und somit der link letztlich nicht funktioniert.

gibts irgendeinen trick wie ich das formatieren muss?

 
pulp2310
11-01-2005, 11:16 
 
Original geschrieben von mrhappiness
wenn du HTML sagst, meinst du dann eine Datei mit der Endung *.htm oder *.html, die aufgrund dieser Endung nicht als PHP-Datei interpretiert und deswegenauch nciht geparst wird, oder eine *.php-Datei, in der nur HTML steht?

also die datei in der das include aufgerufen wird heist index.php


ok das ist ne php datei, aber der einzige php code darin ist ganz oben kurz ein session_start und dann unten eben dieses include von der layout.php, welche diese links enthält.


aber an der endung .php kanns ja nicht liegen.

diese layout.php muss mir einfach nur richtig formatierten html code zurückliefern. wenn sie das tut dann gehts auch!
denn wenn ich ja statt dieser layout.php den link einfach direkt als html code in meine index reinschreib dann gehts ja auch.
die zeile steht dort in body in einem td tag. also als reiner html code.
und dieser html muss einfach identisch sien mit dem code den mit die layout.php zurückliefert.
das ist doch alles was ich will.

 
mrhappiness
11-01-2005, 11:21 
 
Mach doch vor dem Link ?> und danach wieder <?php

 
pulp2310
11-01-2005, 11:44 
 
das problem ist aber das der link in einem php tag steht indem ich per switch case mehrere sachen prüfe.

wenn ich jetzt so wie du meinst in der echo das php tag schließe dann den link setze und dann wieder das php starttag setze,
dann schreibt er mir ja IMMER die html zeile raus.

und das soller aber nicht. die zeile ist je switch anweisung etwas verändert. er soll also schon nur die entsprechende zeiel dann aufrufen.
somit bin ich doch gezwungen das ganze im php tag zu lassen.


korrigier mich wen nich das falsch sehe...

 
mrhappiness
11-01-2005, 11:59 
 
probier's doch aus

 
kapitaeniglo
11-01-2005, 12:06 
 
also wenn du
im eigentlichen case erst das php schliesst und öffnest sollte er es nur anzeigen, wenn du im case tatsächlich drinne bist ...

gruss
iglo

 
pulp2310
11-01-2005, 16:25 
 
ah danke, gut zu wissen.


ich hab den grund aber jetzt gefunden warum es nicht geht. und wenn ich ehrlich bin ist es mir schon fast peinlich das hier zu schreiben.

ich habe statt eines . einen _ geschrieben gehabt.

und das suche ich seit 2 tagen.
man wird echt immer blinder je länger man sucht.

trotzdem danke an alle die mir geholfen haben!!

grüße
sebastian

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:32 Uhr.