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

gelöst PHP - Globale Variable verändert sich selber

Mitglied: Dani

Dani (Level 5) - Jetzt verbinden

06.04.2006, aktualisiert 20:39 Uhr, 4625 Aufrufe, 4 Kommentare

Guten Morgen,

ich habe gerade einen Administrationsbereich kontrolliert. Dieser ist in PHP geschrieben. Soweit geht auch alles. Bloß bei der Benutzerverwaltung sah ich was außergewöhliches. Wir arbeiten hier mit globalen Variablen (betrifft nur Intranet!!).

Ich habe eine normale Seite. Dort habe ich einen Link.
01.
echo "<a href='modules.php?modul=test&user=$row->benutzer>TEST'</a>";
Der Benutzername wird vorher aus einer Tabelle (MySQL) herausgeholt. Der Benutzername ist gleich dem Windowslogonname(z.B. DOMÄNE\BENUTZERNAME ->sollte nur einen Backslash sein). Wenn ich nun den IE oder Firefox öffne und nur über den Link fahre, steht unten in der Statusleiste alles korrekt drinne:

01.
http://www.www.de/modules.php?modul=test&user=TEST\geht.nicht //<b>(hier auch nur 1 Backslash!!!)</b>
Klicke ich nun auf den Link, komme ich auf eine neue Seite. Dort gebe nur die Variable $user aus:
01.
echo $user;
Ergebnis:
01.
TEST\\geht.nicht //<b>Hier sind es 2 Backslashe!!</b>
Jetzt stellt sich bei mir die Frage, wo her der 2. Backslash kommt. Ich ändere ja nichts an der Variable. Kann mir von euch jemand sagen woher das kommt und wie das Problem beseitigen kann.



Gruß
Dani
Mitglied: Schrottie
06.04.2006 um 08:55 Uhr
in PHP wird der \ dafür sorgen das gesonderte Befehle ausgeführt werden aber auch um andere auserkraft zu setzten so bewirkt \$test das nicht der Inhalt von $test ausgegeben wird sonder der name $test. So musst du ja auch für " in einem echo-Satzt ja auch mit einem \ beginnen.

Worauf ich aber hinaus will ist, dass die verdopplung des \ als schutzfunktion gilt, da ja normalerweise das \ vor einem Sonderbefehl steht.

ICh hoffe man kein mein wirsches Zeug lesen. Ist halt noch früh *g*

Wie du das Problem jetzt lösen kannst weis ich nicht. Das einzige was mir spontaneinfält, was abernicht astrein ist, ändere das \ durch einanderes Sonderzeichen oder besser 2 und ersetzte sie auf der nächsten seite, vor dem weiterverarbeiten, durch ein \

Schrottie
Bitte warten ..
Mitglied: 25768
06.04.2006 um 13:26 Uhr
Hallo,

ja PHP escaped den \ durch einen weiteren \ . Danach gibt er jedoch alle 2 aus.
Aus dem Stegreif heraus, fällt mir gerade keine Lösung zum eigentlichen Problem ein.

Jedoch könntest du die PHP String Funktionen benutzen :
http://de2.php.net/manual/de/function.str-replace.php
also

str_replace("\\","\",$username);

Und danach eben ausgeben

Gruß
Andi
Bitte warten ..
Mitglied: Dani
06.04.2006 um 13:34 Uhr
Hi hier 2,
Des ist mir schon bewusst, dass es so dargestellt wird. Mit der str_replace Funktion habe ichs ai schon probiert. Aber irgendwie sind es immer mehr geworden -> Backslashes!!!

Ich habe es nun so gemacht, dass der Backslash durch §§ ersetzt werden. Danke @all.


Gruß
Dani
Bitte warten ..
Mitglied: Freak2k
06.04.2006 um 20:39 Uhr
das dürfte wohl etwas einfacher...

echo '<a href="modules.php?modul=test&user=',$row->benutzer,'">TEST</a>';
Bitte warten ..
Ähnliche Inhalte
Entwicklung
Label Software mit globaler Variable
Frage von amayerEntwicklung2 Kommentare

Hallo, ich bin auf der Suche nach einer Software, mit der ich Labels gestalten kann. Ansich nichts besonderes, Bild, ...

PHP

PHP - Variable in anderes PHP-Skript mitgeben

gelöst Frage von Jens4everPHP3 Kommentare

Hi zusammen, könnt ihr mir kurz helfen? Ich habe folgendes vor: Ich möchte, dass beim Aufruf von "check1.php" eine ...

Visual Studio

Richtiges Löschen globaler Variablen in VB.NET

gelöst Frage von MarcoBornVisual Studio10 Kommentare

Hallo Forum, ich habe ein Verständnisproblem, wie man Variablen richtig wieder löscht. Folgendes Beispiel. Ich habe ein Programm, das ...

JavaScript

Übergabe einer php-Variable an JS

Frage von Rabauke84JavaScript1 Kommentar

Hallo zusammen, ich hab eine Problem mit einer Übergabe einer Variable in php an JS. Dazu hab ich ein ...

Neue Wissensbeiträge
Multimedia & Zubehör
AVM Fritz USB WLAN Sticks schneller einschalten
Tipp von NetzwerkDude vor 50 MinutenMultimedia & Zubehör

Die AVM Fritz WLAN Sticks haben in der Firmware 2 Modis: Einmal als Massenspeicher und einmal als WLAN Netzwerkkarte ...

Windows Server

Windows Server Backup schlögt Fehl -Lösung 2008-2016

Tipp von BiGnoob vor 2 StundenWindows Server

Hi zusammen , ich möchte gerne einen Lösungstipp abgeben für folgenden fehler: lösung ist folgende:

Humor (lol)
Telekom vs. O2 - 3:2
Erfahrungsbericht von the-buccaneer vor 15 StundenHumor (lol)3 Kommentare

Unglaublich aber wahr: Nachdem mein privater Anschluss am 19.04.18 auf VOIP und VDSL umgestellt wurde, hatte ich seitdem 1,5 ...

Batch & Shell

Windows 10 Heimnetzgruppe abgeschaft. Ein Script für einfache Netzwerk - Freigabe im Heimnetzwerk

Anleitung von treehe vor 18 StundenBatch & Shell3 Kommentare

Anleitung für eine einfache Netzwerkfreigabe unter Windows 10 Wie weiter hab mal ein kleines CMD - Script gebastelt. Womit ...

Heiß diskutierte Inhalte
Netzwerke
IP-Adresse am zweiten Domänencontroller fest vergeben - Server verschwunden
Frage von DanielG1974Netzwerke18 Kommentare

Ich hab ein Problem, was ich bisher noch nicht erlebt habe Ich habe erfolgreich einen zweiten Server mit ActiveDirectory ...

Firewall
Sophos SG 125 nicht mehr erreichbar
Frage von GwaihirFirewall14 Kommentare

Hallo zusammen, ausgerechnet über die Feiertage stimmt etwas mit meiner Firmen-Firewall nicht. Es ist eine Sophos SG 125 und ...

Windows Tools
Virtueller Drucker gesucht (Schnittstelle: USB oder Seriell)
Frage von chrisButterflyWindows Tools14 Kommentare

Hi, ich suche einen virtuellen Drucker, den ich über eine USB oder serieller Schnittstelle ansprechen kann. Dieser Drucker soll ...

Windows Server
Windows Server 2012 - Update - Beim Booten bleibt der Server beim Windows Zeichen stehen
Frage von KeilbachWindows Server14 Kommentare

Hallo Zusammen, ich grüße euch, mein Name ist Michele. Ich bin hier ganz Neu - da ich einfach nicht ...