myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Textbox Problem

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 01.07.11, 12:36   #1
Teke1337
<php> echo ''; </php>
 
Registriert seit: Dec 2010
Beiträge: 182
Bedankt: 52
Teke1337 gewöhnt sich langsam dran | 95 Respekt Punkte
Standard Textbox Problem

Guten Tag,

ich habe vor ein neues Projekt zu machen was noch niemand so ungf. bis jetzt jemand hatte. Man kann so zu sagen später dann auch etwas einfügen, was dann in der Datenbank gespeichert ist. Das Problem ist aber: Es dürfen keine Leerzeichen abgesendet werden. Ich habe es schon mit NULL oder empty($varliable) versucht, das geht aber nur wenn die Textbox ganz leer ist. Wie kann ich es schaffen dass wenn Leerzeichen eingegebn werden, dass das einfach nicht möglich ist... Danke!
Teke1337 ist offline   Mit Zitat antworten
Ungelesen 01.07.11, 12:41   #2
eudaimonie
Ist öfter hier
 
Benutzerbild von eudaimonie
 
Registriert seit: Dec 2010
Beiträge: 226
Bedankt: 127
eudaimonie ist noch neu hier! | 0 Respekt Punkte
Standard

Sollen dann immer nur einzelne Wörter eingegeben werden, und da darf am Anfang oder am Ende kein Leerzeichen sein?

Oder sollen auch ganze Sätze eingegeben werden (z.B. "Hallo, mygully ist toll") und da willst du einfach die Leerzeichen rausfiltern?

Bisschen mehr Informationen wären nicht schlecht.. z.B. Was wird genau eingegeben?

Ganz wichtig natürlich noch, was für eine Programmiersprache?
eudaimonie ist offline   Mit Zitat antworten
Ungelesen 01.07.11, 12:51   #3
Teke1337
<php> echo ''; </php>
 
Registriert seit: Dec 2010
Beiträge: 182
Bedankt: 52
Teke1337 gewöhnt sich langsam dran | 95 Respekt Punkte
Standard

Oh ja, entschuldigung. Ich schreibe es in PHP. Leerzeichen sollten nicht dabei sein.

Wenn zum beispiel jemand nur Leerzeichen eingibt und auf Absenden klickt, sollte ein Text kommen wie z.b "Leerzeichen sind nicht erlaubt". Wenn jemand text mit leerzeichen eingibt wie z.b "hallo wie gehts" sollten die leerzeichen weggemacht werden und in der Datenbank als "hallowiegehts" eingefügt werden.
Hatte das schon mit trim($variable); versucht, ging aber nicht.
Teke1337 ist offline   Mit Zitat antworten
Ungelesen 01.07.11, 12:57   #4
eudaimonie
Ist öfter hier
 
Benutzerbild von eudaimonie
 
Registriert seit: Dec 2010
Beiträge: 226
Bedankt: 127
eudaimonie ist noch neu hier! | 0 Respekt Punkte
Standard

trim() entfernt nur die Leerzeichen am Anfang und am Ende eines Strings, die Leerzeichen in der Mitte (also zwischen den Wörtern) werden nicht entfernt.

eine kurze Google-Suche nach "php leerzeichen in string entfernen" hätte dir schneller geholfen, als hier ein Thread aufzumachen, und auf antworten zu warten.

Ein Möglichkeit wäre z.B.

PHP-Code:
<?php 

$string 
'Wort Wort'

echo 
str_replace(' ','',$string); 
//im 1. Argument steht das, was ersetzt werden soll, im 2. steht das, womit es ersetzt werden soll (also nichts "NULL") und im 3. steht der String selbst. 

?>
Das ersetzt einfach alle Leerzeichen durch nichts.
eudaimonie ist offline   Mit Zitat antworten
Ungelesen 01.07.11, 13:05   #5
Teke1337
<php> echo ''; </php>
 
Registriert seit: Dec 2010
Beiträge: 182
Bedankt: 52
Teke1337 gewöhnt sich langsam dran | 95 Respekt Punkte
Standard

Hätte ich genau so gut machen können

if($textbox == "" OR $textbox == " ")

bringt mir genau so wenig.
Ich glaube Du hast mich nicht ganz verstanden.. egal bei welchem Eintrag, Leerzeichen dürfen nicht sein. Immerhin werden die ja dann in die Datenbank gespeichert, und in der Datenbank dürfen KEINE leerzeichen sein...
Teke1337 ist offline   Mit Zitat antworten
Ungelesen 01.07.11, 13:12   #6
eudaimonie
Ist öfter hier
 
Benutzerbild von eudaimonie
 
Registriert seit: Dec 2010
Beiträge: 226
Bedankt: 127
eudaimonie ist noch neu hier! | 0 Respekt Punkte
Standard

ja.. mit meiner Methode entfernst du ja alle Leerzeichen aus dem String. Somit hast du dann deinen String ohne Leerzeichen, denn du in der Datenbank abspeichern kannst.

PHP-Code:
<?php  

