Portal > Foren > PHP > PHP-Programmierung > String / Variable ausgeben
Antwort
 
Themen-Optionen
Alt 26.10.2005, 11:26 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 15
Standard String / Variable ausgeben

Hallo Forum,

vorweg: Hab keine passende Überschrift gefunden...

Suche wurde benutzt, jedoch nichts wirkliches gefunden.

Erstmal Code:
PHP-Code:
insert_form_value('$_GET');


function 
insert_form_value ($type ="SESSION") {
    
$source $type."[".$value."]";
    
var_dump($source); 

Ausgabe:
HTML-Code:
string(13) "$_GET[source]"
Zu meinem Problem: Ich habe den Variablenname als String vorliegen (siehe Ausgabe), jedoch brauche ich den Inhalt. Jemand ne Idee wie man das bewerkstelligen könnte? Ich habe gerade n Brett vor'm Kopf und fühl mich wie ein Anfänger

Mit "variablen Variablen" bin ich nicht weiter gekommen, hab das aber noch nicht ganz kapiert. WIrd also ein Fehler von mir sein.

Danke schon im vorraus
Greez
GroundZero

p.s.: Nein, die Funktion hab ich stark gekürzt, um euch Code zu sparen
GroundZero ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2005, 11:31 Nach oben    #2
Goldman.de
 
Benutzerbild von J33d3X
 
Registriert seit: 09.10.2005
Ort: Frankfurt am Main
Beiträge: 190
Standard

- $$
- extract
- aber das läuft dann alles ohne prüfung ..

mfg
J33d3X ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2005, 11:45 Nach oben    #3
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 15
Standard

wohin muss das $$? Hab mit dem schon rumprobiert, aber noch kein Erfolg gehabt. Irgendwo muss ich ein Denkfehler haben

Keine Angst, Überprüfung ist drin. Hab nur alles unnötige rausgeschmissen, weil es sonst zuviel zum lesen wäre....

Aber danke schonmal.
GroundZero ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2005, 13:13 Nach oben    #4
Goldman.de
 
Benutzerbild von J33d3X
 
Registriert seit: 09.10.2005
Ort: Frankfurt am Main
Beiträge: 190
Standard

Code:
$str = 'wert';

$$str = $str;

var_dump($wert);
J33d3X ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2005, 13:48 Nach oben    #5
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 15
Standard

Danke J33d3X, aber bei mir funktioniert es nicht.

Kompletter Code (zum testen
PHP-Code:
insert_form_value("source","",'$_GET');


function 
insert_form_value ($value$default='',$type ="$_SESSION") {
    
# $value = Templatevariable in Smarty-templates
        # default = unwichtig für diese Sache
        
$str $type."[".$value."]";

    $
$str $str;

    
var_dump($type."[".$value."]");

Ausgabe (aufruf: http://localhost/ggg.php?source=bla
HTML-Code:
string(13) "$_GET[source]"
Ich glaube, wir reden aneinander vorbei. Dann hol ich jetzt mal aus:

Ich arbeite mit Smarty zusammen. Um den Input-Feldern von Formularen einen "default"-value zuzuweisen, hab ich mir gedacht ich baue eine eigene Funktion um Code zu sparen. Zunächst brauchte ich das nur in Verbindung mit $_SESSION-Daten. Da jetzt aber so ein "default"-value auch per Link (also $_GET) kommen kann, wollte ich die Funktion umbauen, und die Art des Inputs per Parameter übergeben (sprich type = SESSION,GET,POST). Und genau hier häng ich. Ich brauche den Inhalt einer Variable die per GET,POST oder SESSION vorhanden ist. Den Namen hab ich ja, nur der Inhalt wird nicht angezeigt, und ich seh den Wald vor Bäumen nichtmehr.

Falls es dir/euch weiterhilft, hier die original-Funktion die mit $_SESSION funktioniert, und jetzt umgebaut werden muss dass $_GET oder $_POST auch funktioniert...

PHP-Code:
function insert_form_value ($value$default='') {
    global 
$template;

    if (isset(
$_SESSION[$value]) && !empty($_SESSION[$value])) {
        
$template->assign($value,$_SESSION[$value]);
        return 
1;
    } elseif (isset(
$_POST[$value]) && !empty($_POST[$value])) {
        
$template->assign($value,$_POST[$value]);
        return 
1;
    } else {
        
$template->assign($value,$default);
        return 
0;
    }

Ich hoffe es ist jetzt verstädnlicher, was ich vorhabe. Für alternative Ideen bin ich natürlich auch offen...

p.s.: normalerweise frage ich garnicht in einem Forum nach, sondern löse es selber. Auch mit einem schnipsel wär mir geholfen, da ich alles selber machen will um zu lernen. Aber diesesmal .....
GroundZero ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2005, 13:53 Nach oben    #6
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 15
Standard

ops, ich trau mich garnicht die Lösung zu sagen

Also, irgendwie, heute, diesmal, ......

Die Lösung hab ich doch schon selber gecodet (siehe die elseif-abfrage). Keine Ahnung was ich mir dabei gedacht habe, das mit dem Parameter zu übernehmen

Hier die Lösung für mein Problem:
PHP-Code:
function insert_form_value ($value$default='') {
    global 
$template;

    if (isset(
$_SESSION[$value]) && !empty($_SESSION[$value])) {
        
$template->assign($value,$_SESSION[$value]);
        return 
1;
    } elseif (isset(
$_POST[$value]) && !empty($_POST[$value])) {
        
$template->assign($value,$_POST[$value]);
        return 
1;
    } elseif (isset(
$_GET[$value]) && !empty($_GET[$value])) {
        
$template->assign($value,$_GET[$value]);
        return 
1;
    } else {
        
$template->assign($value,$default);
        return 
0;
    }

Wird nicht mehr vorkommen,das nächste mal besser 5 Minuten Pause machen
Trotzdem danke für die Hilfe
GroundZero ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2005, 13:53 Nach oben    #7
Goldman.de
 
Benutzerbild von J33d3X
 
Registriert seit: 09.10.2005
Ort: Frankfurt am Main
Beiträge: 190
Standard

Code:
insert_form_value("source","",'$_GET');


function insert_form_value ($value, $default='',$type ='$_SESSION') {
    # $value = Templatevariable in Smarty-templates
        # default = unwichtig für diese Sache
        $str = $type."[".$value."]";
        eval('$str="'.$str.'";');

    var_dump($str);
}
J33d3X ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2005, 17:17 Nach oben    #8
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 684
Standard

Wäre es nicht am einfachsten so zu lösen:

Zeile:

PHP-Code:
$source $type."[".$value."]"
ersetzen durch:

PHP-Code:
$source = ${$type}[$value]; 
Sollte klappen, oder? Habs aber nicht getestet.

BTW: Wo kommt $value her? Wird in deiner Funktion (1. post) nicht deklariert.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.10.2005, 13:48 Nach oben    #9
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 15
Standard

PHP-Code:
$source = ${$type}[$value]; 
Funktioniert auch nicht, aber danke. Habs ja jetzt schon gelöst, auch wenn es mehr Code dadurch wird...

Woher $value kommt? Wird normal deklariert, nur wurde das Opfer von meinen Kürzungsorgien, denn wenn zuviel Code dasteht, liest das keiner von euch durch....

Trotzdem nochmal danke
GroundZero ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.10.2005, 19:52 Nach oben    #10
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 684
Standard

Kleiner Tipp bei Kürzungen des Codes: Bau Kommentare ein, damit man nicht vermuten muss, dass davor irgendwo noch was passiert. Ich gehe immer davon aus, wenn da kein Kommentar steht, dass da auch nichts an Code ist, was weggeschnippelt wurde. Das ist in manchen Fällen eine Fehlerquelle, deswegen lieber immer hinschreiben, dass da was entfernt wurde.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem bei Verarbeitung von Templates (Eigene Klassen) dago PHP-Programmierung 21 31.08.2006 16:02
Symbolklassen festlegen anna Allgemeine Java-Programmierung 2 12.11.2005 11:30
Datei einlesen. cyberdevil87 Allgemeine Java-Programmierung 3 27.06.2005 09:22
Access Anbindung unter Linux mit Java ? kampet Datenbanken 5 25.04.2005 08:43
string in teilbereiche zerteilen!? Niki_Tesla Allgemeine Java-Programmierung 10 14.02.2005 09:11


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:20 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44