Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Forumlar - Checkbox liefer immer 1 leeren Array [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Forumlar - Checkbox liefer immer 1 leeren Array


 
syco23
07-07-2003, 03:17 
 
Hi,

Ich gehe hier davon aus, dass ein Array mehrere "Felder" besitzt. Wenn diese Nomenklartur falsch ist, bitte korrigieren. ;)

Hier das Formlar <input type="checkbox" name="songwriter[]" value="jim">Jim Morrison <br>
<input type="checkbox" name="songwriter[]" value="ray">Ray Manzarek <br>
<input type="checkbox" name="songwriter[]" value="john">John Densmore <br>
<input type="checkbox" name="songwriter[]" value="robby">Robby Krieger<br>
<input type="checkbox" name="songwriter[]" value="doors">Doors - die ganze Band <br>
und die Auswertung:

$songwriter[] = $HTTP_POST_VARS['songwriter[]'];

// Songwriter ausgeben:
$songwriter_anz = count($songwriter);
$counter = 1;
echo "Anzahl Songwiter: $songwriter_anz <br />";
foreach ($songwriter as $songwriter_aktuell)
{
if ($songwriter_aktuell != "")
{
echo "Sonwriter Nr. $counter : $songwriter_aktuell <br />";
$counter++;
}
}
Das Problem ist, dass das Forumlar immer genau EIN leeres Feld übergibt. Bevor ich die if Abfrage eingebaut hatte wurde immer bei "Anzal Songwriter" einer zuviel angezeigt und bei der Ausgabe erschien immer ALS LETZTES das leer Feld, sprich "Songwriter Nr. [Zahl] "

Wo ist das Problem?

Und wo wir schon mal dabei sind: Wie kann ich einen Array auf leere Indeces / Vektorfelder / Arrayinhalte, oder wie auch immer, prüfen und diese dann entfernen.

Gruß und Thanx wiedermal,
Syco

 
RobertTheHero
07-07-2003, 06:47 
 
$songwriter[] = $HTTP_POST_VARS['songwriter[]'];

da ist das Problem !


$songwriter = $HTTP_POST_VARS['songwriter'];


so muss es heissen. Die Variable in der Checkbox heist ja songwriter, mit [] sachst du php nur, das er songwriter als array behandeln soll, und somit mehrer einträge möglich sind, d.h.


<input type="checkbox" name="songwriter[0]" value="jim">Jim Morrison <br>
<input type="checkbox" name="songwriter[1]" value="ray">Ray Manzarek <br>
<input type="checkbox" name="songwriter[2]" value="john">John Densmore <br>
<input type="checkbox" name="songwriter[3]" value="robby">Robby Krieger<br>
<input type="checkbox" name="songwriter[4]" value="doors">Doors - die ganze Band <br>


wenn du deine checkboxen so schreibst, hast du dasselbe ergebniss, es wird vielleicht nur was deutlischer, das du mit z.B.


$songwriter[1] = $HTTP_POST_VARS['songwriter[1]'];


nur auf die checkbox von 'ray' zugreifst. okay ?

rth

PP alles zu arrays (http://de3.php.net/manual/de/ref.array.php)

 
yezariel
07-07-2003, 08:27 
 
Moint!

Guck mal, hier (http://www.php-resource.de/forum/showthread.php?threadid=21797) gibt es auch ein paar Scriptfetzen dazu. :)

Gruss

Yezariel

 
syco23
08-07-2003, 02:48 
 
Danke euch beiden, jez klappt alles.


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:48 Uhr.