Ich habe eine Website mit PHP und mit einer MySQL-Datenbank verbunden. Ich habe auch ein Admindashboard zur Kontrolle der Benutzer mit einigen Funktionen in PHP-Skript, das ich codiert habe.Browser URL Problem wegen Sonderzeichen wie "&"
<a href="../loginUser2.php?userName=<?php echo $SQLRow["userid"];?>" target="_blank" class="a">Records</a>
Dieser Code macht einen Login-URL-Link wie diese, wenn Sie fertig mit Benutzername
mydomain.com/loginUser2.php?userName=abc&xyz
In mysql aus Tabelle & xyz oder jeden Benutzer Benutzername abc nehmen. Alles ist in Ordnung, nur im Web-Browser, wenn ich für einen Benutzer auf den Link klicke, wird der Benutzer automatisch mit Hilfe von PHP eingeloggt. Aber wenn in irgendeinem Benutzernamen Symbol oder Sonderzeichen LIKE verwenden, habe ich Ausgabe in "&" Symbol. Wenn ich die URL mit mir selbst und im Web-Browser bearbeite, wenn ich manuell Link mit Ersetzen von & mit% 26 Link Arbeit und Benutzeranmeldung erfolgreich. Ich möchte nur, wenn jeder wie Benutzer in MySQL-Datenbank registriert ist mit jedem Sonderzeichen Symbol wie & oder etc so wie kann ich Web-Browser Arbeit automatisch behandeln diese Art von Symbolen und Zeichen.
Ich versuchte eine blöde Sache in phpMyAdmin Benutzernamen Spalte bearbeiten und Benutzernamen wie diese aktualisieren abc% 26xyz Ich dachte, wenn ich dann aktualisieren wird funktioniert wie & =% 26 aber ich bin scheitern.
Blick auf [ 'urlencode'] (http://php.net/manual/en/function.urlencode.php). – sjdaws
Unabhängig von der Frage, aber * "wenn ich für irgendeinen Benutzer auf den Link klicke, meldet sich der Benutzer automatisch mit Hilfe von PHP an" * schlägt eine schwerwiegende Sicherheitslücke vor, es sei denn, der nachfolgende Code verifiziert, dass der "admin user" tatsächlich berechtigt ist, sich einzuloggen Benutzer ... aber in dieser Anwendung scheint die Weitergabe des Benutzernamens eine schlechte Design-Wahl zu sein - Ihre Benutzer haben vermutlich einen ganzzahligen ID-Primärschlüssel, und das wäre die vernünftigere Sache, die es zu bestehen gilt. –