php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.12.2008, 15:07  
Benutzer
 
Benutzerbild von Silent
 
Registriert seit: 21.12.2008
Beiträge: 87
Silent befindet sich auf einem aufstrebenden Ast
Standard Überprüfung, ob ein oder mehrere Wörter in ein Input-Feld eingegeben wurden

Hallo bin Neueinsteiger was PHP angeht, übe zwischendurch immer wieder und schreibe kleine Scripte. Manchmal klappts gut und manchmal weiß ich einfach nicht weiter - drum bin ich hier gelandet

Meine Frage also: wie kann ich überprüfen, ob ein oder mehrere Wörter bzw. Strings in ein Input-Feld eingegeben wurden, um dann hinterher mit "echo" irgendwas auszugeben?
Ich hab das mal versucht folgendermaßen zu lösen, aber es funktioniert irgendwie nicht.

PHP-Code:
$badwords = array ("sex""viagra");

... 

    elseif(
$_POST['text'] == "")
        {
        for(
$i=0$icount($badwords); $i++)
            {
            
$badwords[$i] == $_POST['text'];
            }
        echo 
"schreiben Sie ein paar vernünftige Zeilen! <a href='javascript:history.back();'>zur&uuml;ck</a>";
        } 
Was mach ich falsch oder wie wäre es besser zu lösen?
Silent ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.12.2008, 15:17  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Schau dir mal stristr() oder preg_match() an.

Themenmoderation:
[…] Thema freigeschaltet
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 21.12.2008, 16:52  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zähl doch einfach die Leerzeichen!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 21.12.2008, 17:51  
Benutzer
 
Benutzerbild von Silent
 
Registriert seit: 21.12.2008
Beiträge: 87
Silent befindet sich auf einem aufstrebenden Ast
Standard

Hallo
@manko
Das Problem ist nur irgendwie, dass ich stristr() oder strpos() als scheinbar immer nur ein Suchwort eingeben kann.

@nikosch
Das mit dem Leerzeichen zählen das verstehe ich nicht, was du damit meinst bzw. wie mir das weiterhelfen kann...

Ich versucht das mal anders zu beschreiben:
ich will schlichtweg überprüfen, ob in der Variable $text = $_POST['text'], einer der Strings aus dem Array $badwords = array ("blödmann", "arsch", "wichser"), vorkommt. Und wenn das der Fall sein sollte, soll er mir irgendein echo ausgeben
Silent ist offline  
Alt 21.12.2008, 18:13  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ach so, Bad word filter! Willst Du einen Text untersuchen oder ein einzelnes Wort?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 21.12.2008, 18:16  
Benutzer
 
Benutzerbild von Silent
 
Registriert seit: 21.12.2008
Beiträge: 87
Silent befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Ach so, Bad word filter! Willst Du einen Text untersuchen oder ein einzelnes Wort?

einen Text, den ein User in ein Input-Feld eingibt will ich auf bestimmte Badwords überprüfen Diese Badwords habe ich in einem Array gespeichert.
Silent ist offline  
Alt 21.12.2008, 18:40  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

PHP-Code:
$badwords = array ('sex''viagra'); 
if ( 
in_array(trim($_POST['text']),$badwords) ) {
  echo 
'so was sagt man nicht!';

__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
Alt 21.12.2008, 18:40  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Je nach Genauigkeit können Dich
stristr / strpos
reguläre Audrücke
oder kompliziertere/kombinierte Verfahren weiterbringen. Und ja, Du wirst wohl eine Schleife benutzen müssen, weil Du praktisch m Worte gegen n Worte prüfst. Oder Du machst ein Array Intersect. Das geht dann aber nur für direkte Übereinstimmung.

@Wolla: "Text" meint vermutlich mehrere Wörter (Phrasen, Absätze...). Darauf zielte schon meine obige Frage ab.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 21.12.2008, 18:58  
Benutzer
 
Benutzerbild von Silent
 
Registriert seit: 21.12.2008
Beiträge: 87
Silent befindet sich auf einem aufstrebenden Ast
Standard

@nikosch
Das heißt ich müsste mit strpos() beispielsweise immer einzeln nach einem badwort suchen? Eine direkte Gegenüberstellung wäre zumindest schon mal ein Anfang

@wolla
dein Vorschlag funktioniert soweit. Allerdings auch nur, wenn eines der Badwords einzeln auftaucht. Wenn es in einem längeren Text auftaucht oder mehrere der Badwords, dann funktionierts nicht.
Silent ist offline  
Alt 21.12.2008, 19:28  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Zitat:
@manko
Das Problem ist nur irgendwie, dass ich stristr() oder strpos() als scheinbar immer nur ein Suchwort eingeben kann.
Deshalb preg_match().
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
input text oder textarea feld inhalt mit einem klick löschen noskule HTML, Usability und Barrierefreiheit 10 26.05.2009 21:47
Textanzeige in input feld, wenn der text zu lang ist gaston01 HTML, Usability und Barrierefreiheit 9 21.12.2008 15:20
Quickform Input Feld IE Bug/Problem andrew22 HTML, Usability und Barrierefreiheit 6 05.09.2007 13:43
Width Problem bei input und text Feld suter HTML, Usability und Barrierefreiheit 2 14.02.2007 14:03
Wenn die Seite geladen wurde, Cursor im Input Feld?! &lt;Daniel&gt; HTML, Usability und Barrierefreiheit 15 03.10.2006 09:34
Input feld sperren Marian HTML, Usability und Barrierefreiheit 12 03.09.2006 13:10
input value bei Klicken in das Feld verschwinden lassen max-dhom HTML, Usability und Barrierefreiheit 9 12.06.2006 16:41
Cursorfokus automatisch in ein Input Feld setzen DDogg HTML, Usability und Barrierefreiheit 5 17.05.2006 22:48
[Erledigt] nach x zeichen ins nächste input feld springen HTML, Usability und Barrierefreiheit 3 13.12.2005 11:21
Select Feld nach Überprüfung PHP Tipps 2005-2 4 31.08.2005 22:22
mysql_result ausgabe im input feld Stinger PHP Tipps 2005-2 6 15.06.2005 17:13
wie kann ich von einem JS eingabe feld in ein input schreibe LA-Finest HTML, Usability und Barrierefreiheit 2 07.06.2005 10:21
input feld nicht änder bar HTML, Usability und Barrierefreiheit 3 26.12.2004 18:32
text in ein input feld rein schreiben HTML, Usability und Barrierefreiheit 4 30.10.2004 12:45
Hochkommas in Input Feld PHP Tipps 2004 3 12.06.2004 15:54

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
textarea eingabe auf badword prüfen, php mehrere wörter als eins markieren, php prüfen ob zwei wörter gleich sind, php einzelne wörter in formular sperren, input mehrere wörter, textarea auf badword prüfen, php input wort, stristr mehrere wörter, php stristr mehrere wörter, php string auf mehrere wörter überprüfen, word formular \text zu lang\ prüfen, input field bad word, inputfeld bestimmte wörter, php überprüfen ob mehrere wörter, ein input feld mehrere php, input mehrere worte, html inputfeld bestimmte wörter sperren, php prüfen mehrere wörter, inputfeld eingabe mit überprüfung, welche wörter wurden eingegeben

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum