Input Field Text History
cyrusmendi
- html
0 Der Martin
0 cyrusmendi0 fastix®0 bleicher
Hey!
Kurze Frage:
Hat jemand eine Ahnung ob bzw. wie man die browserinterne History für input Felder ausschalten / umgehen kann?
Hintergrund:
Ich hab ein Ajax Script, was den User bei der Suche unterstützt. Nun ist leider das Problem, dass sich die History im Design über das Ajax div legt (was natürlich nicht so besonders gut aussieht).
Hallo,
Hat jemand eine Ahnung ob bzw. wie man die browserinterne History für input Felder ausschalten / umgehen kann?
ja: Kann man nicht.
Wie du schon treffend bemerkt hast, ist das eine *browserinterne* Funktion, auf die die angezeigte Webseite keinen Zugriff hat.
So long,
Martin
Hey Martin,
wer suchet, der findet :-)
Und zwar heißt der Tag fürs input field
autocomplete="off"
und ich habs erfolgreich getestet ;-)
Danke trotzdem :-)
André
Moin!
autocomplete="off"
und ich habs erfolgreich getestet ;-)
Ja. Es geht mit vielen User-Agenten. Ist aber meine Wissens nicht normiert und deshalb in der Funktion nicht garantiert. Die "harte" Methode aus meinem Beispiel hingegen...
Siehe: http://www.w3.org/TR/html4/interact/forms.html#h-17.4
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hi,
Die "harte" Methode aus meinem Beispiel hingegen...
... ebenfalls nicht. =:->
Nicht alle SERVER-Variablen sind auf allen Servern auch wirklich verfügbar. "Deine" existiert z.B. nur auf Apache-Servern, die das Modul mod_unique_id eingebunden haben.
Es empfiehlt sich von daher, einfach mit PHP selbst einen Zufallswert zu generieren - z.B. mit, ähm, der Funktion uniqid(). ;-)
Gruß, Cybaer
Moin!
Es empfiehlt sich von daher, einfach mit PHP selbst einen Zufallswert zu generieren - z.B. mit, ähm, der Funktion uniqid(). ;-)
Du hast Recht. War schnell und schmutzig. Geht besser:
Beispielcode in PHP:
<?php $strFeldName = uniqid(rand(), true); ?>
<form...method="post">
<input type="text" name="<?php print $strFeldName; ?>">
<input type="hidden" name="feldname" value="<?php print $strFeldName; ?>">
...
</form>
Auswertung wie in https://forum.selfhtml.org/?t=164112&m=1069174
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hi,
War schnell ...
Wenn man sich schon fastix nennt ... :)
Gruß, Cybaer
Hi,
War schnell ...
Wenn man sich schon fastix nennt ... :)
Was hat beinahix mit schnell zu tun? ;-)
cu,
Andreas
Hi,
War schnell ...
Wenn man sich schon fastix nennt ... :)Was hat beinahix mit schnell zu tun? ;-)
OK, nach dieser Deutung paßt "schnell & schmutzig" ja doch wie die Faust aufs Auge. ;-)
Gruß, Cybaer
Hi,
Du hast Recht. War schnell und schmutzig. Geht besser:
BTW: Ich verwende prinzipiell 2 Verfahren, um mir bei Formularen das Leben leichter zu machen (also z.B. um Doppelversand zu verhindern, Spammern das Leben schwer zu machen, ...). Immer wird dabei eine ID (MD5-Hash) mitgegeben - entweder (mit anderen Daten und verschlüsselt) als HIDDEN INPUT, oder angehängt an einen (oder alle) Feldnamen. Die Funktion, mit der ich die Request-Daten ohnehin auslese (schon wg. den eventuelen Magic Quotes), macht dann alles automatisch (also z.B. ggf. die ID vom Namen abtrennen, Datenintegrität prüfen, ...). D.h., ein Feldname für das hier beschriebene Szenario lautet bei mir "email***" (wobei "***" für den MD5-Hash steht), darauf zugreifen tue ich aber (über die Funktion) normal mit "email".
Gruß, Cybaer
Moin!
Hat jemand eine Ahnung ob bzw. wie man die browserinterne History für input Felder ausschalten / umgehen kann?
ja: Kann man nicht.
Geht wohl. Zum einen kann man dem Input einen zufälligen und sich selten wiederholenden Namen geben, der dann in einem zweiten Input-Feld steht. Bei der Auswertung muss halt erst gefragt werden wie das richtige Feld denn heißt.
Beispielcode in PHP:
<form...method="post">
<input type="text" name="<?php print $_SERVER['UNIQUE_ID']; ?>">
<input type="hidden" name="feldname" value="<?php print $_SERVER['UNIQUE_ID']; ?>">
...
</form>
---------
Auswertung im Zielskript:
<?php
if (get_magic_quotes_gpc) {
$wert=stripslashes($_POST[$_POST['feldname']]);
} else {
$wert=$_POST[$_POST['feldname']];
}
?>
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
P.S. Was sagt die Gemeinde zu meinem "Dreizeiler" von Kurz-Url-Dienst (http://fastix.org/kurz_url/)
Auch ne sehr geile Idee. Passt dann auch in allen Browsern ;-)
P.S. Was sagt die Gemeinde zu meinem "Dreizeiler" von Kurz-Url-Dienst (http://fastix.org/kurz_url/)
Sehr brauchbar für die, welche wenig Zeit zum umsetzen auf dem eigenen Server haben!!! :-)
Beispielcode in PHP:
<form...method="post">
<input type="text" name="<?php print $_SERVER['UNIQUE_ID']; ?>">
<input type="hidden" name="feldname" value="<?php print $_SERVER['UNIQUE_ID']; ?>">
...
</form>
> Auswertung im Zielskript:
> ~~~php
> <?php
> if (get_magic_quotes_gpc) {
> $wert=stripslashes($_POST[$_POST['feldname']]);
> } else {
> $wert=$_POST[$_POST['feldname']];
> }
> ?>
>
Grüße,
ja: Kann man nicht.
Wie du schon treffend bemerkt hast, ist das eine *browserinterne* Funktion, auf die die angezeigte Webseite keinen Zugriff hat.
was ist wenn er inputfield "fälscht" also einfach nur tastatureingaben abfängt und dann per JS in ein div füttert der per css an "inputfield" maskiert wird? geht das überhaupt ^^?
MFG
bleicher