Falsche Ausgabe der Variablen oder Echo
Hallo Administratoren und erfahrene Programmierer,
Ich habe gerade ein sehr seltsames Problem:
ich möchte einfach einen String mit Variablen zurückgeben, der Source:
Ich bekomme als Ausgabe aber zurück:
Zur weiteren Fehlersuche: $suche ist hier auch "1"(ohne Anführungszeichen).
Seit einigen Stunden quälen mich die Fragen:
Wo ist der Nachname ? (Ist in diesem Fall auch ein Leerstring)
Und warum gibt er mir soviel zurück, was ich nicht geschrieben habe wie & ? Und warum steht vor suche kein & ?
Ich verstehe diese Rückgabewerte von PHP in diesem Fall überhaupt gar nicht, aber deswegen habe ich gerade große Probleme, kann mir hier jemand helfen ? Wäre sehr nett.
Mit freundlichen Grüßen,
fachinformatiker
Ich habe gerade ein sehr seltsames Problem:
ich möchte einfach einen String mit Variablen zurückgeben, der Source:
echo "<a href='$PHP_SELF?sort=n";
if (isset($who))
{echo "&who=$who";}
if (isset($suche))
{
echo"&suche='$suche'";
echo "&nachname='$nachname'";
echo"&Vorname='$Vorname'";
Ich bekomme als Ausgabe aber zurück:
<a href="/htmlneu/intranet/intern/kontakt.php?sort=n&who=p&suche=" 1="" &vorname=""
Zur weiteren Fehlersuche: $suche ist hier auch "1"(ohne Anführungszeichen).
Seit einigen Stunden quälen mich die Fragen:
Wo ist der Nachname ? (Ist in diesem Fall auch ein Leerstring)
Und warum gibt er mir soviel zurück, was ich nicht geschrieben habe wie & ? Und warum steht vor suche kein & ?
Ich verstehe diese Rückgabewerte von PHP in diesem Fall überhaupt gar nicht, aber deswegen habe ich gerade große Probleme, kann mir hier jemand helfen ? Wäre sehr nett.
Mit freundlichen Grüßen,
fachinformatiker
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 59547
Url: https://administrator.de/contentid/59547
Ausgedruckt am: 22.11.2024 um 05:11 Uhr
4 Kommentare
Neuester Kommentar
Ich kann zwar kein PHP, aber wenn man HTML kennt, weiß man, daß & das Kürzel für ein & (im englischen Ampersand genannt) ist.
Damit kann ich nur Schlußfolgern, daß PHP in HTML Syntax nicht erlaubte Zeichen umkodiert also & -> &
Soviel zum Verstehen. Jetzt darfst Du suchen, wie man PHP von der automatischen Umkodierung abbringt.
Damit kann ich nur Schlußfolgern, daß PHP in HTML Syntax nicht erlaubte Zeichen umkodiert also & -> &
Soviel zum Verstehen. Jetzt darfst Du suchen, wie man PHP von der automatischen Umkodierung abbringt.
Hallo fachinformatiker,
das Problem sind die einfachen Anführungszeichen. Diese Zeichen ( ' ) haben, wie die doppelten Anführungszeichen, eine besondere Bedeutung in PHP.
Indem man diese Zeichen mit einem Backslash escaped, verhindert man dieses Verhalten, der Code müsste also korrekt so aussehen:
Mit freundlichen Grüßen,
Pixelwarp
das Problem sind die einfachen Anführungszeichen. Diese Zeichen ( ' ) haben, wie die doppelten Anführungszeichen, eine besondere Bedeutung in PHP.
Indem man diese Zeichen mit einem Backslash escaped, verhindert man dieses Verhalten, der Code müsste also korrekt so aussehen:
echo "<a href=\'$PHP_SELF?sort=n";
if (isset($who))
{echo "&who=$who";}
if (isset($suche))
{
echo"&suche=\'$suche\'";
echo "&nachname=\'$nachname\'";
echo"&Vorname=\'$Vorname\'";
Mit freundlichen Grüßen,
Pixelwarp
Hallo.
Wenn du eine Variable an ein String anfügen willst so kannst du mit Punkten arbeiten.
Schau dir dazu mal folgenden Code an:
Gruß
Wenn du eine Variable an ein String anfügen willst so kannst du mit Punkten arbeiten.
Schau dir dazu mal folgenden Code an:
$who = "wer";
$suche = "1";
$nachname = "nm";
$Vorname = "vn";
echo "<a href=\"$PHP_SELF?sort=n";
if (isset($who))
{
echo "&who=".$who;
}
if (isset($suche))
{
echo "&suche=".$suche;
echo "&nachname=".$nachname;
echo "&Vorname=".$Vorname;
echo "\">Text</a>";
}
Gruß