Variable in der Variable
AbBa
- php
Hallo :D
*Alle wege führen zu Selfhtml*
Hab hier ein Code:
----------
$pull ="checkuser.php";
$ptxt ="
else if ($cuthema == ".$thema."){
unlink($datei);
header(Location: edittext.html);
}";
$dis = fopen ($pull, "a+");
fwrite($dis, $ptxt);
fclose($dis);
-----------
Was dann in checkuser.php steht ist folgendes:
-----------
else if ( == Bsp){
unlink();
header(Location: edittext.html);
}
-----------
Die Variablen sind verschwunden, obwohl ich sie genau da haben wollte..
Wäre hammer wenn jemand diesen fehler findet.
Danke im voraus!:D
Hallo!
Die Variablen sind verschwunden, obwohl ich sie genau da haben wollte..
Nö, die sind nicht verschwunden.
Wäre hammer wenn jemand diesen fehler findet.
Der Fehler sind die Gänsefüßchen. Wenn Variablen in Gänsefüßchen ("$var") stehen so werden sie interpretiert, soll heißen, dass der Wert eingetragen wird.
Was du suchst sind einfache Anführungszeichen ('$var').
ich meine aber nicht $thema sondern eher $cuthema...
Die steht nicht in Gänsefüßchen.
Also an der Mosel mach ich mal kein Urlaub :D
umgedreht ... $thema steht in anführungsstrichen, $cuthema nicht.
ich meine aber nicht $thema sondern eher $cuthema...
Die steht nicht in Gänsefüßchen.
umgedreht ... $thema steht in anführungsstrichen, $cuthema nicht.
Nein, umgekehrt.
$ptxt = " // anfang gf
else if ($cuthema == ".$thema."){ // ende gf und wieder anfang gf
unlink($datei);
header(Location: edittext.html);
}"; // ende gf
Was lernen wir daraus?
$cuthema und $datei stehen in Gänsefüßchen und werden deshalb interpretiert.
$thema steht weder in Gänsefüßchen noch in einfachen Anführungszeichen und wird deshalb sowieso interpretiert.
Mach aus deinen Gänsefüßchen einfache Anführungszeichen und die Sache hat sich.
Mach aus deinen Gänsefüßchen einfache Anführungszeichen und die...
Sache hat sich nicht!
syntax error, unexpected T_IS_EQUAL
und die Variablen werden immer noch nicht angezeigt...
ich habe jetzt stehen:
------
$pull ="checkuser.php";
$ptxt ="
else if ($cuthema =='.$thema.'){
unlink($datei);
header('Location: edittext.html');
}";
$dis = fopen ($pull, "a+");
fwrite($dis, $ptxt);
fclose($dis);
------
Am ende bleibt als Test stehen:
-----
else if ( =='.ABCD.'){
unlink();
header('Location: edittext.html');
}
-----
Abc ist der Name...
Hey ich habs weiter geschafft!
Jetzt klappt nur noch das Header nicht weil ich diese
Zeichen wegmachen musste...
Kennt da auch jemand ne Lösung?
Hello,
Kennt da auch jemand ne Lösung?
ja, bitte befasse dich eingehend mit escaping, das ist bei solchen Konstruktionen mehr als überfällig.
MfG
Rouven
Danke! ICH HABS RAUS!
Danke!TAUSEND DANK!(leicht übertreben)
schöne grüße von der Mosel :D -AbBa
Tach,
Sache hat sich nicht!
$ptxt ="
else if ($cuthema =='.$thema.'){
unlink($datei);
header('Location: edittext.html');
}";
was sind das für Anführungszeichen in der ersten und letzten Zeile, und welche wolltest du verwenden?
mfg
Woodfighter
Hallo
$pull ="checkuser.php";
$ptxt ="
else if ($cuthema =='.$thema.'){
unlink($datei);
header('Location: edittext.html');
}";Am ende bleibt als Test stehen:
else if ( =='.ABCD.'){
unlink();
header('Location: edittext.html');
}
Benutze zur Einleitung, Unterbrechung und am Ende des Strings die gleichen Anführungszeichen (" oder ') und befolge die damit verbundenen Regeln.
Benutzt du " ([Shift+2]), werden im String notierte Variablen, wie von Snafu mehrfach angemerkt, interpretiert. Sind sie leer, kommt dann z.B. das raus: unlink();
. Wenn die Namen im String dargestellt werden sollen, muss das Dollarzeichen mit einem Backslash maskiert werden.
Ansonsten benutze durchgängig ' ([Shift+#]), dabei werden Variablen _nicht_ interpretiert sondern ihre Namen im String dargestellt. Aber auch das wurde hier schon angesprochen.
Tschö, Auge
Hi,
ohne mich jetzt groß zu dem Sinn dieses Code's zu äußern..
PHP interpretiert auch Variablen wenn sie in doppelten Anführungstrichen stehen. Probier es mal mit einfachen Anführungszeichen (') oder escape das doller mit einem Slash ($).
Viele Grüße,
cg
Hallo :D
*Alle wege führen zu Selfhtml*Hab hier ein Code:
$pull ="checkuser.php";
$ptxt ="
else if ($cuthema == ".$thema."){
unlink($datei);
header(Location: edittext.html);
}";$dis = fopen ($pull, "a+");
fwrite($dis, $ptxt);
fclose($dis);Was dann in checkuser.php steht ist folgendes:
else if ( == Bsp){
unlink();
header(Location: edittext.html);
}Die Variablen sind verschwunden, obwohl ich sie genau da haben wollte..
Wäre hammer wenn jemand diesen fehler findet.
Danke im voraus!:D