ich geh davon aus, das Du ein Formular mit post benutzt, dann wäre das
PHP-Code:$i=0; //Zähler
foreach $_POST as $var => $val {
if(substr($var,0,4)=='wert') { // checkbox ist angeklickt
$i++;
}
}
if($i<5) echo "Es ist zuwenig angekreuzt";
Hallo,
also ich habe ein Formular mit 20 Checkboxen. 5 dürfen max. angeklickt sein.
ich dachte mir ich mache eine schleife mit zähler auf 21 und nem anderen zähler, der abfragt ob schon 5 checkboxen markiert sind.
hm, ich mach das leider eindeutig zu selten.
irgendwie habe ich mich verhaspelt...
achja, hatte das noch dunkel aus actionsscript im kopf.
wie kann ich der variablen $wert den wert des zählers anhängen (checkboxen sind wert1 bis wert20). das habe ich wahrscheinlich falsch gemacht hier im code.
hier mal mein ansatz...
danke euch schon mal für hinweise...PHP-Code:<?
$j = 1;
for ($i = 1; $i <= 21; $i++)
{
if ($j <= 6)
{
if ($wert.($i)=="v")
{
$j++;
}
}
else
{
echo "Bitte nur 5 Werte wählen!";
}
}
?>
lg
nicole
nicnac1
~~~~~~~~~~~~
was wäre ich bloß ohne euch!
ich geh davon aus, das Du ein Formular mit post benutzt, dann wäre das
PHP-Code:$i=0; //Zähler
foreach $_POST as $var => $val {
if(substr($var,0,4)=='wert') { // checkbox ist angeklickt
$i++;
}
}
if($i<5) echo "Es ist zuwenig angekreuzt";
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
Ich wuerde das in Javaacript regeln, da du ansonsten fuer den user einen ueberfluessigen schritt verursachst. Wenn du es doch in php machen moechtest. Alle checkboxen als ein array und dann so was...
PHP-Code:if (count ($checkboxen_array)>5) exit("nicht mehr als 5");
Die Javascriptlösung würde nur alternativ anbieten. Denn geht jemand mit deaktiviertem JS auf die Seite und klickt mehr als 5 Stück an. Dann ist die Konsistenz der Daten gefährdet, weil man ja nicht wissen kann, welche 5 es sein sollen, wenn keine weitere Prüfung mehr erfolgt..
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
hallo,
danke für das feedback.
@ adromir
welche 5 ist egal. ich tendiere trotzdem lieber zu php als zu js weil es genau so sehe. ich habe sehr viele kunden die abschalten.
@ St@eff.en
danke. ich versuch es gerade auseinanderzupuzzlen um es zu verstehen.
@ Muschpusch
hm, dir auch danke. typisch. ich muß wohl doch mal mit einem buch unter dem kopfkissen schlafen gehen.
melde mich wenn es noch probs gibt.
lg
nicole
nicnac1
~~~~~~~~~~~~
was wäre ich bloß ohne euch!
@Adromir: Da haste recht aber es ist auch unnoetig um jemanden erst etwas machen zu lassen und dann zu sagen: so nicht. Wenn es gleich moeglich ist, gleich melden und dem user jeden unnoetigen schritt ersparen...
@ MuschPusch
Recht hast du. Aber trotzdem verzichte ich lieber auf js
@St@eff.en
sag mal, warum benutzt du eigentlich substr()
das versteh ich nicht?!
lg
Nicole
nicnac1
~~~~~~~~~~~~
was wäre ich bloß ohne euch!
ja, das kann man ja zusätzlich machen.
So etwas würde ich dann in den submit-button packen
<input type="submit" onclick="if(zaehlecheckboxen()<5){alert('Bitte mehr ankreuzen!';return false;}" ...
@nicnac1
substr weil die checkboxen-namen alle mit wert anfangen, die sollen ja nur gezählt werden. Die anderen inputs und buttons sind dafür ja nicht relevant.
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
@Muschpusch: Du hast natürlich recht, daß man nur so viel dem Surfer aufbürden sollte wie möglich. Deswegen kann man ja auch beides anbieten..
@nicnac1: Wenn die Eingabe der Daten sowieso egal ist, warum lässt du dann die Prüfung nicht ganz weg und nimmst immer nur die ersten 5 Werte, bzw. befüllst dann fehlende Eingaben über das Script.. Oder lässt die Eingabe gleich ganz weg?
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
so.
dann mal ganz kurz zur Erklärung.
das ist nur eine Umfrage wo 20 Werte zur Verfügung stehen und 5 davon darf jeder auswählen.
da es anonym sein soll, wollen wir keine anderen daten dazunehmen.
lg
nicole
nicnac1
~~~~~~~~~~~~
was wäre ich bloß ohne euch!
Aber wenn Eingabefehler nicht vernünftig korrigiert werden, dann hat die Umfrage keinerlei Aussagekraft..
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
@ Adromir
aber es werden doch nur Häckchen gesetzt. 5 Stck dürfen. Sprich wenn es zu viele sind, gibt es eine Fehlermeldung. So kann man sich von den überzähligen diejenigen aussuchen, deren Gewichtung nicht so hoch ist.
Oder versteh ich jetzt irgendwas falsch?
lg
nicole
nicnac1
~~~~~~~~~~~~
was wäre ich bloß ohne euch!
Dann hab ich dich falsch verstanden. So ist natürlich alles in Ordnung..
Ich würde das dann vom Prinzip her eher wie Muschpusch machen.
Die Daten in ein Array speichern und dann die Anzahl der Elemente im Array zählen..
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
![]()
und wie mach ich das?
also wie kriege ich die POSTs in das array?
lg
nicole
nicnac1
~~~~~~~~~~~~
was wäre ich bloß ohne euch!
Indem du die Namen von input-tags etwa so gestaltest:Zitat von nicnac1
Also ein [] hinten. Ansprechen kannst du dann dieses Array mit $_POST['array'][...].PHP-Code:<input name="array[]" />
<input name="array[]" />
<input name="array[]" />
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)