| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

26-11-2009, 16:34
|
|
KoopaOne
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 7
|
|
Warum wird aus "&part=" ein "∂=" ?
Ich habe ein total verrücktes Problem:
Ich setze einen String zusammen:
PHP-Code:
$seite="detail.php?lang=" . $the_language . "&mid=" . $row[6] . "&part=" . $part . "&tvshow=" . urlencode($row[$row_searchfield]) . "&id=" . $row[0];
Herauskommen tut:
detail.php?lang=de&mid=∂=p&tvshow=&id=
lol, ich kann dieses Zeichen nichtmal darstellen "∂", d.h. er macht aus "&part="--> "∂="
Habe diese Codezeile in zig Seiten, alle sind als UTF-8 abgespeichert ...
Auf einer anderen Seite habe ich so eine ähnliche Zeile:
PHP-Code:
if ($iLauf>$anzahl_items) echo "<a href='detail.php?lang=" . $_GET['lang'] . "&id=" . $news['id'] . "&mid=" . $news['mid'] . "&tvshow=" . $news[$order] . "&part=" . $part . "'>" . $news[$order] . "</a> (<i>" . $news[$order2] . "</i>)<br>\n";
die aber einwandfrei funktioniert. Der Header ist bei beiden Dateien identisch, da über eine Funktion eingebunden ...
|

26-11-2009, 16:36
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Jag mal deinen HTML-Code durch den W3C-Validator, dann wirst du feststellen, dass er über deine & meckert. Ein kaufmännisches Und wird in HTML nämlich als & geschrieben.
Falsch:
HTML-Code:
<a href="script.php?foo=1&bar=2">click</a>
Richtig:
HTML-Code:
<a href="script.php?foo=1&bar=2">click</a>
|

26-11-2009, 16:41
|
|
KoopaOne
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 7
|
|
Das erklärt aber nicht wirklich, warum es auf allen Seiten funktioniert, nur auf dieser einen nicht, bzw. warum es mit allen anderen Begriffen, wie "&id", "&mid" etc. funktioniert.
Außerdem setze ich so eine URL zusammen, ersetze ich da durch das "&", erkennt das Script die Variable "part" nicht mehr ...
|

26-11-2009, 16:47
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Zitat:
Zitat von KoopaOne
Das erklärt aber nicht wirklich, warum es auf allen Seiten funktioniert, nur auf dieser einen nicht, bzw. warum es mit allen anderen Begriffen, wie "&id", "&mid" etc. funktioniert.
|
Weil die Browser so gnädig sind und diese Fehler ignorieren. Anscheinend nicht immer.
Zitat:
Zitat von KoopaOne
Außerdem setze ich so eine URL zusammen, ersetze ich da durch das "&", erkennt das Script die Variable "part" nicht mehr ...
|
Glaub ich dir nicht:
PHP-Code:
<pre><?php print_r($_GET); ?></pre> <a href="<?php echo basename(__FILE__); ?>?foo=1&bar=2&part=3">click me</a>
|

26-11-2009, 16:51
|
|
KoopaOne
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 7
|
|
Ok, ich verstehe es trotzdem nicht. Weil, wenn ich
PHP-Code:
$seite="detail.php?lang=" . $the_language . "&mid=" . $row[6] . "&part=" . $part . "&tvshow=" . urlencode($row[$row_searchfield]) . "&id=" . $row[0];
echo $seite . "<br>";
mache, kommt derselbe blödsinn raus:
detail.php?lang=de&mid=0455275∂=p&tvshow=&id=332
|

26-11-2009, 16:55
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Du sollst & statt & schreiben!!!
|

26-11-2009, 17:00
|
|
KoopaOne
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 7
|
|
Ich habe jetzt einfach die variable "part" durch "category" ersetzt.
Würde mich trotzdem interessieren, warum das auf demselben Webserver, mit demselben Browser einmal funktioniert und einmal nicht ...
Danke trotzdem!
P.S.: Anscheinend interpretiert er "&part" als "∂" was diesem komischen Zeichen entspricht ...
|

26-11-2009, 17:04
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Nochmals: & alleine ist falsch. F-A-L-S-C-H. Schreib &!!!!!
Meine Güte, wie kann man nur so lernresistent sein?
Du willst mit Gewalt dein falsches HTML durchsetzen, oder wie?
|

26-11-2009, 17:04
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von KoopaOne
Anscheinend interpretiert er "&part" als "∂" was diesem komischen Zeichen entspricht ...
|
Natürlich tut er das, er interpretiert ja auch "&category" nur deswegen als "&category", weil es zufällig keine Entität "category" gibt und er versucht, aus deinem ungültigen Quellcode noch was brauchbares zu machen.
Dein Durchhaltevermögen, alle Hinweise zu ignorieren, die den Fehler beheben, ist bemerkenswert
|

26-11-2009, 17:12
|
|
KoopaOne
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 7
|
|
Sorry, wenn ich lernresisten daherkomme, aber das bin ich beim besten Willen nicht.
Natürlich habe ich das versucht, wenn ich
PHP-Code:
$seite="detail.php?lang=" . $the_language . "&mid=" . $row[6] . "&p=" . $part . "&tvshow=" . urlencode($row[$row_searchfield]) . "&id=" . $row[0];
mache und danach:
PHP-Code:
echo "<a href='" . $seite . "'>Forward</a>";
funktioniert das einwandfrei. Aber ich gebe $seite an ein Forward-Script weiter, wo es dann eben nicht funktioniert.
PHP-Code:
function forward($seite)
{
echo "<script language='javascript' type='text/javascript'>\n";
echo "<!-- // JavaScript-Bereich für ältere Browser auskommentieren\n";
echo "window.location.href = '" . $seite . "'\n";
echo "// -->\n";
echo "</script>\n";
}
Nochmals Entschuldigung, falls ich "dumm" daherkomme ....
|

26-11-2009, 17:15
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Dann musst du $seite so lassen wie es vorher war und im Link nicht als $seite sondern als htmlspecialchars($seite) einfügen und an das Forwardscript unverändert als $seite übergeben.
|

26-11-2009, 17:18
|
|
KoopaOne
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 7
|
|
Zitat:
Zitat von AmicaNoctis
Dann musst du $seite so lassen wie es vorher war und im Link nicht als $seite sondern als htmlspecialchars($seite) einfügen und an das Forwardscript unverändert als $seite übergeben.
|
Konnte ich ja nicht, weil er "&part=" als "∂=" interpretiert hat!
|

26-11-2009, 17:21
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Deswegen ja auch htmlspecialchars. Lies es doch mal bitte komplett und wenn du es nicht verstanden haben solltest, probier's einfach aus.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|