ugrás a tartalomhoz

Változóba írt változó értéke később módosuljon

Anonymous · 2006. Ápr. 9. (V), 15.19
Definiálok egy változót, amelyben a stringhez hozzáfűzöm a sessionben lévő felhasználónevet.
Az azonosítás csak ez után történik meg, ekkor kiíratom a változóban eltárolt üdvözlést, de a felhasználónév helye üres lesz, mert ugyan a session változó közben kapott értéket, de ezt már nem veszi figyelembe.
Hogy oldaható meg, hogy mégis így tegyen?
  1. //A session üres  
  2.   
  3. $welcome = 'Szia ' . $_SESSION[nick'] . '!';  
  4.   
  5. ...  
  6.   
  7. //Azonosítjuk, a session megkapja az értéket  
  8.   
  9. echo $_SESSION['nick']; // 'Vér Pisti'  
  10. echo $welcome// 'Szia !'  
Ha a $welcome-ban a session változó elé &-t teszek, akkor hibának jelzi ki.
 
1

próbáld függvénnyel talán

gnycz · 2006. Ápr. 9. (V), 15.32
function welcome( $name )
{
    echo 'Szia '.$name.'!';
}
//Azonosítjuk, a session megkapja az értéket
welcome( $_SESSION['nick'] );
2

mi a gond?

Gal Kristof · 2006. Ápr. 9. (V), 15.42
nem igazán értem, hogy mi a probléma... mért nem teszed a welcome = akármi részt az azonosítás után??
3

pl többnyelvű oldal

Anonymous · 2006. Ápr. 10. (H), 08.48
lehet, hogy a $welcome változót egy másik fájl állítja be, mert többnyelvű az oldal.
erre használhatod a php sprintf függvényét valahogy így:
  1. <?php  
  2. $welcome="Szia %s!";  
  3. //azonosítás után pedig:  
  4. echo sprintf($welcome,$_SESSION['nick']);  
  5. ?>  
az sprintf függvény pedig szépen belerakja a $_SESSION['nick'] értékét a $welcome változóba.

gex