[PHP]Guestbook - Code abfrage; Textfeld nur Zahlen?; Wenn Text "xyz" kein post?
hallihallo!
ein paar kurze fragen bezgl eines von mir erstelltn Guestbooks:
1. ich möchte dass man nur noch posten kann wenn man vor dem senden einen 4stelligen zahlencode eingibt. wie schaff ich es eine warnung auszugeben, wenn der inhalt des textfeldes NICHT die zahlenkombination ist?
2. kann man ein textfeld erstellen wo man nur zahlen eingeben kann?
3. neuerdings hat ein Spambot den tollen trick dass er mir eine java weiterleitung ins kommentarfeld schreibt. sobald also die textfile mit dem inhalt geladen wird, wird mein besucher sofort wo anders hingeleitet.
wie kann ich überprüfen lassen ob im text des textfeldes "kommentar" wörter bzw. zeichen enthalten sind?
thx!
p.s.
hier mein script:
--
The problem with America is stupidity.
I'm not saying there should be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself?
----
Arguing with the moderators is like shaking your fist at God. There's nobody there; and if there is, he's not listening. And if he's listening, all you're doing is pissing him off.
1. ich möchte dass man nur noch posten kann wenn man vor dem senden einen 4stelligen zahlencode eingibt. wie schaff ich es eine warnung auszugeben, wenn der inhalt des textfeldes NICHT die zahlenkombination ist?
...
Zitat von Armitage2k
2. kann man ein textfeld erstellen wo man nur zahlen eingeben kann?
...
Hab auf die Schnelle irgendwie nix gefunden, zum ueber pruefen reicht aber auch die obere Methode. Ich glaub aber das es sowas nicht gibt.
Zitat von Armitage2k
3. neuerdings hat ein Spambot den tollen trick dass er mir eine java weiterleitung ins kommentarfeld schreibt. sobald also die textfile mit dem inhalt geladen wird, wird mein besucher sofort wo anders hingeleitet.
wie kann ich überprüfen lassen ob im text des textfeldes "kommentar" wörter bzw. zeichen enthalten sind?
...
Schmeisst alles Unnoetige aus dem String bevor es eingetragen wird.
Ueberpruefen/Nach einem Wort suchen und gleich austauschen kannste so:
Wobei man das natürlich leicht umgehen kann. Sicherer wäre es da, serverseitig in eine Textdatei oder performanter in ne Datenbank die Nummer, die erschienen ist, zu speichern und sie dann wieder von dort bei der Prüfung abruft.
Muss man sich halt nen Cronjob einrichten, der die überfälligen Einträge nach ner Zeit wieder löscht.
Zu 2: Naja, du könntest mit Javascript prüfen, ob die Eingabe eine Zahl ist und sie im Nein-Falle gerade wieder löschen.
Aber wozu eigentlich? Damit machst du die Sache doch nur unnötig kompliziert.
Wobei man das natürlich leicht umgehen kann. Sicherer wäre es da, serverseitig in eine Textdatei oder performanter in ne Datenbank die Nummer, die erschienen ist, zu speichern und sie dann wieder von dort bei der Prüfung abruft.
Muss man sich halt nen Cronjob einrichten, der die überfälligen Einträge nach ner Zeit wieder löscht.
...
Das kann man ja dann in die Variable schreiben, sollte ja auch nur nen einfaches bsp. sein.
das mit dem zahlencode habt ihr anscheinend nicht ganz verstanden:
ich möchte wenn jemand NICHT die Zahlen 1234 in das textfeld schreibt (das bedeutet irgendwelche anderen Zahlen ODER auch gar nichts) dass dann die Fehlermeldung angezeigt wird.
wie stell ich es also an dass wenn das textfeld nicht gleich ist wie die gewünschte zahl die ich in einer variabek zugewiesen bzw. leer ist, eine Fehlermeldung angezeigt wird?
Danke,
A2k
EDIT:
Ich hab jetzt selber mal ein bisschen gebastelt und dabei das hier rausbekommen:
wie ihr seht hab ich folgende 2 Veränderungen vorgenommen:
1. es wurden html variablen usw. aus der eingabe entfernt
2. für den fall dass die code eingabe leer bzw. falsch ist:
das funktioniert auch ganz gut, abgesehen davon dass ich sobald ich das formular abgeschickt habe (mit dem richtigen code) ich bei meinem parser hängen bleibe!! das script arbeitet einfach nicht mehr weiter und ich weiss nicht wirklich warum... ideen?
thx
--
The problem with America is stupidity.
I'm not saying there should be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself?
----
Arguing with the moderators is like shaking your fist at God. There's nobody there; and if there is, he's not listening. And if he's listening, all you're doing is pissing him off.
Geändert von Armitage2k (20.05.2007 um 00:02 Uhr)
Grund: massive information
wie stell ich es also an dass wenn das textfeld nicht gleich ist wie die gewünschte zahl die ich in einer variabek zugewiesen bzw. leer ist, eine Fehlermeldung angezeigt wird?
...
Javascript?:
So etwas in dem Stil. Ich habs geprüft, sollte gehen, ich habe 'code' einfach durch eine Zahl ersetzt, das Problem ist jetzt, wie du 'code' in das Javascript bekommst. Ginge vielleicht mit einem verstecktem Element.
Javascript?:
So etwas in dem Stil. Ich habs geprüft, sollte gehen, ich habe 'code' einfach durch eine Zahl ersetzt, das Problem ist jetzt, wie du 'code' in das Javascript bekommst. Ginge vielleicht mit einem verstecktem Element.
...
die idee ist ja an und für sich ganz nett, allerdings hab ich da ein kleines problem: sobald ich das textfeld für den code anklicke, dort einen falschen code eingeibe und dann auf senden klicke, erscheint ein popup mit der warnung. wenn ich da auf ok klicke und dann auf speichern, wird der eintrag trotzdem geschrieben.
da ich ausserdem mit JS nicht viel zu tun habe, würd ich trotzdem lieber bei meiner PHP variante bleiben. kann mir jemand sagen warum sich mein script mitten untern ausführen aufhängt?
thx,
A2k
--
The problem with America is stupidity.
I'm not saying there should be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself?
----
Arguing with the moderators is like shaking your fist at God. There's nobody there; and if there is, he's not listening. And if he's listening, all you're doing is pissing him off.
Ok, ich glaube das hat sich gerade erledigt.
Irgendwie hat sich ein "return" zuviel im code eingeschlichen, sobald das entfernt wurde, ging alles tadellos.
THX,
A2k
--
The problem with America is stupidity.
I'm not saying there should be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself?
----
Arguing with the moderators is like shaking your fist at God. There's nobody there; and if there is, he's not listening. And if he's listening, all you're doing is pissing him off.
Noch eine kleine Anmerkung: Wenn du das mit Javascript machst, kannst du dir die Sache mit dem Captcha auch direkt sparen - Wenn du dem Client (und damit auch den Bots) den Code schickst, kann dieser die Abfrage natürlich leicht umgehen - oder man schaltet einfach Javascript aus und schon kann man wieder wunderbar rumspammen. Zumal Bots überhaupt kein Javascript ausführen können...
Noch eine kleine Anmerkung: Wenn du das mit Javascript machst, kannst du dir die Sache mit dem Captcha auch direkt sparen - Wenn du dem Client (und damit auch den Bots) den Code schickst, kann dieser die Abfrage natürlich leicht umgehen - oder man schaltet einfach Javascript aus und schon kann man wieder wunderbar rumspammen. Zumal Bots überhaupt kein Javascript ausführen können...
...
Ok, da haste recht. Hab ich nicht bedacht. Wäre Schwachsinn. I'm Sorry >_< .