Neue Variable like {name}

PhoenixDH

Erfahrenes Mitglied
Komme einfach nicht weiter, ich habe folgenden Quellcode in der PHP Datei:
Code:
    $ordner_rows = "";
    $ordner_res = $db_handler->sql_query("SELECT * FROM $sql_table[ordner] WHERE sordner_id='$ordner_id' ORDER BY name ASC");
    while($ordner_row = $db_handler->sql_fetch_array($ordner_res))
     {
      $subfiles = 0;
      $subdirs = 0;
      sub($ordner_row[ordner_id]);
      $ordner_row[files] = $subfiles;
      $ordner_row[subdirs] = $subdirs;
      $ordner_row[id] = $ordner_row[ordner_id];
      $ordner_row[name] = stripslashes($ordner_row[name]);
      $ordner_row[text] = stripslashes($ordner_row[text]);

      $ordner_rows .= replace($template[ordner_row], $ordner_row);
     }

    echo replace($template[ordner_box], $ordner_rows);

In den Templates werden die Variablen folgendermaßen verwendet:
Code:
{name}

ich bräuchte jetzt aber noch eine Varibale {name_hacked}, aber ich bekomme das einfach nicht hin, ich hab schon zusätzlich in der While-Schleife oben versucht:
Code:
      $ordner_row[name_hacked] = stripslashes($ordner_row[name]);

aber die ist immer leer, bzw steht an der Stelle an der ich sie einsetzen will immer nur {name_hacked} als Text !

Kann mir wer helfen ?
 
Zuletzt bearbeitet:
Kann mir wirklich keiner was zu dem Fall sagen ?
Ich habe schon alles versucht, aber ich bekomme es einfach net hin, das ich z.B. eine Variable wie
Code:
{test}
dann im Template mit Inhalt habe !
 
Ich verstehe leider nicht ganz dein Anliegen. Könntest du es bitte noch einmal etwas detaillierter beschreiben.
 
Ok:

Ich habe irgendwo in einem Script den Part:
Code:
    $ordner_rows = "";
    $ordner_res = $db_handler->sql_query("SELECT * FROM $sql_table[ordner] WHERE sordner_id='$ordner_id' ORDER BY name ASC");
    while($ordner_row = $db_handler->sql_fetch_array($ordner_res))
     {
      $subfiles = 0;
      $subdirs = 0;
      sub($ordner_row[ordner_id]);
      $ordner_row[files] = $subfiles;
      $ordner_row[subdirs] = $subdirs;
      $ordner_row[id] = $ordner_row[ordner_id];
      $ordner_row[name] = stripslashes($ordner_row[name]);
      $ordner_row[text] = stripslashes($ordner_row[text]);

      $ordner_rows .= replace($template[ordner_row], $ordner_row);
     }

    echo replace($template[ordner_box], $ordner_rows);

Irgendwie macht das Script Variablen in dieser Form:
Code:
{name}
So sind sie zumindest in den Templates verwendet, mir aber nicht bekannt, da noch nie vorher gesehen, kenne nur diese:
Code:
$name
Jetzt möchte ich aber noch eine zusätzliche Variable haben, die
Code:
{name_hacked}
heißen soll.

Jetzt meine Frage:
Wie bekomme ich diese Variable in den oberen Code, damit sie in den Templates mit
Code:
{name_hacked}
verfügbar ist ? Verstanden ?
 
Markierungen des Musters {Bezeichner} werden häufig als Platzhalter genutzt, sind jedoch kein Bestandteil PHPs.

Hier ein einfaches Beispiel:
PHP:
<?php

	$trans = array(
		'platzhalter-1' => 'Lorem',
		'platzhalter-2' => 'ipsum'
	);
	$template = '<p>{platzhalter-1} {platzhalter-2}</p>';

	foreach( $trans as $wildcard => $value ) {
		$template = str_replace('{'.$wildcard.'}', $value, $template);
	}
	echo $template;

?>
 
Ich weiß zwar nicht, wie die replace()-Funktion aufgebaut ist und welche Parameter sie benötigt, glaube jedoch, dass ein einfaches $ordner_row['name_hacked'] = 'Beispielwert'; funktionieren sollte.
 
Gumbo hat gesagt.:
Ich weiß zwar nicht, wie die replace()-Funktion aufgebaut ist und welche Parameter sie benötigt, glaube jedoch, dass ein einfaches $ordner_row['name_hacked'] = 'Beispielwert'; funktionieren sollte.

Hab ich versucht, ging net !
Dann werd ich mir mal die Funktion anschaun und mich nochmal melden !
 
Mein ftp ist Momentan down, deswegen geht das net !
Aber ich werde sie posten wenn ich wieder dran komme !

------------

Habs irgendwo im Netz gefunden:
Code:
function replace($temp, $table_row)
 {
  global $settings,$list,$template,$total;

  $temp = str_replace("{name}", $table_row[name], $temp);
  $temp = str_replace("{titel}", $table_row[titel], $temp);
  $temp = str_replace("{votes}", $table_row[votes], $temp);
  $temp = str_replace("{vote}", $table_row[vote], $temp);
  $temp = str_replace("{vote_form}", $table_row[vote_form], $temp);
  if(preg_match("/{size}/",$temp)) $temp = str_replace("{size}", size($table_row[size]), $temp);
  $temp = str_replace("{downloads}", $table_row[downloads], $temp);
  $temp = str_replace("{views}", $table_row[views], $temp);
  $temp = str_replace("{text}", nl2br($table_row[text]), $temp);
  $temp = str_replace("{screens}", $table_row[screens], $temp);
  if(preg_match("/{dlspeed}/",$temp)) $temp = str_replace("{dlspeed}", dlspeed($table_row[size]), $temp);
  if(preg_match("/{time}/",$temp)) $temp = str_replace("{time}", date($settings[date_format],$table_row[time]), $temp);
  if(preg_match("/{uploader}/",$temp)) $temp = str_replace("{uploader}", user($table_row[uploader]), $temp);
  $temp = str_replace("{id}", $table_row[id], $temp);
  $temp = str_replace("{autor}", $table_row[autor], $temp);
  if(preg_match("/{alt}/",$temp)) $temp = str_replace("{alt}", alt_switch(), $temp);
  $temp = str_replace("{alt_1}", $template[alt_1], $temp);
  $temp = str_replace("{alt_2}", $template[alt_2], $temp);
  $temp = str_replace("{footer_bg}", $template[footer_bg], $temp);
  $temp = str_replace("{header_bg}", $template[header_bg], $temp);
  $temp = str_replace("{table_border}", $template[table_border], $temp);
  $temp = str_replace("{script_file}", $settings[script_file], $temp);
  if(preg_match("/{rows}/",$temp)) $temp = str_replace("{count}", $total, $temp);
  else $temp = str_replace("{count}", $table_row[count], $temp);
  $temp = str_replace("{files}", $table_row[files], $temp);
  $temp = str_replace("{subdirs}", $table_row[subdirs], $temp);
  $temp = str_replace("{filename}", $table_row[filename], $temp);
  if(preg_match("/{traffic}/",$temp)) $temp = str_replace("{traffic}", size($table_row[traffic]), $temp);
  $temp = str_replace("{list}", $list, $temp);
  if(preg_match("/{rows}/",$temp)) $temp = str_replace("{rows}", $table_row, $temp);
  return $temp;
 }

Dann muss ich die neue Variable einfach hier noch einfügen oder ?
Dann in dem Code von oben und dann müsste es gehen oder ?
 
Zuletzt bearbeitet:
Zurück