Fehler bei selbst erstelltes modul

Begonnen von BlackBoSs, 02 Januar 2005, 22:30:31

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

BlackBoSs

Hi LEute hab ein Modul erstellt zum testen ob ich es kann aber bekomme diesen fehler hier

Parse error: parse error, unexpected $ in /home/www/web0/html/modules/TEST Modul/index.php on line 26


der code lautet :

<?php
#### Generated by Module Creator - By PowerTürk site (www.powerturk.de) ####
if (!eregi("modules.php"$PHP_SELF)) {
   die ("You can't access this file directly...");

}
require_once(
"mainfile.php");
$module_name basename(dirname(__FILE__));
get_lang($module_name);
include(
"header.php");
$index 0;
OpenTable();
echo
""
  ""
  "<body>"
  ""
  "<p>"
  "<img border=\"0\" src=\"http://www.dermanim.at/images/popup/1.JPG\" width=\"290\" height=\"363\"><img border=\"0\" src=\"http://www.dermanim.at/images/popup/2.JPG\" width=\"597\" height=\"188\"></p>"
  ""
  "</body>"
  ""
  "</html>"
  ";
CloseTable();
include(footer.php);
?>

Biker

Detektei Martin - wir bringen Licht ins Dunkle!

jogi24

hi

deine zeile
include(footer.php);

richtig ist

include("footer.php");

BlackBoSs

@t jogi ich habs so auch versucht jetzt bekomme ich diesen fehler hier

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/www/web0/html/modules/TEST Modul/index.php on line 25

Biker

Du hast in der letzten Zeile was vergessen:

nicht  ?> sondern }?>
Detektei Martin - wir bringen Licht ins Dunkle!

jogi24


<?php
if (!eregi("modules.php"$PHP_SELF)) {
   die (
"You can't access this file directly...");

}
require_once(
"mainfile.php");
$module_name basename(dirname(__FILE__));

include(
"header.php");
$index 0;
OpenTable();
  echo 
"<img border=\"0\" src=\"http://www.dermanim.at/images/popup/1.JPG\" width=\"290\" height=\"363\">";
  echo 
"<img border=\"0\" src=\"http://www.dermanim.at/images/popup/2.JPG\" width=\"597\" height=\"188\">";
  
CloseTable();
include(
"footer.php");
?>




ohne fehlermeldungen rennt das teil  :P

BlackBoSs

ich habs genauso gemacht wie du es zeigst ...

bekomme diesen fehler hier

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/www/web0/html/modules/TEST Modul/index.php on line 25


<?php
#### Generated by Module Creator - By PowerTürk site (www.powerturk.de) ####
if (!eregi("modules.php"$PHP_SELF)) {
 
  die ("You can't access this file directly...");

}
require_once(
"mainfile.php");
$module_name basename(dirname(__FILE__));
get_lang($module_name);
include(
"header.php");
$index 0;
OpenTable();
echo
""
 
 ""
 
 "<body>"
 
 ""
 
 "<p>"
 
 "<img border=\"0\" src=\"http://www.dermanim.at/images/popup/1.JPG\" width=\"290\" height=\"363\"><img border=\"0\" src=\"http://www.dermanim.at/images/popup/2.JPG\" width=\"597\" height=\"188\"></p>"
 
 ""
 
 "</body>"
 
 ""
 
 "</html>"
 
 ";
CloseTable();
include("
footer.php");
}?>

jogi24

hi

das teil was ich gepostet habe rennt mit sicherheit ohne probs, hab es getestet

die }  unten von biker  gepostet, hat da garnix zu suchen, denn sie wird oben bereits geschlossen


BlackBoSs

oo endlich jep sie funktioniert danke dir
na endlich kann ich auch ein modul erstellen :)
jetzt weiss ich es halbwegs wie es geht :)

Biker

#9
@Jogi
Zitatdie }  unten von biker  gepostet, hat da garnix zu suchen, denn sie wird oben bereits geschlossen

Stimmt...habs nur überflogen.....und im Grunde hätte BlackBoss ja auch die Anregung aus meiner ersten Antwort zur Erstellung nehmen können.

@BlackBoSs

Wenn Du BITTE mal richtig lesen würdest....DAS ist meine 1. Antwort in diesem Posting gewesen!

ZitatGuck mal hier: http://board.pragmamx.de/index.php?topic=11807.msg78613#msg78613
Detektei Martin - wir bringen Licht ins Dunkle!

Andi

Moin :)

dann wollen wir das mal verbessern, dass es in Zukunft richtig funzt...


if (!eregi("modules.php", $PHP_SELF)) {
  die ("You can't access this file directly...");
}

Diese 3 Zeilen sollen verhindern, dass die Datei direkt aufgerufen werden kann. Das funktioniert aber nicht auf allen Serverkonfigurationen und kann dadurch ein Sicherheitsrisiko sein.
Im vkpMx solltest du das ersetzen durch:
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

require_once("mainfile.php");
völlig unnötig, die mainfile wird bereits in der modules.php includet

$module_name = basename(dirname(__FILE__));
Unnötig, wenn die Variable $module_name im Modul nicht gebraucht wird

get_lang($module_name);
Unnötig bzw. sogar ein Fehler, wenn das Modul keine eigenen Sprachdateien mitbringt.

include("header.php");
$index = 0;

Falsch, die Variable $index sollte vor dem includen der header.php gesetzt sein. Funktioniert zwar meist auch so, aber nicht in allen Themes. Also zur Sicherheit so rum:$index = 0;
include("header.php");



OpenTable();
  echo "<img border=\"0\" src=\"http://www.dermanim.at/images/popup/1.JPG\" width=\"290\" height=\"363\">";
  echo "<img border=\"0\" src=\"http://www.dermanim.at/images/popup/2.JPG\" width=\"597\" height=\"188\">";
  CloseTable();

Unnötiger Aufwand, nur um HTML darzustellen....
Einfacher ist es, den PHP-bereich zu verlassen und das HTML ohne Echo und die ganzen notwendigen Maskierungen auszugeben.
OpenTable();
?>
<img border="0" src="http://www.dermanim.at/images/popup/1.JPG" width="290" height="363">
<img border="0" src="http://www.dermanim.at/images/popup/2.JPG" width="597" height="188">
<?php  
CloseTable
();
schön´s Grüssle, Andi