Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
01.07.11, 12:36
|
#1
|
<php> echo ''; </php>
Registriert seit: Dec 2010
Beiträge: 182
Bedankt: 52
|
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!
|
|
|
01.07.11, 12:41
|
#2
|
Ist öfter hier
Registriert seit: Dec 2010
Beiträge: 226
Bedankt: 127
|
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?
|
|
|
01.07.11, 12:51
|
#3
|
<php> echo ''; </php>
Registriert seit: Dec 2010
Beiträge: 182
Bedankt: 52
|
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.
|
|
|
01.07.11, 12:57
|
#4
|
Ist öfter hier
Registriert seit: Dec 2010
Beiträge: 226
Bedankt: 127
|
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.
|
|
|
01.07.11, 13:05
|
#5
|
<php> echo ''; </php>
Registriert seit: Dec 2010
Beiträge: 182
Bedankt: 52
|
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...
|
|
|
01.07.11, 13:12
|
#6
|
Ist öfter hier
Registriert seit: Dec 2010
Beiträge: 226
Bedankt: 127
|
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.
?>
|
|
|
01.07.11, 17:17
|
#7
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
entropie erfordert keine wartung
|
|
|
01.07.11, 17:53
|
#8
|
Erfahrenes Mitglied
Registriert seit: Jul 2010
Beiträge: 489
Bedankt: 236
|
Zitat:
Zitat von urga
|
Es wurde doch schon gesagt, dass ihm das nix bringt
|
|
|
01.07.11, 17:59
|
#9
|
Banned
Registriert seit: Jun 2011
Beiträge: 62
Bedankt: 40
|
Zitat:
Zitat von Teke1337
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
???
|
|
|
01.07.11, 19:26
|
#10
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
Zitat:
Zitat von Thelvan
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
|
|
|
01.07.11, 19:39
|
#11
|
Banned
Registriert seit: Jun 2011
Beiträge: 62
Bedankt: 40
|
Zitat:
Zitat von urga
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.
|
|
|
02.07.11, 10:40
|
#12
|
Ist öfter hier
Registriert seit: Dec 2010
Beiträge: 226
Bedankt: 127
|
Ich habe ihm ja die Lösung mit PHP genannt, die sein Problem löst...
|
|
|
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
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr.
().
|