mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 02:58 Benutzername: Passwort: Auto-Login

Thema: [php] return wird nicht ausgeführt vom 07.05.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php] return wird nicht ausgeführt
Autor Nachricht
Kielo
Threadersteller

Dabei seit: 31.07.2009
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 07.05.2010 19:11
Titel

[php] return wird nicht ausgeführt

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen

Ich bin demnächst am Verzweifeln, und zwar ob einer Funktion.
Folgendes:
Ich habe eine Funktion get_headnav(), in der ein sich je nach Kriterium ändernder Wert in eine Variable geschrieben soll.
Dazu habe ich eine switch/case Abfrage, die diese Variable abfüllt (der Wert dadrin wird als Margin verwendet).
Danach wird mit einem return eine ganze Zeile <div> ausgegeben, mit diesem Margin.
Soweit, so gut (oder auch nicht).
Das Problem: Das return wird nicht ausgeführt.
Ich habe zu Testzwecken die Funktion auf ein return "test"; beschränkt, was NICHT geht.
Ich habe diesen String "test" ein eine Variable $return ausgegeben, was AUCH nicht funktioniert.
Und hier ist mir das Rätsel.
Wenn ich's mit echo mache, geht es zwar, es verschiebt mir jedoch alles - ausserdem habe ich dann immer noch das Problem, dass eine bestimmte Variable ($this->web->category_id) nicht so recht angezeigt wird (die Funktion get_headnav() ist in der Klasse class.web.php, ebenso die get_navigation(); in zweiterer funktionieren return und die Ausgabe der genannten Variable wunderbar...)

Kann mir vll. irgendwer helfen? Ich weiss echt nicht mehr weiter. Hab die Funktion schon verschoben, so zB direkt in's index file, und direkt aufgerufen, geht auch nicht.

Hier noch code..

html-template
Code:

<div id="navigation">
  __HEADNAV__
</div> <!-- #navigation -->


index.php file
Code:

$attributes = array('[hier wäre noch mehr zeug]','__HEADNAV__');
$replace_with = array('[hier wäre noch mehr zeug]',$web->navigation->get_headnav());

$template = file_get_contents($web->settings->get_settings('global_absolute_path')."/templates/".$template_name."/index.htm"); //geht

$html_temp = str_replace($attributes, $replace_with, $template); //geht auch


class.navigation.php
Code:

function get_navigation($param = 0, $sort = '') {
return $this->web->category_id; // geht
[...tbc etc....]
}
function get_headnav(){
  echo "test"; // geht
  return "test"; // geht nicht
}   


Wäre wirklich ganz, ganz froh, wenn ich das irgendwie gerallt kriege.

lG
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
michael2105

Dabei seit: 26.04.2010
Ort: Köln
Alter: 47
Geschlecht: Männlich
Verfasst Sa 08.05.2010 18:38
Titel

Antworten mit Zitat Zum Seitenanfang

Code:

$foo = bar();

function bar() {
$test = "xxx";
return $test;
}

echo $foo;
[/code]

Gruß
Michael
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Kielo
Threadersteller

Dabei seit: 31.07.2009
Ort: -
Alter: -
Geschlecht: -
Verfasst So 09.05.2010 09:11
Titel

Antworten mit Zitat Zum Seitenanfang

Hey

Danke für die AW.

Leider geht das auch nur bedingt, weil ich ein Template habe, das mit Platzhaltern arbeitet; Diese werden dann über das index.php file mit einem Array ersetzt und (hier weiss ich nicht genau, wie) so an ihren jeweiligen Stellen in's Template gesetzt.
Ich müsste also das Echo in das Array einbinden, damit es am richtigen Ort ausgeführt wird.
Und das geht doch gar nicht... oder?

lG
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
michael2105

Dabei seit: 26.04.2010
Ort: Köln
Alter: 47
Geschlecht: Männlich
Verfasst So 09.05.2010 10:29
Titel

Antworten mit Zitat Zum Seitenanfang

Du kannst kein echo in ein array setzen, aber du kannst das, was du mit echo ausgeben würdest in das array "pushen" :

Code:

function gib_array_zurueck() {

$ar1 = array();
$string1 = "1234";
array_push( $ar1 , $string1);

$ar2 = array();
$string2 = "5678";
array_push( $ar2 , $string2);

return array( $ar1 , $ar2);
}

$template_array = gib_array_zurueck();

echo $template_array[0][0];  // ergibt 1234
echo $template_array[1][0];  // ergibt 5678



Ich hoffe das hilft weiter *zwinker*

Viele Grüße
Michael-jonas.com


Zuletzt bearbeitet von michael2105 am So 09.05.2010 10:31, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen XML - Return im Code
2 funktionen onSubmit mit return
PHP->return statt klicken im Formular
[PHP] function return, fehler [solved]
Erledigt! [PHP]Return stoppt Script
[FlashMX 2004] return-Anweisung verstanden?
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.