Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Falsche Ausgabe der Variablen oder Echo

Frage Entwicklung PHP

Mitglied: fachinformatiker

fachinformatiker (Level 1) - Jetzt verbinden

22.05.2007, aktualisiert 04.06.2007, 3714 Aufrufe, 4 Kommentare

Hallo Administratoren und erfahrene Programmierer,
Ich habe gerade ein sehr seltsames Problem:

ich möchte einfach einen String mit Variablen zurückgeben, der Source:
01.
echo "<a href='$PHP_SELF?sort=n"
02.
if (isset($who)) 
03.
{echo "&who=$who";} 
04.
if (isset($suche)) 
05.
06.
echo"&suche='$suche'"
07.
echo "&nachname='$nachname'"
08.
echo"&Vorname='$Vorname'";
Ich bekomme als Ausgabe aber zurück:
01.
<a href="/htmlneu/intranet/intern/kontakt.php?sort=n&amp;who=p&amp;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 &amp; ? 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
Mitglied: AndreasHoster
22.05.2007 um 16:32 Uhr
Ich kann zwar kein PHP, aber wenn man HTML kennt, weiß man, daß &amp; 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 & -> &amp;
Soviel zum Verstehen. Jetzt darfst Du suchen, wie man PHP von der automatischen Umkodierung abbringt.
Bitte warten ..
Mitglied: 48482
22.05.2007 um 21:30 Uhr
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:

01.
echo "<a href=\'$PHP_SELF?sort=n"
02.
if (isset($who)) 
03.
{echo "&who=$who";} 
04.
if (isset($suche)) 
05.
06.
echo"&suche=\'$suche\'"
07.
echo "&nachname=\'$nachname\'"
08.
echo"&Vorname=\'$Vorname\'";
Mit freundlichen Grüßen,
Pixelwarp
Bitte warten ..
Mitglied: fachinformatiker
23.05.2007 um 11:55 Uhr
Also der neue Quelltext:
<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\'";
</source>
Die neue Ausgabe:
<schnipp>
<a href="%5C%27/htmlneu/intranet/intern/kontakt.phpsort=n&amp;who=p&amp;suche=%5C%271%5C%27&amp;nachname=%5C%27%5C%27&amp;Vorname=%5C%27%5C%27&amp;
</schipp>
Die Gleichheitszeichen an den falschen Stellen sind weg, aber &amp; steht immernoch da und er scheind die ' und die \ mitsamt den Variableninhalten in einen Hexcode zu übersetzen. Das ist nicht das, was ich wollte.

Trotzdem Danke schonmal für die Hilfen an AndresHoster und Pixelwarp.


Wenn ich die ' wegmache, kommt übrigens in der Ausgabe auch das &amp; was gegen das Konvertieren meines eingegebenen Textes spricht. Aber so ist dann ansonsten die Ausgabe ganz OK (falls keiner die Variablen in der URL editiert...)

Ich finde das SEHR merkwürdig !

Hat noch jemand eine Idee ?
Bitte warten ..
Mitglied: ITApolda
04.06.2007 um 11:01 Uhr
Hallo.

Wenn du eine Variable an ein String anfügen willst so kannst du mit Punkten arbeiten.
Schau dir dazu mal folgenden Code an:

01.
$who = "wer"
02.
$suche = "1"
03.
$nachname = "nm"
04.
$Vorname = "vn"
05.
echo "<a href=\"$PHP_SELF?sort=n"
06.
if (isset($who)) 
07.
08.
	echo "&amp;who=".$who
09.
10.
if (isset($suche)) 
11.
12.
echo "&amp;suche=".$suche
13.
echo "&amp;nachname=".$nachname
14.
echo "&amp;Vorname=".$Vorname
15.
echo "\">Text</a>"
16.
}
Gruß
Bitte warten ..
Ähnliche Inhalte
Linux Tools
Mit echo eine Ausgabe einer Variable ändern.
gelöst Frage von rsadmchefLinux Tools2 Kommentare

Hallo Team, ich habe am Linux Terminal folgendes Konstrukt vor: num="11000" echo $num 11000 Es soll aber 1 1 ...

Batch & Shell
Echo Ausgabe bei unzulässiger Netzwerkadresse
gelöst Frage von 13Stift37Batch & Shell4 Kommentare

Hallöchen :) Ich habe in meinem Batch einen befehl eingebaut welcher auf die Registry mehrer PC's zugreift und etwas ...

Batch & Shell
Echo Ausgabe ohne Variablenauflösung
gelöst Frage von bartek76Batch & Shell9 Kommentare

Hallo Gemeinde, habe eine simple Frage, auf die ich aber bis jetzt keine Antwort fand. Möchte per Batch den ...

Batch & Shell
BATCHDATEI - Variable unter "echo" nicht angezeigt
gelöst Frage von TobiBotBatch & Shell4 Kommentare

Hey, ich bin neu hier und habe gleich mal eine Frage: Ich bin Batch-Neuling und arbeite gerade an einem ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 4 StundenViren und Trojaner

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 8 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware7 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...