Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]13124[/thread]

Textarea überprüfungs Problem

Leser: 3


<< >> 3 Einträge, 1 Seite
Gast Gast
 2009-02-10 15:24
#118770 #118770
Hallo,

habe gerade ein Cgi Problem mit dem prüfen ob die Textarea leer ist oder nicht.

So kommen die Links rein:

Code: (dl )
@links = $query->param("links");



Html Formular:
Code: (dl )
1
2
3
4
5
6
7
8
9
<form method="POST" action="add_links.pl">

<input name="option" type="hidden" value="add_links">

<textarea name="links" cols="88" rows="20" wrap="hard"></textarea><br><br>

<input type="submit" value="Add" />

</form>



so überprüfe ich:
Code: (dl )
1
2
3
4
5
6
7
8
my $anzahl = @links;
if ( ($option eq 'add_links') and ($anzahl != 0) ) {
&OK;

}
else {
&NOCHMAL;
}



Irgentwie stimmt da an der If Abfrage was nicht.
Prüfen ob @links definiert ist geht leider nicht, da es ja schon durch den
Code: (dl )
@links = $query->param("links");

definiert wurde.
Auch habe ich versucht zuprüfen ob es leer ist mit != '' oder == ''
Es scheint so als ob ein leerzeichen drin ist, aber wenn ich $links[0] aus geben lasse kann ich nichts makieren.
Jedenfalls geht er immer zur sub "OK" , egal ob die Textarea einen Inhalt hat oder nicht

Wer hilft mir :)

MFG
pq
 2009-02-10 15:41
#118771 #118771
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Gast+2009-02-10 14:24:45--
Es scheint so als ob ein leerzeichen drin ist, aber wenn ich $links[0] aus geben lasse kann ich nichts makieren.

mal ganz unabhängig von deinem eigentlichen problem:
niemals, niemals raten, was in einer variable drin ist.
perl bringt das modul CPAN:Data::Dumper schon ewig mit, damit kannst du grossartig
datenstrukturen debuggen:
Code (perl): (dl )
1
2
3
use Data::Dumper;
local $Data::Dumper::Useqq = 1; # sonderzeichen lesbar ausgeben
print STDERR Dumper \@array; # z.b.


denn mit raten kommt man einerseits selber nicht weiter und wenn wir raten sollen, was bei *dir*
in den variablen steht, wirds dann esoterisch.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
pq
 2009-02-10 15:43
#118772 #118772
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Gast+2009-02-10 14:24:45--
Code: (dl )
@links = $query->param("links");

Html Formular:
Code: (dl )
                <textarea name="links" cols="88" rows="20" wrap="hard"></textarea><br><br>

jetzt mal eine frage: wie kommst du drauf, dass param() eine liste mit mehr als einem element
liefert, wenn du nur eine textarea im formular hast? der inhalt der textarea wird als einziger
string geliefert und sollte in $links[0] stehen, aber dazu siehe mein vorheriges posting, wie
du das überprüfen kannst.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 3 Einträge, 1 Seite



View all threads created 2009-02-10 15:24.