Seite 1 von 1

php bzw java-Frage

Verfasst: 09.05.2007, 07:51
von lala
Hallo,

fange gerade an, mich mit php zu beschäftigen. Habe es geschafft, ein Formular zu schreiben, in das User Text eingeben können. Nun möchte ich noch Folgendes realisieren:

In dem einen Texteingabefeld (textarea) möchte ich ein Minimum an Zeichen vorgeben. Habe schon gesucht, aber nur einen Code für ein Maximum gefunden. Der lautet wie folgt:

<!-- Diesen Code musst Du in den head-Tag einfügen-->
<script>

var ns6=document.getElementById&&!document.all

function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}

function countlimit(maxlength,e,placeholder){
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder)){
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}


function displaylimit(theform,thelimit){
var limit_text='<b><span id="'+theform.toString()+'">'+thelimit+'</span></b> characters remaining on your input limit'
if (document.all||ns6)
document.write(limit_text)
if (document.all){
eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
}
else if (ns6){
document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true);
document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true);
}
}

</script>

<!-- Diesen Code musst Du in den <body> einfügen.-->

<form name="sampleform">

<input type="text" name="george" size=20><br>
<script>
displaylimit("document.sampleform.george",5)
</script>
<p>
<textarea name="john" cols=25 rows=15>

Was muss ich nun tun, um z.B. anzuzeigen, dass wenigsten 500 Zeichen eingegeben werden müssen? Welche andere Möglichkeit gibt es vielleicht noch? Soooo viel Code :(

Nächste Frage: Ich möchte das in WordPress auf eine Seite einbauen. Da gibt es ja die header.php, die für alle Seiten zählt. Muss ich dann dorthin was reinschreiben, da die eigentliche Seite ja gar keinen eigenen header hat?

Ich weiss, viele Fragen - würde mich aber freuen, wenn mir jemand helfen könnte.

Liebe Grüße

lala

Verfasst:
von

Verfasst: 09.05.2007, 08:05
von godzilla
dein Code ist Javascript!
Wenn ein Browser Javascript off hat. funktioniert dein schön abgeschriebener Code nicht.

Verfasst: 09.05.2007, 08:07
von lala
@godzilla

Leider habe ich nur das gefunden. Möchte das auch nicht unbedingt mit javascript lösen, wenn es eine andere Möglichkeit gibt.

Liebe Grüße

lala

Verfasst: 09.05.2007, 08:18
von godzilla
naja, dann würde ich vorschlagen du löst das Serverseitig.

PHP:
if(strlen ($string ) < 500 ){
// gibt laut: zuwenig Zeichen
} else {
// tu was
}

beachte: PHP zählt mit strlen() alle alphanum. Zeichen!

Verfasst: 09.05.2007, 08:26
von lala
Vielen Dank. Und wo muss ich das dann reinbauen? Das betreffende Feld lautet

<tr>
<td><b><style="size:12px;">Artikel</b></td><td><textarea name="artikel" rows="10" cols="40" style="border: thin groove; padding:5px;"></textarea></td>
</tr>

Das ganze Formular fängt mit <form action="/system-cgi/formmail.pl" method="post"> an.

Wenn ich Deinen Code einbaue, sieht dann der User, wieviele Zeichen noch fehlen bzw. wie viele er schon getippt hat? Oder kann er das Formular dann einfach nicht absenden? (Was ja irgendwie blöd wäre)

Hoffe, ich nerve mit meinen "dilletantischen" Fragen nicht.

Liebe Grüße

lala

Verfasst: 09.05.2007, 08:31
von Ibu400
dein Code ist Javascript!
Wenn ein Browser Javascript off hat. funktioniert dein schön abgeschriebener Code nicht.
naja 97,7% haben Java aktiviert ;-) https://www.webhits.de/deutsch/index.sh ... stats.html

Verfasst: 09.05.2007, 08:34
von godzilla
<form action="/system-cgi/formmail.pl" method="post">

dein Formular wird an ein Perl-Skript geschickt!
Um wirklich sicher zu gehen das der User alles anständig ausgefüllt hat.
Musst du die Eingaben auf dem Server, in dem Skript das die Daten entgegen nimmt validieren. In deinem Fall in dem formmail.pl.
Da aber "formmail.pl" stark nach einem bekannten Hoster aussieht kannst du dir das sparen die haben das nämlich schon eingebaut bzw. kommst du an das Skript sowieso nicht dran.

Verfasst: 09.05.2007, 08:36
von godzilla
Ibu400 hat geschrieben:
dein Code ist Javascript!
Wenn ein Browser Javascript off hat. funktioniert dein schön abgeschriebener Code nicht.
naja 97,7% haben Java aktiviert ;-) https://www.webhits.de/deutsch/index.sh ... stats.html

EIN EINZIGER böser Bursche der Javascript OFF hat reicht um meinen Server abzuschießen!

Verfasst: 09.05.2007, 08:48
von lala
Also wenn ich im Firefox surfe, habe ich scripte auch deaktiviert. Die lasse ich erst dann zu, wenn ich es für nötig halte. Im IE habe ich sie aktiviert; den benutze ich aber nur selten.

@godzilla

Der Code
PHP:
if(strlen ($string ) < 500 ){
// gibt laut: zuwenig Zeichen
} else {
// tu was
}
wo muss denn der hin?

Hilft es, wenn ich vielleicht mal die betreffende url poste, wo das rein soll?

Vielen Dank einstweilen

lala

Verfasst: 09.05.2007, 09:06
von godzilla
<form action="/system-cgi/formmail.pl" method="post">

dein Formular wird an ein Perl-Skript geschickt!
Um wirklich sicher zu gehen das der User alles anständig ausgefüllt hat.
Musst du die Eingaben auf dem Server, in dem Skript das die Daten entgegen nimmt validieren. In deinem Fall in dem formmail.pl.
Da aber "formmail.pl" stark nach einem bekannten Hoster aussieht kannst du dir das sparen die haben das nämlich schon eingebaut bzw. kommst du an das Skript sowieso nicht dran.
Der strlen teil muss in das Skript das die Daten vom Formular entgegen nimmt.
Das wäre das formmail.pl <------- Das ist aber ein Perl Skript! PHP und PERL Passt nicht. Vermutlich ein Skript vom Hoster, die sollten das eingebaut haben.

Verfasst: 09.05.2007, 09:13
von lala
Also kann ich das gar nicht realisieren, da dieses sogenannte Perl-Script über den Hoster läuft? Ist das nun gut oder schlecht?

Glaube, soviel verstanden zu haben: Vorteil ist, dass ich das Problem mit dem Formularspam nicht habe. Nachteil: Ih kann das mit den "mindestens x Zeichen" nicht realisieren. Richtig verstanden?

lala

Verfasst: 09.05.2007, 09:18
von godzilla
ähm, genau :wink:

Verfasst: 09.05.2007, 18:49
von Flox
Javascript ist nicht Java. Obwohl Java in der Version 6 einen Javascriptinterpreter hat.

Verfasst: 10.05.2007, 04:46
von Nullpointer
dein webspace wird sicher php unterstützen. da du ja eh php lernen willst und nicht perl, suche dir einfach aus den zig tutorials im netz, wie man einen formmailer schreibt, bzw. kopiere den code. dort kannst du dann den code zum begrenzen der zeichen einfügen.

wenn du das geschafft hast, weißt du etwas mehr über php und hast deinen formmailer.
das php script wird dan, anstatt des perl scripts, in dem formular eingebunden, aber ein ordentlichces tutorial erklärt das alles genau.