Funktion wird ausgeführt trotz Kommentar?

@Crav3X
Ja das ist die Datei.

@splasch
Erledigt sich die Version nicht von selbst, wenn die Funktion über Include oben eingebunden wird ?


(btw. würde mich schon noch interessieren, wie es sein kann das eine auskomentierte Funktion ausgeführt wird)
 
@splasch
Erledigt sich die Version nicht von selbst, wenn die Funktion über Include oben eingebunden wird ?

Nein es kommt drauf wann du sie einbindest und nicht ob sie irgendwann mal eingebundet wird.
Ein Script wird immer von oben nach unten durch gearbeitet vom php prahser!

Bsp,
Richtig

include('datei.php');
funktioname();

Falsch
funktioname();
include('datei.php');

Mfg Splasch
 
Hi,

@splasch
Erledigt sich die Version nicht von selbst, wenn die Funktion über Include oben eingebunden wird ?

doch. Aber dann fallen mir nur zwei Möglichkeiten: die Datei konnte nicht eingebunden werden (falscher Pfad, vielleicht aber auch fehlende Rechte?) oder die PHP-Tags fehlen.

(btw. würde mich schon noch interessieren, wie es sein kann das eine auskomentierte Funktion ausgeführt wird)

Die Funktion ist doch gar nicht auskommentiert... :confused:

LG
 
hmm..

also...
wenn du die Funktion NICHT aufrufst... dürfte auch keine Meldung kommen...

Also aus kommentieren.. "//"

Um sehen zu können ob die "anzeige.php" wirklich mit eingefügt wird... könntest du anstatt "include" "require" benutzen...


Oder einfach mal ne test(); Funktion erstellen... und einfach mal... "test" ausgeben lassen...

dann wirst du sehen ob die verbindung mit der "anzeige.php" besteht...
 
Momentan sieht der Code damit das noch läuft so aus(läuft, aber sobald ich die include ("anzeige.php"); wieder reinnehme und den code zwischen /**/ wegnehme kommt der fehler):
PHP:
<?php
	include ("../db/connect.php"); //Datenbankzugriff
         //include ("anzeige.php");

/*         function funktionsname()
{
	global $name, $nummer, $status, $filename;
//Breite und Höhe des Bilds
	$breite=500;
	$hoehe=500;


$image = imagecreate($breite,$hoehe);

//verwendete Farben
	$grey = ImageColorAllocate($image, 233, 233, 233);
	$black = ImageColorAllocate($image, 0, 0, 0);
	$red = ImageColorAllocate($image, 255, 0, 0);
	$green = ImageColorAllocate($image, 0, 255, 0);
	$blue = ImageColorAllocate($image, 0, 0, 255);

//Ausgabe und Positionierung der Angaben
	imagestring($image, 5, 20, 40, $name, $black);
         imagestring($image, 5, 20, 60, $nummer, $black);

//Zeichnen der Statusanzeige
	imageline($image, 80, 250, 80, 150, $black);
         imageline($image, 20, 250, 20, 150, $black);
         imagearc($image, 50, 150, 60, 50, 180, 360, $black);
         imagearc($image, 50, 250, 60, 50, 0, 180, $black);

//Farbzuteilung an die Statusanzeige
         if($status == 1){
         imagefill($image, 21, 200, $blue);
         }elseif($status == 2){
         imagefill($image, 21, 200, $green);
         }else{
         imagefill($image, 21, 200, $red);
         }


ImagePNG($image,$filename);
ImageDestroy($image);
}*/
?>

<html>
<head><title></title></head>
<body>
<?php
$v_tabelle = "user";
$abfrage = "SELECT * FROM `" . $v_tabelle . "` WHERE 1";
$result = mysql_query($abfrage);

        if (mysql_affected_rows() > 0)
{
    $x = 0;
	while($row = mysql_fetch_array($result))
    {
   	    $benutzer[$x] = $row['Benutzer'];
             $id[$x] = $row['ID'];
             $rang[$x]= $row['Rang'];
         $x++;
    }
}

$name = $benutzer[0];
$nummer = $id[0];
$status = $rang[0];
$filename = "anzeige.png";
funktionsname();
?>
<img src="anzeige.png">
</body>
</html>

Edit:Verbindung klappt, sollang ich die Funktion nicht ausführen lasse.
 
Zuletzt bearbeitet:
Bist du gaaaaaannnz sicher das die "anzeige.php" im richtigen Ordner liegt?

PHP:
include ("anzeige.php");
oder
PHP:
include ("../anzeige.php");
oder sogar
PHP:
include ("../func/anzeige.php");
 
Hi,

das kann ja genauso wenig sein...
Jetzt hast Du ja sowohl den include als auch die Funktionsdeklaration innerhalb der Hauptdatei auskommentiert, rufst aber immer noch die Funktion weiter unten auf. Die kann ja jetzt gar nicht definiert sein.

LG
 
@Nugorra

Ist die Frage wie du versucht hast deinen Funktion auszukommentieren?

Möglichkeiten
1. du hast das include("anzeige.php") weggenommen
2. du hast die Funktion in deiner Anzege.php auskommentiert
3. Du kommentierst sie dort aus, wo du sie aufrufst

In dem Falle ist der 3. Fall der richtige Weg, damit gibt es auch keine Fehlermeldungen und das geschieht wie Crav3X schon geschrieben hat über die beiden Backslashs oder aber auch über eine Raute.

PHP:
//funktionsname();
#funktionsname();

und du hattest ja in dem gepostet code
deine Funktion normal drin stehen
PHP:
funktionsname();
Das heißt sie wird ganz normal ausgeführt und wenn die Funktion nicht gefunden wird, erfolgt die Fehlermeldung
Code:
Fatal error: Call to undefined function (funktionsname)();

Gruss
Evo
 
Habe mir mal dein Code Kopiert und bei mir ausgeführt (natürlich ohne Datenbank verbindung etc)

Funktioniert ohne probleme...

du wirst auf jedenfalldie "anzeige.php" im falschen ordner liegen haben...


versuchs einfach mal mit
PHP:
include ("../anzeige.php");
 
Das kann doch net so schwer sein!
Ich wette du ruft in der anzeige.php die Funktion auf und das ist falsch.
Zeig mal her was du in anzeige.php drin stehen hast.

PHP:
    include ("anzeige.php"); // hier wird warschein die funktion schon aufgerufen die aber zu der Zeit noch garnicht vorhanden ist.

         function funktionsname() 
{ 
    global $name, $nummer, $status, $filename

Mfg Splasch
 
Zurück