expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'
bär
- php
0 Sven Rautenberg0 bär0 Simone HAack0 Thomas Schmieder0 bär
0 Thomas Schmieder0 bär
Guten Tag
ich hab eine ziemlich lange variable geschrieben
die so aussah:
$permission = "<?php blablabla...bla ?>"(mit insgesammt ungefähr 41 Zeichen.
Und als ich sie dann in meine Funktion eingebunden hatte und die Datei aufrief kam expecting T\_STRING' or
T_VARIABLE' or `T_NUM_STRING'!
Wie kann ich dem Server klarmachen dass das gemeinte Objekt eine Variable ist und nicht ein String oder etc.?
danke im vorraus
mfg der bär
Moin!
$permission = "<?php blablabla...bla ?>"(mit insgesammt ungefähr 41 Zeichen.
Und als ich sie dann in meine Funktion eingebunden hatte und die Datei aufrief kam expectingT\_STRING' or
T_VARIABLE' or `T_NUM_STRING'!
Wie hast du sie eingebunden? Und was genau steht in der Variablen drin?
Wie kann ich dem Server klarmachen dass das gemeinte Objekt eine Variable ist und nicht ein String oder etc.?
Wir brauchen mehr Details!
- Sven Rautenberg
Also noch mal Moin
die Variable sah so aus:
$permission = "<?php
if ($_SERVER["HTTP_REFERER"] == "http://localhost/login/data.php") { }
else {
header("Location:index.htm");
exit;
}
?>"
Hi, warum ist da / ein <?php ?
$permission = "<?php
Gruss Simone
Hallo,
Also noch mal Moin
die Variable sah so aus:
$permission = "<?php
Was soll denn in $permission drinstehen? Es hat meines Erchtens nach keinen Sinn, dor "<?php ... ?>" reinzuschreiben, da man es nie wieder nutzen könnte. Denn wenn man später im HTML-Teil z.B. stehen hat
<input type="text" value="$permission" ...
--------------
dann würde das gar nicht interpretiert werden, da ja erst wieder die PHP-Einleitungssequenz notwendig wäre, um $permission übrhaupt vom PHP-Interpreter ersetzen lassen zu können.
Hattest Du sowas vor?
if ($_SERVER["HTTP_REFERER"] == "http://localhost/login/data.php") { }
else {
header("Location: index.htm");
da fehlte ein Leerzeichen.
exit;
}
?>"
Schreib mal, was Du vorhast, dann kann man Dir besser helfen.
Liebe Grüße aus http://www.braunschweig.de
Tom
hi
also dies ist der genaue quelltext:
$permission = "<?php if
($_SERVER["HTTP_REFERER"] == "http://localhost/login/data.php") { } else { header("Location:index.htm");
exit;
}
?>"
und es liegt definitv an $_SERVER["HTTP_REFERER"] dass es nicht funzt.(hab ich ausprobiert) :-)
wie muss es denn heißen damit es funzt?
der bär
Hallo,
nochmal gefragt: in welcher Sprache wird das ganze denn geschrieben, wenn die Variable $permission (ich nehm mal an, das ist eine) den Wert "<?php ... "
zugewiesen bekommt?
Versuchs mal so. Da ich aber nicht weiß, wo Du das einbaust und was $permission für eine Bedeutung hat, konnte ich nur raten.
<?php
//....
$permission = false;
if ($_SERVER["HTTP_REFERER"] == "http://localhost/login/data.php")
{
$permission = true;
}
else
{
header("Location:index.htm");
exit;
}
//....
?>
Liebe Grüße aus http://www.braunschweig.de
Tom
Na dann nochmal Hallo
also
es geht darum die Defintition der Variablen $permission
in ein zuvor erstelltes php File zu schreiben.
das hab ich mir so vorgestellt:
<?
$permission = "<?php if
(§_SERVER["HTTP_REFERER"] == "http://localhost/login/data.php") { } else { header("Location:index.htm");
exit;
}
?>";
$dat = fopen("$datei", "w");
fputs($dat, $permission);
?>
Und warum es an §_SERVER["HTTP_REFERER"] liegt ist auch zu beantworten, denn wenn man den wert in Zeile 4 schreibt steht in der Fehlermeldung: Fehler in Zeile 4! und das gleiche gilt auch für Zeile 5.
Ok,
das dachte ich mir ja schon.
Ich will mal nicht länger nach dem Sinn fragen. Den String, den Du haben willst, den schreibt man so:
<?
$permission =
"<?php
if($_SERVER["HTTP_REFERER"] == "http://localhost/login/data.php")
{
}
else { header("Location:index.htm");\n
{
exit;
}?
";
echo "<pre>";
echo htmlspecialchars($permission);
echo "</pre>";
?>;
Ich hoffe, ich habe nichts vergessen.
Liebe Grüße aus http://www.braunschweig.de
Tom
Moin!
hi
also dies ist der genaue quelltext:
Und wo kommt der her? Was soll der machen? Er ergibt in meinen Augen nämlich keinen Sinn, einer Stringvariablen PHP-Code zuzuweisen.
$permission = "<?php if
($_SERVER["HTTP_REFERER"] == "http://localhost/login/data.php") { } else { header("Location:index.htm");
exit;
}
?>"
und es liegt definitv an $_SERVER["HTTP_REFERER"] dass es nicht funzt.(hab ich ausprobiert) :-)
Glaubst du - ich nicht. Aber das wirst du schon herausfinden. In der Tat ist die Einbindung von $_SERVER["HTTP_REFERER"] hier nicht ideal.
Was willst du? Den Inhalt dieser Variablen? Dann umschließe den Variablennamen mit geschweiften Klammern, und sorge insbesonder dafür, dass innerhalb der eckigen Klammern keine doppelten Anführungsstriche vorkommen! Einfache reichen aus, ansonsten ist der String an dieser Stelle bereits wieder beendet.
Wenn du den eigentlichen Text $_SERVER... haben willst, solltest du das $-Zeichen escapen - die Notwendigkeit, die Anführungszeichen zu entschärfen (wahlweise durch Escapen oder tauschen in einfache Anführungszeichen) bleibt dennoch bestehen.
- Sven Rautenberg
Hallo,
diese Fehlermeldung kommt in der Regel bei unerlaubter Mehrfachreferenz in einem Stringausdruck, also nicht separierten Array-Variablen.
Die musst Du dann mit Textkontatinatoren (.) aussparen.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi
kannst du mir vielleicht schreiben wie das genau aussieh weil ich mir nicht richtig etwas unter deinen "Textkontatinatoren" :-) vorstellen kann. Wäre sehr nett.
mfg der bär