$string 
$_POST['textboxname'// Oder wie auch immer du den Inhalt der Textbox im PHP Skript ausliehst  

$neuerString =  str_replace(' ','',$string);  // $neuerString enthält nun den Text, ohne Leerzeichen

// hier kommt der Code, welcher $neuerString in der Datenbank speichert.

?>
eudaimonie ist offline   Mit Zitat antworten
Ungelesen 01.07.11, 17:17   #7
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 01.07.11, 17:53   #8
Thelvan
Erfahrenes Mitglied
 
Registriert seit: Jul 2010
Beiträge: 489
Bedankt: 236
Thelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt Punkte
Standard

Zitat:
Zitat von urga Beitrag anzeigen
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Es wurde doch schon gesagt, dass ihm das nix bringt
Thelvan ist offline   Mit Zitat antworten
Ungelesen 01.07.11, 17:59   #9
Pillewutz
Banned
 
Registriert seit: Jun 2011
Beiträge: 62
Bedankt: 40
Pillewutz ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Teke1337 Beitrag anzeigen
Guten Tag,

ich habe vor ein neues Projekt zu machen was noch niemand so ungf. bis jetzt jemand hatte. Man kann so zu sagen später dann auch etwas einfügen, was dann in der Datenbank gespeichert ist. Das Problem ist aber: Es dürfen keine Leerzeichen abgesendet werden. Ich habe es schon mit NULL oder empty($varliable) versucht, das geht aber nur wenn die Textbox ganz leer ist. Wie kann ich es schaffen dass wenn Leerzeichen eingegebn werden, dass das einfach nicht möglich ist... Danke!
String-Replace gibt es in allen "gängigen" Programmiersprachen!

Und warum entwickelt jemand ein Software-Projekt der
1. keinen sinnvollen Titel zur Beschreibung seines Problems wählen kann? (Was hat eine visuelle Komponente mit der String-Formatierung zu tun?)
2. sein Problem nicht beschreiben kann? (Programmiersprache nicht angegeben und es ist nicht klar was Du genau willst)
3. Google nicht benutzen kann
4. String-Methoden nicht kennt oder einsetzen kann

???
Pillewutz ist offline   Mit Zitat antworten
Ungelesen 01.07.11, 19:26   #10
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Thelvan Beitrag anzeigen
Es wurde doch schon gesagt, dass ihm das nix bringt
stimmt, jetzt wo ichs genau nachlese

eine andere möglichkeit wäre das eingeben von leerzeichen per javas***** zu unterbinden:
Code:
<html>
	<body>
		<s***** type="text/javas*****">
			function keine_leerzeichen (i,e) {
				if(window.event) // IE
				{
					keynum = e.keyCode;
				}
				else if(e.which) // Netscape/Firefox/Opera
				{
					keynum = e.which;
				}
                                return keynum != 32;
                                /*
				keychar = String.fromCharCode(keynum)
				return keychar != ' ';
                                */
			}
		</s*****>

		<form>
			<input type=text name=bla value="" onKeyPress="return keine_leerzeichen(this,event)">
			<input type=submit>
			<textarea onKeyPress="return keine_leerzeichen(this,event)"></textarea>
		</form>
	</body>
</html>
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 01.07.11, 19:39   #11
Pillewutz
Banned
 
Registriert seit: Jun 2011
Beiträge: 62
Bedankt: 40
Pillewutz ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von urga Beitrag anzeigen
stimmt, jetzt wo ichs genau nachlese

eine andere möglichkeit wäre das eingeben von leerzeichen per javas***** zu unterbinden:
Code:
<html>
	<body>
		<s***** type="text/javas*****">
			function keine_leerzeichen (i,e) {
				if(window.event) // IE
				{
					keynum = e.keyCode;
				}
				else if(e.which) // Netscape/Firefox/Opera
				{
					keynum = e.which;
				}
                                return keynum != 32;
                                /*
				keychar = String.fromCharCode(keynum)
				return keychar != ' ';
                                */
			}
		</s*****>

		<form>
			<input type=text name=bla value="" onKeyPress="return keine_leerzeichen(this,event)">
			<input type=submit>
			<textarea onKeyPress="return keine_leerzeichen(this,event)"></textarea>
		</form>
	</body>
</html>
Ist aber keine sichere Methode, da die Restriktion im UI statt findet und nicht in der Anwendung! (Sowas lässt sich auch sehr leicht umgehen...).
Wenn keine Leerzeichen in der DB erlaubt sind (warum eigentlich?), dann muss das beim Einfügen verhindert werden und NIEMALS über das UI.
Pillewutz ist offline   Mit Zitat antworten
Ungelesen 02.07.11, 10:40   #12
eudaimonie
Ist öfter hier
 
Benutzerbild von eudaimonie
 
Registriert seit: Dec 2010
Beiträge: 226
Bedankt: 127
eudaimonie ist noch neu hier! | 0 Respekt Punkte
Standard

Ich habe ihm ja die Lösung mit PHP genannt, die sein Problem löst...
eudaimonie ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr.


Sitemap

().